diff --git a/.gitignore b/.gitignore index 4c76081d..d0866f65 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ vscode/requirements.txt vscode/server vscode/CHANGELOG.md vscode/package-lock.json +vscode/build diff --git a/vscode/.vscodeignore b/vscode/.vscodeignore index ea1da082..aa7ede9c 100644 --- a/vscode/.vscodeignore +++ b/vscode/.vscodeignore @@ -27,6 +27,7 @@ node_modules/ **/requirements.in **/venv/ **/__pycache__/ +build/ !node_modules/@vscode-elements/elements/** !node_modules/@vscode/codicons/** diff --git a/vscode/build_package.sh b/vscode/build_package.sh index 4914e4a1..9cb40b45 100755 --- a/vscode/build_package.sh +++ b/vscode/build_package.sh @@ -30,10 +30,10 @@ if { [[ $(( ${version_list[1]} % 2 )) -eq 1 && $(( ${version_list[0]} )) -ne 0 ]] }; then echo "pre-release version $PACKAGE_VERSION" - nox --session build_package_prerelease -- "$@" + nox --session build_package_prerelease -- $PACKAGE_VERSION "$@" else echo "release version $PACKAGE_VERSION" - nox --session build_package -- "$@" + nox --session build_package -- $PACKAGE_VERSION "$@" fi read -n 1 -s -r -p "Press any key to close..." \ No newline at end of file diff --git a/vscode/noxfile.py b/vscode/noxfile.py index 55e57eb0..4ffd8704 100644 --- a/vscode/noxfile.py +++ b/vscode/noxfile.py @@ -90,13 +90,13 @@ def build_specific_target(session: nox.Session, target: str, debug: bool) -> Non else: print(f"Unknown target: {target}") return - if not Path(f"../server/target/{rust_target}/{status}/{file_name}").is_file(): + if not Path(f"../server/target/{rust_target}/release/{file_name}").is_file(): print(f"Unable to find odoo_ls_server binary for {target}, please build the server first.") return - session.run("cp", f"../server/target/{rust_target}/{status}/{file_name}", file_name, external=True) + session.run("cp", f"../server/target/{rust_target}/release/{file_name}", file_name, external=True) if take_pdb: - if Path(f"../server/target/{rust_target}/{status}/odoo_ls_server.pdb").is_file(): - session.run("cp", f"../server/target/{rust_target}/{status}/odoo_ls_server.pdb", "odoo_ls_server.pdb", external=True) + if Path(f"../server/target/{rust_target}/release/odoo_ls_server.pdb").is_file(): + session.run("cp", f"../server/target/{rust_target}/release/odoo_ls_server.pdb", "odoo_ls_server.pdb", external=True) else: print(f"Unable to find odoo_ls_server.pdb for {target}, please build the server first.") return @@ -112,7 +112,7 @@ def build_specific_target(session: nox.Session, target: str, debug: bool) -> Non def get_targets(session: nox.Session) -> List[str]: """Returns the list of targets to build.""" res = [] - for arg in session.posargs: + for arg in session.posargs[1:]: if arg == "all": if len(res) > 0: print("You can't use all if specific targets are already specified.") @@ -155,6 +155,7 @@ def build_package(session: nox.Session) -> None: session.run("cp", "../changelog.md", "changelog.md", external=True) for target in targets: build_specific_target(session, target, False) + session.run("mv", f"odoo-{target}-{session.posargs[0]}.vsix", f"build/{session.posargs[0]}/odoo-{target}-{session.posargs[0]}.vsix", external=True) session.run("rm", "-r", "typeshed", external=True) session.run("rm", "-r", "additional_stubs", external=True) session.run("rm", "changelog.md", external=True) @@ -162,6 +163,8 @@ def build_package(session: nox.Session) -> None: @nox.session() def build_package_prerelease(session: nox.Session) -> None: """Builds VSIX package for publishing.""" + os.makedirs("build", exist_ok=True) + os.makedirs(f"build/{session.posargs[0]}", exist_ok=True) targets = get_targets(session) _setup_template_environment(session) session.run("npm", "install", external=True) @@ -169,7 +172,8 @@ def build_package_prerelease(session: nox.Session) -> None: copy_dir(session, "../server/additional_stubs", "additional_stubs") session.run("cp", "../changelog.md", "changelog.md", external=True) for target in targets: - build_specific_target(session, target, False) + build_specific_target(session, target, True) + session.run("mv", f"odoo-{target}-{session.posargs[0]}.vsix", f"build/{session.posargs[0]}/odoo-{target}-{session.posargs[0]}.vsix", external=True) session.run("rm", "-r", "typeshed", external=True) session.run("rm", "-r", "additional_stubs", external=True) session.run("rm", "changelog.md", external=True)