Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorj.delarago <joeydelarago@gmail.com>2022-06-30 16:08:46 +0300
committerj.delarago <joeydelarago@gmail.com>2022-06-30 16:08:46 +0300
commitafa899cf21acbfc1a9e12bce61c9df8eb1dffce8 (patch)
tree8d71a04b2ce2f4ba23b4b1d505ccf6eca6c673ca /packaging
parenta2da68d806cac7d10b3e11a5fd8c1a5b00f4c096 (diff)
Add dmg building script 😎
CURA-9365
Diffstat (limited to 'packaging')
-rw-r--r--packaging/dmg_sign_noterize.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/packaging/dmg_sign_noterize.py b/packaging/dmg_sign_noterize.py
new file mode 100644
index 0000000000..66e49c728d
--- /dev/null
+++ b/packaging/dmg_sign_noterize.py
@@ -0,0 +1,72 @@
+import os
+import subprocess
+
+SOURCE_DIR = os.environ.get("SOURCE_DIR", ".")
+DIST_DIR = os.environ.get("DIST_DIR", os.path.join(SOURCE_DIR, "dist"))
+
+INSTALLER_FILENAME = "Ultimaker-Cura.dmg"
+DMG_PATH = INSTALLER_FILENAME
+ULTIMAKER_CURA_APP_PATH = os.path.join("dist/Ultimaker-Cura.app")
+
+ULTIMAKER_CURA_DOMAIN = os.environ.get("ULTIMAKER_CURA_DOMAIN", "nl.ultimaker.cura")
+
+
+def build_dmg() -> None:
+ create_dmg_executable = os.environ.get("CREATE_DMG_EXECUTABLE", "create-dmg")
+
+ arguments = [create_dmg_executable,
+ "--window-pos", "640", "360",
+ "--window-size", "690", "503",
+ "--app-drop-link", "520", "272",
+ "--volicon", f"{SOURCE_DIR}/packaging/VolumeIcons_Cura.icns",
+ "--icon-size", "90",
+ "--icon", "Ultimaker-Cura.app", "169", "272",
+ "--eula", f"{SOURCE_DIR}/packaging/cura_license.txt",
+ "--background", f"{SOURCE_DIR}/packaging/cura_background_dmg.png",
+ DMG_PATH,
+ DIST_DIR]
+
+ subprocess.run(arguments)
+
+
+def sign() -> None:
+ codesign_executable = os.environ.get("CODESIGN", "/usr/bin/codesign")
+ codesign_identity = os.environ.get("CODESIGN_IDENTITY", "test")
+
+ sign_command = f"""
+ {codesign_executable}
+ -s {codesign_identity}
+ --timestamp
+ -i {ULTIMAKER_CURA_DOMAIN}.dmg
+ {DMG_PATH}
+ """
+
+ subprocess.Popen(sign_command)
+
+
+def notarize() -> None:
+
+ notarize_user = os.environ.get("NOTARIZE_USER")
+ notarize_password = os.environ.get("NOTARIZE_PASSWORD")
+ altool_executable = os.environ.get("ALTOOL_EXECUTABLE", "/Applications/Xcode.app/Contents/Developer/usr/bin/altool")
+
+ notarize_command = f"""
+ xcrun {altool_executable}
+ --notarize-app
+ --primary-bundle-id {ULTIMAKER_CURA_DOMAIN}
+ --username {notarize_user}
+ --password {notarize_password}
+ --file {DMG_PATH}
+ """
+
+ subprocess.Popen(notarize_command)
+
+
+if __name__ == "__main__":
+ build_dmg()
+ sign()
+
+ # notarize_dmg = bool(os.environ.get("NOTARIZE_DMG", "TRUE"))
+ # if notarize_dmg:
+ # notarize()
+