mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 16:28:59 +08:00
Require explicit arguments
This commit is contained in:
parent
67924d2e37
commit
3ac81e54c0
@ -7,6 +7,7 @@ import os
|
|||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import uuid
|
import uuid
|
||||||
|
import semver
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
@ -20,11 +21,12 @@ def work_path(filename: Path) -> Path:
|
|||||||
return filename.parent
|
return filename.parent
|
||||||
|
|
||||||
|
|
||||||
def generate_wxs(source_path: Path, dist_path: Path, filename: Path, app_name: str):
|
def generate_wxs(source_path: Path, dist_path: Path, filename: Path, app_name: str, version: str):
|
||||||
source_loc = Path(os.getcwd(), source_path)
|
source_loc = Path(os.getcwd(), source_path)
|
||||||
dist_loc = Path(os.getcwd(), dist_path)
|
dist_loc = Path(os.getcwd(), dist_path)
|
||||||
work_loc = work_path(filename)
|
work_loc = work_path(filename)
|
||||||
work_loc.mkdir(parents=True, exist_ok=True)
|
work_loc.mkdir(parents=True, exist_ok=True)
|
||||||
|
parsed_version = semver.Version.parse(version)
|
||||||
|
|
||||||
jinja_template_path = Path(source_loc.joinpath("packaging", "msi", "UltiMaker-Cura.wxs.jinja"))
|
jinja_template_path = Path(source_loc.joinpath("packaging", "msi", "UltiMaker-Cura.wxs.jinja"))
|
||||||
with open(jinja_template_path, "r") as f:
|
with open(jinja_template_path, "r") as f:
|
||||||
@ -33,10 +35,10 @@ def generate_wxs(source_path: Path, dist_path: Path, filename: Path, app_name: s
|
|||||||
wxs_content = template.render(
|
wxs_content = template.render(
|
||||||
app_name=f"{app_name}",
|
app_name=f"{app_name}",
|
||||||
main_app="UltiMaker-Cura.exe",
|
main_app="UltiMaker-Cura.exe",
|
||||||
version=os.getenv('CURA_VERSION_FULL'),
|
version=version,
|
||||||
version_major=os.environ.get("CURA_VERSION_MAJOR"),
|
version_major=str(parsed_version.major),
|
||||||
version_minor=os.environ.get("CURA_VERSION_MINOR"),
|
version_minor=str(parsed_version.minor),
|
||||||
version_patch=os.environ.get("CURA_VERSION_PATCH"),
|
version_patch=str(parsed_version.patch),
|
||||||
company="UltiMaker",
|
company="UltiMaker",
|
||||||
web_site="https://ultimaker.com",
|
web_site="https://ultimaker.com",
|
||||||
year=datetime.now().year,
|
year=datetime.now().year,
|
||||||
@ -111,12 +113,13 @@ def build(dist_path: Path, filename: Path):
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser(description="Create Windows msi installer of Cura.")
|
parser = argparse.ArgumentParser(description="Create Windows msi installer of Cura.")
|
||||||
parser.add_argument("source_path", type=Path, help="Path to Conan install Cura folder.")
|
parser.add_argument("--source_path", type=Path, help="Path to Conan install Cura folder.")
|
||||||
parser.add_argument("dist_path", type=Path, help="Path to Pyinstaller dist folder")
|
parser.add_argument("--dist_path", type=Path, help="Path to Pyinstaller dist folder")
|
||||||
parser.add_argument("filename", type=Path,
|
parser.add_argument("--filename", type=Path,
|
||||||
help="Filename of the exe (e.g. 'UltiMaker-Cura-5.1.0-beta-Windows-X64.msi')")
|
help="Filename of the exe (e.g. 'UltiMaker-Cura-5.1.0-beta-Windows-X64.msi')")
|
||||||
parser.add_argument("name", type=str, help="App name (e.g. 'UltiMaker Cura')")
|
parser.add_argument("--name", type=str, help="App name (e.g. 'UltiMaker Cura')")
|
||||||
|
parser.add_argument("--version", type=str, help="The full cura version, e.g. 5.9.0-beta.1+24132")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
generate_wxs(args.source_path.resolve(), args.dist_path.resolve(), args.filename.resolve(), args.name)
|
generate_wxs(args.source_path.resolve(), args.dist_path.resolve(), args.filename.resolve(), args.name, args.version)
|
||||||
cleanup_artifacts(args.dist_path.resolve())
|
cleanup_artifacts(args.dist_path.resolve())
|
||||||
build(args.dist_path.resolve(), args.filename)
|
build(args.dist_path.resolve(), args.filename)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user