diff --git a/.github/workflows/nuitka.yml b/.github/workflows/nuitka.yml index 0fdf414e..3f0652c8 100644 --- a/.github/workflows/nuitka.yml +++ b/.github/workflows/nuitka.yml @@ -17,16 +17,17 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Set up Visual Studio environment if: success() uses: seanmiddleditch/gha-setup-vsdevenv@master - - name: Set up Python 3.10.4 (x64) + - name: Set up Python 3.12.4 (x64) if: success() - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: - python-version: 3.10.4 + python-version: 3.12.4 architecture: x64 + cache: pip - name: Create virtual environment if: success() run: python -m venv env @@ -38,7 +39,7 @@ jobs: run: python D:\a\pyro\pyro\build.py --no-zip - name: Upload artifact if: success() - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: pyro-master-${{ github.event.repository.pushed_at }} path: D:\a\pyro\pyro\pyro.dist diff --git a/pyro/PapyrusProject.py b/pyro/PapyrusProject.py index c24dc0a5..1149b7a9 100644 --- a/pyro/PapyrusProject.py +++ b/pyro/PapyrusProject.py @@ -298,6 +298,24 @@ def _parse_variables(self, variables_node: etree.ElementBase) -> None: self.variables.update({key: value}) + self.variables.update({ + 'UNIXTIME': str(int(time.time())), + 'PROGRAM_PATH': self.program_path, + 'PROJECT_PATH': self.project_path, + 'O_BSARCH_PATH': self.options.bsarch_path, + 'O_COMPILER_PATH': self.options.compiler_path, + 'O_COMPILER_CONFIG_PATH': self.options.compiler_config_path, + 'O_FLAGS_PATH': self.options.flags_path, + 'O_GAME_PATH': self.options.game_path, + 'O_LOG_PATH': self.options.log_path, + 'O_OUTPUT_PATH': self.options.output_path, + 'O_PACKAGE_PATH': self.options.package_path, + 'O_REGISTRY_PATH': self.options.registry_path, + 'O_REMOTE_TEMP_PATH': self.options.remote_temp_path, + 'O_TEMP_PATH': self.options.temp_path, + 'O_ZIP_OUTPUT_PATH': self.options.zip_output_path + }) + # allow variables to reference other variables for key, value in self.variables.items(): self.variables.update({key: self.parse(value)}) @@ -307,10 +325,6 @@ def _parse_variables(self, variables_node: etree.ElementBase) -> None: value = self.variables[key] self.variables.update({key: self.parse(value)}) - self.variables.update({ - 'UNIXTIME': str(int(time.time())) - }) - def _update_attributes(self, parent_node: etree.ElementBase) -> None: """Updates attributes of element tree with missing attributes and default values""" ppj_bool_keys = [ diff --git a/requirements.txt b/requirements.txt index 42d6cb51..0905cfa1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -lxml -nuitka +lxml>=5.2.2 +nuitka>=2.3.10 psutil==5.9.3 -wcmatch -ordered-set +wcmatch>=8.5.2 +ordered-set>=4.1.0