-
Notifications
You must be signed in to change notification settings - Fork 56
/
get_freecad_version.py
45 lines (35 loc) · 1.56 KB
/
get_freecad_version.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import sys
import os
import subprocess
import platform
from datetime import datetime
import freecad
import FreeCAD
system = platform.platform().split("-")[0]
arch = platform.processor()
# doing this manually for windows
if system == "Windows":
arch = "x86_64"
python_verson = platform.python_version().split(".")
python_verson = "py" + python_verson[0] + python_verson[1]
date = str(datetime.now()).split(" ")[0]
version_info = FreeCAD.Version()
dev_version = version_info[0] + "." + version_info[1]
revision = version_info[2].split(" ")[0]
if system == "macOS":
import jinja2
print("create plist from template")
osx_directory = os.path.join(os.path.dirname(__file__), "..", "osx")
with open(os.path.join(osx_directory, "Info.plist.template")) as template_file:
template_str = template_file.read()
template = jinja2.Template(template_str)
rendered_str = template.render(FREECAD_VERSION="{}-{}".format(dev_version, revision),
APPLICATION_MENU_NAME="FreeCAD-{}-{}".format(dev_version, revision))
with open(os.path.join(osx_directory, "APP", "FreeCAD.app", "Contents", "Info.plist"), "w") as rendered_file:
rendered_file.write(rendered_str)
if "DEPLOY_RELEASE" in os.environ and os.environ["DEPLOY_RELEASE"] == "weekly-builds":
dev_version = "weekly-builds"
package_manager = "conda"
bundle_name = "FreeCAD_{}-{}-{}-{}-{}-{}-{}".format(dev_version, revision, date, package_manager, system, arch, python_verson)
with open("bundle_name.txt", "w") as bundle_name_file:
bundle_name_file.write(bundle_name)