mirror of
				https://gitea.com/actions/setup-python.git
				synced 2025-10-31 19:58:55 +08:00 
			
		
		
		
	Compare commits
	
		
			10 Commits
		
	
	
		
			v5.1.1
			...
			error-mess
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | e283d84e0c | ||
|   | 70dcb22d26 | ||
|   | 65b48c7115 | ||
|   | 29a37be0a3 | ||
|   | f677139bbe | ||
|   | 2bd53f9a4d | ||
|   | 80b49d3ed8 | ||
|   | 036a523674 | ||
|   | 04c1311429 | ||
|   | cb68456441 | 
							
								
								
									
										22
									
								
								.github/workflows/publish-immutable-actions.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								.github/workflows/publish-immutable-actions.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | name: 'Publish Immutable Action Version' | ||||||
|  |  | ||||||
|  | on: | ||||||
|  |   release: | ||||||
|  |     types: [created] | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   publish: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     permissions: | ||||||
|  |       contents: read | ||||||
|  |       id-token: write | ||||||
|  |       packages: write | ||||||
|  |  | ||||||
|  |     steps: | ||||||
|  |       - name: Checking out | ||||||
|  |         uses: actions/checkout@v4 | ||||||
|  |       - name: Publish | ||||||
|  |         id: publish | ||||||
|  |         uses: actions/publish-immutable-action@0.0.1 | ||||||
|  |         with: | ||||||
|  |           github-token: ${{ secrets.GITHUB_TOKEN }} | ||||||
							
								
								
									
										2
									
								
								.licenses/npm/@iarna/toml.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@iarna/toml.dep.yml
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| --- | --- | ||||||
| name: "@iarna/toml" | name: "@iarna/toml" | ||||||
| version: 2.2.5 | version: 3.0.0 | ||||||
| type: npm | type: npm | ||||||
| summary: Better TOML parsing and stringifying all in that familiar JSON interface. | summary: Better TOML parsing and stringifying all in that familiar JSON interface. | ||||||
| homepage: https://github.com/iarna/iarna-toml#readme | homepage: https://github.com/iarna/iarna-toml#readme | ||||||
|   | |||||||
| @@ -184,19 +184,31 @@ virtualenvs.path = "{cache-dir}/virtualenvs"  # /Users/patrick/Library/Caches/py | |||||||
|           ); |           ); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (process.platform === 'linux' && packageManager === 'pip') { |         const restoredKeys = restoreCacheSpy.mock.results.map( | ||||||
|           expect(infoSpy).toHaveBeenCalledWith( |           result => result.value | ||||||
|             `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-20.04-Ubuntu-python-${pythonVersion}-${packageManager}-${fileHash}` |         ); | ||||||
|           ); |  | ||||||
|         } else if (packageManager === 'poetry') { |         restoredKeys.forEach(restoredKey => { | ||||||
|           expect(infoSpy).toHaveBeenCalledWith( |           if (restoredKey) { | ||||||
|             `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-python-${pythonVersion}-${packageManager}-v2-${fileHash}` |             if (process.platform === 'linux' && packageManager === 'pip') { | ||||||
|           ); |               expect(infoSpy).toHaveBeenCalledWith( | ||||||
|         } else { |                 `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-20.04-Ubuntu-python-${pythonVersion}-${packageManager}-${fileHash}` | ||||||
|           expect(infoSpy).toHaveBeenCalledWith( |               ); | ||||||
|             `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-python-${pythonVersion}-${packageManager}-${fileHash}` |             } else if (packageManager === 'poetry') { | ||||||
|           ); |               expect(infoSpy).toHaveBeenCalledWith( | ||||||
|         } |                 `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-python-${pythonVersion}-${packageManager}-v2-${fileHash}` | ||||||
|  |               ); | ||||||
|  |             } else { | ||||||
|  |               expect(infoSpy).toHaveBeenCalledWith( | ||||||
|  |                 `Cache restored from key: setup-python-${process.env['RUNNER_OS']}-${process.arch}-python-${pythonVersion}-${packageManager}-${fileHash}` | ||||||
|  |               ); | ||||||
|  |             } | ||||||
|  |           } else { | ||||||
|  |             expect(infoSpy).toHaveBeenCalledWith( | ||||||
|  |               `${packageManager} cache is not found` | ||||||
|  |             ); | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|       }, |       }, | ||||||
|       30000 |       30000 | ||||||
|     ); |     ); | ||||||
|   | |||||||
							
								
								
									
										501
									
								
								__tests__/data/poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										501
									
								
								__tests__/data/poetry.lock
									
									
									
										generated
									
									
									
								
							| @@ -1,413 +1,212 @@ | |||||||
|  | # This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "altgraph" | name = "altgraph" | ||||||
| version = "0.17.2" | version = "0.17.4" | ||||||
| description = "Python graph (network) package" | description = "Python graph (network) package" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = "*" | python-versions = "*" | ||||||
|  | files = [ | ||||||
|  |     {file = "altgraph-0.17.4-py2.py3-none-any.whl", hash = "sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff"}, | ||||||
|  |     {file = "altgraph-0.17.4.tar.gz", hash = "sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "certifi" | name = "flake8" | ||||||
| version = "2020.6.20" | version = "4.0.1" | ||||||
| description = "Python package for providing Mozilla's CA Bundle." | description = "the modular source code checker: pep8 pyflakes and co" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = "*" | python-versions = ">=3.6" | ||||||
|  | files = [ | ||||||
| [[package]] |     {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, | ||||||
| name = "chardet" |     {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, | ||||||
| version = "3.0.4" | ] | ||||||
| description = "Universal encoding detector for Python 2 and 3" |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = "*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "dis3" |  | ||||||
| version = "0.1.3" |  | ||||||
| description = "Python 2.7 backport of the \"dis\" module from Python 3.5+" |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = "*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "docutils" |  | ||||||
| version = "0.16" |  | ||||||
| description = "Docutils -- Python Documentation Utilities" |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "future" |  | ||||||
| version = "0.18.2" |  | ||||||
| description = "Clean single-source support for Python 3 and 2" |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "idna" |  | ||||||
| version = "2.9" |  | ||||||
| description = "Internationalized Domain Names in Applications (IDNA)" |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "itsdangerous" |  | ||||||
| version = "1.1.0" |  | ||||||
| description = "Various helpers to pass data to untrusted environments and back." |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "kivy" |  | ||||||
| version = "1.11.1" |  | ||||||
| description = "A software library for rapid development of hardware-accelerated multitouch applications." |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = "*" |  | ||||||
|  |  | ||||||
| [package.dependencies] | [package.dependencies] | ||||||
| docutils = "*" | mccabe = ">=0.6.0,<0.7.0" | ||||||
| Kivy-Garden = ">=0.1.4" | pycodestyle = ">=2.8.0,<2.9.0" | ||||||
| pygments = "*" | pyflakes = ">=2.4.0,<2.5.0" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "importlib-metadata" | ||||||
|  | version = "8.2.0" | ||||||
|  | description = "Read metadata from Python packages" | ||||||
|  | optional = false | ||||||
|  | python-versions = ">=3.8" | ||||||
|  | files = [ | ||||||
|  |     {file = "importlib_metadata-8.2.0-py3-none-any.whl", hash = "sha256:11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369"}, | ||||||
|  |     {file = "importlib_metadata-8.2.0.tar.gz", hash = "sha256:72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [package.dependencies] | ||||||
|  | zipp = ">=0.5" | ||||||
|  |  | ||||||
| [package.extras] | [package.extras] | ||||||
| tuio = ["oscpy"] | doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] | ||||||
|  | perf = ["ipython"] | ||||||
|  | test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "kivy-deps.angle" | name = "macholib" | ||||||
| version = "0.3.0" | version = "1.16.3" | ||||||
| description = "Repackaged binary dependency of Kivy." | description = "Mach-O header analysis and editing" | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = "*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "kivy-deps.glew" |  | ||||||
| version = "0.1.12" |  | ||||||
| description = "Repackaged binary dependency of Kivy." |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = "*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "kivy-deps.gstreamer" |  | ||||||
| version = "0.1.17" |  | ||||||
| description = "Repackaged binary dependency of Kivy." |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = "*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "kivy-deps.sdl2" |  | ||||||
| version = "0.1.22" |  | ||||||
| description = "Repackaged binary dependency of Kivy." |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = "*" |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "kivy-garden" |  | ||||||
| version = "0.1.4" |  | ||||||
| description = "Garden tool for kivy flowers." |  | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = "*" | python-versions = "*" | ||||||
|  | files = [ | ||||||
|  |     {file = "macholib-1.16.3-py2.py3-none-any.whl", hash = "sha256:0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c"}, | ||||||
|  |     {file = "macholib-1.16.3.tar.gz", hash = "sha256:07ae9e15e8e4cd9a788013d81f5908b3609aa76f9b1421bae9c4d7606ec86a30"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [package.dependencies] | [package.dependencies] | ||||||
| requests = "*" | altgraph = ">=0.17" | ||||||
|  |  | ||||||
|  | [[package]] | ||||||
|  | name = "mccabe" | ||||||
|  | version = "0.6.1" | ||||||
|  | description = "McCabe checker, plugin for flake8" | ||||||
|  | optional = false | ||||||
|  | python-versions = "*" | ||||||
|  | files = [ | ||||||
|  |     {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, | ||||||
|  |     {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "packaging" | name = "packaging" | ||||||
| version = "21.0" | version = "24.1" | ||||||
| description = "Core utilities for Python packages" | description = "Core utilities for Python packages" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.6" | python-versions = ">=3.8" | ||||||
|  | files = [ | ||||||
| [package.dependencies] |     {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, | ||||||
| pyparsing = ">=2.0.2" |     {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, | ||||||
|  | ] | ||||||
| [[package]] |  | ||||||
| name = "pdf2image" |  | ||||||
| version = "1.12.1" |  | ||||||
| description = "A wrapper around the pdftoppm and pdftocairo command line tools to convert PDF to a PIL Image list." |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = "*" |  | ||||||
|  |  | ||||||
| [package.dependencies] |  | ||||||
| pillow = "*" |  | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pefile" | name = "pefile" | ||||||
| version = "2021.9.3" | version = "2023.2.7" | ||||||
| description = "Python PE parsing module" | description = "Python PE parsing module" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.6.0" | python-versions = ">=3.6.0" | ||||||
|  | files = [ | ||||||
| [package.dependencies] |     {file = "pefile-2023.2.7-py3-none-any.whl", hash = "sha256:da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6"}, | ||||||
| future = "*" |     {file = "pefile-2023.2.7.tar.gz", hash = "sha256:82e6114004b3d6911c77c3953e3838654b04511b8b66e8583db70c65998017dc"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pillow" | name = "pycodestyle" | ||||||
| version = "7.2.0" | version = "2.8.0" | ||||||
| description = "Python Imaging Library (Fork)" | description = "Python style guide checker" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.5" | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | ||||||
|  | files = [ | ||||||
|  |     {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, | ||||||
|  |     {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pygments" | name = "pyflakes" | ||||||
| version = "2.6.1" | version = "2.4.0" | ||||||
| description = "Pygments is a syntax highlighting package written in Python." | description = "passive checker of Python programs" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=3.5" | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" | ||||||
|  | files = [ | ||||||
|  |     {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, | ||||||
|  |     {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pyinstaller" | name = "pyinstaller" | ||||||
| version = "3.6" | version = "5.13.1" | ||||||
| description = "PyInstaller bundles a Python application and all its dependencies into a single package." | description = "PyInstaller bundles a Python application and all its dependencies into a single package." | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | python-versions = "<3.13,>=3.7" | ||||||
|  | files = [ | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-macosx_10_13_universal2.whl", hash = "sha256:3c9cfe6d5d2f392d5d47389f6d377a8f225db460cdd01048b5a3de1d99c24ebe"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:29341d2e86d5ce7df993e797ee96ef679041fc85376d31c35c7b714085a21299"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-manylinux2014_i686.whl", hash = "sha256:ad6e31a8f35a463c6140e4cf979859197edc9831a1039253408b0fe5eec274dc"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:5d801db3ceee58d01337473ea897e96e4bb21421a169dd7cf8716754617ff7fc"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-manylinux2014_s390x.whl", hash = "sha256:2519db3edec87d8c33924c2c4b7e176d8c1bbd9ba892d77efb67281925e621d6"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:e033218c8922f0342b6095fb444ecb3bc6747dfa58cac5eac2b985350f4b681e"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:086e68aa1e72f6aa13b9d170a395755e2b194b8ab410caeed02d16b432410c8c"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:aa609aca62edd8cdcf7740677a21525e6c23b5e9a8f821ec8a80c68947771b5d"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-win32.whl", hash = "sha256:b8d4000af72bf72f8185d420cd0a0aee0961f03a5c3511dc3ff08cdaef0583de"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-win_amd64.whl", hash = "sha256:b70ebc10811b30bbea4cf5b81fd1477db992c2614cf215edc987cda9c5468911"}, | ||||||
|  |     {file = "pyinstaller-5.13.1-py3-none-win_arm64.whl", hash = "sha256:78d1601a11475b95dceff6eaf0c9cd74d93e3f47b5ce4ad63cd76e7a369d3d04"}, | ||||||
|  |     {file = "pyinstaller-5.13.1.tar.gz", hash = "sha256:a2e7a1d76a7ac26f1db849d691a374f2048b0e204233028d25d79a90ecd1fec8"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [package.dependencies] | [package.dependencies] | ||||||
| altgraph = "*" | altgraph = "*" | ||||||
| dis3 = "*" | macholib = {version = ">=1.8", markers = "sys_platform == \"darwin\""} | ||||||
|  | pefile = {version = ">=2022.5.30", markers = "sys_platform == \"win32\""} | ||||||
|  | pyinstaller-hooks-contrib = ">=2021.4" | ||||||
|  | pywin32-ctypes = {version = ">=0.2.1", markers = "sys_platform == \"win32\""} | ||||||
|  | setuptools = ">=42.0.0" | ||||||
|  |  | ||||||
|  | [package.extras] | ||||||
|  | encryption = ["tinyaes (>=1.0.0)"] | ||||||
|  | hook-testing = ["execnet (>=1.5.0)", "psutil", "pytest (>=2.7.3)"] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pyparsing" | name = "pyinstaller-hooks-contrib" | ||||||
| version = "2.4.7" | version = "2024.8" | ||||||
| description = "Python parsing module" | description = "Community maintained hooks for PyInstaller" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" | python-versions = ">=3.8" | ||||||
|  | files = [ | ||||||
|  |     {file = "pyinstaller_hooks_contrib-2024.8-py3-none-any.whl", hash = "sha256:0057fe9a5c398d3f580e73e58793a1d4a8315ca91c3df01efea1c14ed557825a"}, | ||||||
|  |     {file = "pyinstaller_hooks_contrib-2024.8.tar.gz", hash = "sha256:29b68d878ab739e967055b56a93eb9b58e529d5b054fbab7a2f2bacf80cef3e2"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | [package.dependencies] | ||||||
|  | importlib-metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} | ||||||
|  | packaging = ">=22.0" | ||||||
|  | setuptools = ">=42.0.0" | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "pywin32-ctypes" | name = "pywin32-ctypes" | ||||||
| version = "0.2.0" | version = "0.2.2" | ||||||
| description = "" | description = "A (partial) reimplementation of pywin32 using ctypes/cffi" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = "*" | python-versions = ">=3.6" | ||||||
|  | files = [ | ||||||
|  |     {file = "pywin32-ctypes-0.2.2.tar.gz", hash = "sha256:3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60"}, | ||||||
|  |     {file = "pywin32_ctypes-0.2.2-py3-none-any.whl", hash = "sha256:bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "requests" | name = "setuptools" | ||||||
| version = "2.24.0" | version = "72.1.0" | ||||||
| description = "Python HTTP for Humans." | description = "Easily download, build, install, upgrade, and uninstall Python packages" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | python-versions = ">=3.8" | ||||||
|  | files = [ | ||||||
| [package.dependencies] |     {file = "setuptools-72.1.0-py3-none-any.whl", hash = "sha256:5a03e1860cf56bb6ef48ce186b0e557fdba433237481a9a625176c2831be15d1"}, | ||||||
| certifi = ">=2017.4.17" |     {file = "setuptools-72.1.0.tar.gz", hash = "sha256:8d243eff56d095e5817f796ede6ae32941278f542e0f941867cc05ae52b162ec"}, | ||||||
| chardet = ">=3.0.2,<4" | ] | ||||||
| idna = ">=2.5,<3" |  | ||||||
| urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26" |  | ||||||
|  |  | ||||||
| [package.extras] | [package.extras] | ||||||
| security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] | core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "ordered-set (>=3.1.1)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] | ||||||
| socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] | doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] | ||||||
|  | test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.11.*)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (<0.4)", "pytest-ruff (>=0.2.1)", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] | ||||||
|  |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "urllib3" | name = "zipp" | ||||||
| version = "1.25.9" | version = "3.20.0" | ||||||
| description = "HTTP library with thread-safe connection pooling, file post, and more." | description = "Backport of pathlib-compatible object wrapper for zip files" | ||||||
| category = "main" |  | ||||||
| optional = false | optional = false | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" | python-versions = ">=3.8" | ||||||
|  | files = [ | ||||||
|  |     {file = "zipp-3.20.0-py3-none-any.whl", hash = "sha256:58da6168be89f0be59beb194da1250516fdaa062ccebd30127ac65d30045e10d"}, | ||||||
|  |     {file = "zipp-3.20.0.tar.gz", hash = "sha256:0145e43d89664cfe1a2e533adc75adafed82fe2da404b4bbb6b026c0157bdb31"}, | ||||||
|  | ] | ||||||
|  |  | ||||||
| [package.extras] | [package.extras] | ||||||
| brotli = ["brotlipy (>=0.6.0)"] | doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] | ||||||
| secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "pyOpenSSL (>=0.14)", "ipaddress"] | test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] | ||||||
| socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] |  | ||||||
|  |  | ||||||
| [[package]] |  | ||||||
| name = "xlrd" |  | ||||||
| version = "1.2.0" |  | ||||||
| description = "Library for developers to extract data from Microsoft Excel (tm) spreadsheet files" |  | ||||||
| category = "main" |  | ||||||
| optional = false |  | ||||||
| python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" |  | ||||||
|  |  | ||||||
| [metadata] | [metadata] | ||||||
| lock-version = "1.1" | lock-version = "2.0" | ||||||
| python-versions = "^3.8" | python-versions = ">=3.8,<3.13" | ||||||
| content-hash = "b3d607363c6daf2b5448aa5ee676cff28606af6200d8e9b42e89937a190a3d46" | content-hash = "46617f6f661c740ba597c9c9ff83ccf6b41b6a77139e38b062fec14d3a57c6d9" | ||||||
|  |  | ||||||
| [metadata.files] |  | ||||||
| altgraph = [ |  | ||||||
|     {file = "altgraph-0.17.2-py2.py3-none-any.whl", hash = "sha256:743628f2ac6a7c26f5d9223c91ed8ecbba535f506f4b6f558885a8a56a105857"}, |  | ||||||
|     {file = "altgraph-0.17.2.tar.gz", hash = "sha256:ebf2269361b47d97b3b88e696439f6e4cbc607c17c51feb1754f90fb79839158"}, |  | ||||||
| ] |  | ||||||
| certifi = [ |  | ||||||
|     {file = "certifi-2020.6.20-py2.py3-none-any.whl", hash = "sha256:8fc0819f1f30ba15bdb34cceffb9ef04d99f420f68eb75d901e9560b8749fc41"}, |  | ||||||
|     {file = "certifi-2020.6.20.tar.gz", hash = "sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3"}, |  | ||||||
| ] |  | ||||||
| chardet = [ |  | ||||||
|     {file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"}, |  | ||||||
|     {file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"}, |  | ||||||
| ] |  | ||||||
| dis3 = [ |  | ||||||
|     {file = "dis3-0.1.3-py2-none-any.whl", hash = "sha256:61f7720dd0d8749d23fda3d7227ce74d73da11c2fade993a67ab2f9852451b14"}, |  | ||||||
|     {file = "dis3-0.1.3-py3-none-any.whl", hash = "sha256:30b6412d33d738663e8ded781b138f4b01116437f0872aa56aa3adba6aeff218"}, |  | ||||||
|     {file = "dis3-0.1.3.tar.gz", hash = "sha256:9259b881fc1df02ed12ac25f82d4a85b44241854330b1a651e40e0c675cb2d1e"}, |  | ||||||
| ] |  | ||||||
| docutils = [ |  | ||||||
|     {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, |  | ||||||
|     {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, |  | ||||||
| ] |  | ||||||
| future = [ |  | ||||||
|     {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"}, |  | ||||||
| ] |  | ||||||
| idna = [ |  | ||||||
|     {file = "idna-2.9-py2.py3-none-any.whl", hash = "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa"}, |  | ||||||
|     {file = "idna-2.9.tar.gz", hash = "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb"}, |  | ||||||
| ] |  | ||||||
| itsdangerous = [ |  | ||||||
|     {file = "itsdangerous-1.1.0-py2.py3-none-any.whl", hash = "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749"}, |  | ||||||
|     {file = "itsdangerous-1.1.0.tar.gz", hash = "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19"}, |  | ||||||
| ] |  | ||||||
| kivy = [ |  | ||||||
|     {file = "Kivy-1.11.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:11e85eaf6efbfa2362a3334ffdad179a1b0ca8d255cca79eaa6a2765560d4982"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp27-cp27m-win32.whl", hash = "sha256:5c3d0f2749522d62e9cce09cd54b2d823bf1b6b644ff1f627be49de6f3e3cba0"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp27-cp27m-win_amd64.whl", hash = "sha256:f835462dd9aa491272552ef079b948a088598e2e95d68bb1d885d2c3f3d4e2c3"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:090d3ded9835a17477cd93fbdaf0a7c42ff2218981cf198ded5ad8795bc74391"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:b85ccf165050cbf2ee8447671eebbc222b369b40f0e0038dd9547d49a5e37373"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp35-cp35m-win32.whl", hash = "sha256:4a5480cbf837d3780c77a4f61b32b56d22ae9f03845e7a89dd3eaef1ae5fd037"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp35-cp35m-win_amd64.whl", hash = "sha256:a687602d90c4629dd036f577ca39acb76ba581370f9d915f3cab99be818ba8ad"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:c36652caa7f6c327dee834cfc699d5962d346b7a53e54bd81abc17c314226d89"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:b7ef6aad43a86d8df3fb865db864e354f2155a748019f8517f69f65c1a29cb64"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp36-cp36m-win32.whl", hash = "sha256:f3bea6e4a21991827885d04127fc6d09a0e974ecfa12da7bf5faae93562ea102"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp36-cp36m-win_amd64.whl", hash = "sha256:ece170514db3f49844a41e4c910ad9ce9bc46da6f47a49158e11266bdcc6e479"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:8819a27a09871af451760cb69486ced52e830c8a0a37480f22ef5e692f12c05b"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:1a1ff32f8a95f1e175198cbab81fcd2596783b180d4eafe63e87d171aa7fdb5e"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp37-cp37m-win32.whl", hash = "sha256:815a5c0b3b72fcd81ca7b2aa0744087163ed03e4cf9ab4e7c9733cea99fc1571"}, |  | ||||||
|     {file = "Kivy-1.11.1-cp37-cp37m-win_amd64.whl", hash = "sha256:1d28b198a64c30db8d94a0488e85f3037af60d514ab0d7ad5ab45add3ab77090"}, |  | ||||||
|     {file = "Kivy-1.11.1.tar.gz", hash = "sha256:4d0e596f74271e901b551f77661dde238df4765484fce9f5d1c72e8022984e84"}, |  | ||||||
| ] |  | ||||||
| "kivy-deps.angle" = [ |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp310-cp310-win32.whl", hash = "sha256:7b56477c726e361592f794d49b2fdd96d579b7efd7225a8aadf7fd01d4e8cb80"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:a4b78fd9d47c76e5ff52fcbaa040920a2f97bff038f4c534346dd833dc8f3145"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp36-cp36m-win32.whl", hash = "sha256:a2cea09e8a5e899629466403fbd540459f1cdef8d08c6c479b6607b95309be02"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:b167e19b3eea55a9a8c606a607bb909ec1bedda88deee40347c780b310155a79"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp37-cp37m-win32.whl", hash = "sha256:d0e7b7b9eb9669837a5d70808a7ea45f2b61961b56f9f69a233bad6bd36ce260"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b9d07976b0bf6bac724a42aa8ed5a8c7caa95609046db30c8f15bb731f8e4d36"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp38-cp38-win32.whl", hash = "sha256:99c40d53582a958748e251dfbd61aa67fb85963e27529ca08a21f2f5eeed04e1"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:50605fdd4c9fdbe9f717069734a598a9aba0afe5d3f0412afbe2ecff0326e92d"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp39-cp39-win32.whl", hash = "sha256:64ac7f33c000585dc30194e604aed925972c6b7c3848b5c3b073ae916fb0b55c"}, |  | ||||||
|     {file = "kivy_deps.angle-0.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:bb4d53f15a093214adbbe205c108ede5cc0f6af6eff104c1b8c468ddaaf6400a"}, |  | ||||||
| ] |  | ||||||
| "kivy-deps.glew" = [ |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp27-cp27m-win32.whl", hash = "sha256:92e72fa2c425887987d1aa861c99537033dc20d68ae1c54864871f0401682586"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp27-cp27m-win_amd64.whl", hash = "sha256:c843104690c0c8f3a58105c53c57f31506f6f90562c18de00bd19317cc1045a7"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp35-cp35m-win32.whl", hash = "sha256:ee8ab67abb2c98d84feede657cae472e7723e529af07394244bdd33caafb1a38"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp35-cp35m-win_amd64.whl", hash = "sha256:ab81783a82bef88a8d2bcf8a93bc21df6b8b0db6ee551eb802727d18f9074b17"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp36-cp36m-win32.whl", hash = "sha256:45aa7f0e8d9bcf5fc1810c9c38bc20edf7dee61df81ecf62102e0f84153f924a"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp36-cp36m-win_amd64.whl", hash = "sha256:ef1116d99bd9cc737cb8c0e13e676955c17d6e4d6d1af5cfccef089a430071bb"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp37-cp37m-win32.whl", hash = "sha256:1e28e40017af9d081fc0fc95b4fadaf31d15e9f63478dcee1c4257d67079894e"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp37-cp37m-win_amd64.whl", hash = "sha256:6bb435620c3187d2c61054adb9ec277ed487256b457a0a7b1491bc0cb7247e18"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp38-cp38-win32.whl", hash = "sha256:09f72ee5ef33ff273332e2a229dc97d650d29818a0189339421949e4e0f63d93"}, |  | ||||||
|     {file = "kivy_deps.glew-0.1.12-cp38-cp38-win_amd64.whl", hash = "sha256:cf351aad171796f8051af8e49ec430a9aa128d8557d8643e73f2bb1e5f9c2dab"}, |  | ||||||
| ] |  | ||||||
| "kivy-deps.gstreamer" = [ |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp27-cp27m-win32.whl", hash = "sha256:309eca64dee5939f16f8465e5cbb08bdde7c90ded1af6a00690c7e928326af79"}, |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp27-cp27m-win_amd64.whl", hash = "sha256:0d9598d2d31c0e780adf4b767fa3a691123621fd0ffef94b83cf82c2da84341b"}, |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp35-cp35m-win32.whl", hash = "sha256:4f2ddd61d185310258d338ae80a646df7822efdd7d67e57f49dc7b87555c5d7e"}, |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp35-cp35m-win_amd64.whl", hash = "sha256:6fa9f76afe600baa221abee31ce7dc63e653d0affe0f6c558bfc4f35af96396f"}, |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp36-cp36m-win32.whl", hash = "sha256:c4709765e2b17c6c96b46a92207b0457def147544d825654077603eaf0d424de"}, |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp36-cp36m-win_amd64.whl", hash = "sha256:c29cfc63fe70a58dad889e631f1ba4711c9ea80103f2b2b8d670a97f093076c8"}, |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp37-cp37m-win32.whl", hash = "sha256:4d996377111e854b3dea90846f9b2f98766a44529fd8b72125e18c552381d928"}, |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp37-cp37m-win_amd64.whl", hash = "sha256:739cd331b9f33a822d700273674a79a3157054e9358a01a0d553f094a5f4a8c9"}, |  | ||||||
|     {file = "kivy_deps.gstreamer-0.1.17-cp38-cp38-win_amd64.whl", hash = "sha256:3d53d2c84c0a997c4cac6c239b1e0a6486e533836321003dc365ec42b97a664b"}, |  | ||||||
| ] |  | ||||||
| "kivy-deps.sdl2" = [ |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp27-cp27m-win32.whl", hash = "sha256:1b987bdd4fbbcb31baf0d7fc9584ad99912179b8968311bb7e30fbeb14e98e0d"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp27-cp27m-win_amd64.whl", hash = "sha256:228128cdd8112dc7505ac43027a770476e9ef282e0b84ca68037133cd025960b"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp35-cp35m-win32.whl", hash = "sha256:053f26e8c05d5545bdbc7eeb8c450b8e4410ee355792e9345af536110fe247e2"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp35-cp35m-win_amd64.whl", hash = "sha256:5ce23f1a3286d6288751a12b0eaefd02f947ea101bb807e9781b964e496fc3f3"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp36-cp36m-win32.whl", hash = "sha256:96e1fa89fd8b5351f2d3c26bbffd50df8d554b03fba4025ecc941d773d241698"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp36-cp36m-win_amd64.whl", hash = "sha256:c3ace0ddde0e59cdcaf260eda1daa0c05ca9bf8cd0c4ea404539de25a5dcaec7"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp37-cp37m-win32.whl", hash = "sha256:7928746eaed51944c10d1bb36fcefebe3d1aff1b97ba32359c2c97ba74707e1b"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp37-cp37m-win_amd64.whl", hash = "sha256:2c2fd5a12a7a9afe3bb962b273561099a180edae91bb9c8f8386b72253fcae4a"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp38-cp38-win32.whl", hash = "sha256:9270fa8ed5130074b167a7a3a9c85efc3cfe3c04584ab084cb6ae9e4edfa8168"}, |  | ||||||
|     {file = "kivy_deps.sdl2-0.1.22-cp38-cp38-win_amd64.whl", hash = "sha256:92ed97d3247bc8ce98f336cbc940bb889310199326e9ccf251c49ae7e4b80de8"}, |  | ||||||
| ] |  | ||||||
| kivy-garden = [ |  | ||||||
|     {file = "Kivy Garden-0.1.4.tar.gz", hash = "sha256:9b7d9de5efacbcd0c4b3dd873b30622a86093c9965aa47b523c7a32f3eb34610"}, |  | ||||||
|     {file = "kivy-garden-0.1.4.tar.gz", hash = "sha256:c256f42788421273a08fbb0a228f0fb0e80dd86b629fb8c0920507f645be6c72"}, |  | ||||||
| ] |  | ||||||
| packaging = [ |  | ||||||
|     {file = "packaging-21.0-py3-none-any.whl", hash = "sha256:c86254f9220d55e31cc94d69bade760f0847da8000def4dfe1c6b872fd14ff14"}, |  | ||||||
|     {file = "packaging-21.0.tar.gz", hash = "sha256:7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7"}, |  | ||||||
| ] |  | ||||||
| pdf2image = [ |  | ||||||
|     {file = "pdf2image-1.12.1.tar.gz", hash = "sha256:a0d9906f5507192210a8d5d7ead63145e9dec4bccc4564b1fb644e923913c31c"}, |  | ||||||
| ] |  | ||||||
| pefile = [ |  | ||||||
|     {file = "pefile-2021.9.3.tar.gz", hash = "sha256:344a49e40a94e10849f0fe34dddc80f773a12b40675bf2f7be4b8be578bdd94a"}, |  | ||||||
| ] |  | ||||||
| pillow = [ |  | ||||||
|     {file = "Pillow-7.2.0-cp35-cp35m-macosx_10_10_intel.whl", hash = "sha256:1ca594126d3c4def54babee699c055a913efb01e106c309fa6b04405d474d5ae"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c92302a33138409e8f1ad16731568c55c9053eee71bb05b6b744067e1b62380f"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:8dad18b69f710bf3a001d2bf3afab7c432785d94fcf819c16b5207b1cfd17d38"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:431b15cffbf949e89df2f7b48528be18b78bfa5177cb3036284a5508159492b5"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp35-cp35m-win32.whl", hash = "sha256:09d7f9e64289cb40c2c8d7ad674b2ed6105f55dc3b09aa8e4918e20a0311e7ad"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp35-cp35m-win_amd64.whl", hash = "sha256:0295442429645fa16d05bd567ef5cff178482439c9aad0411d3f0ce9b88b3a6f"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:ec29604081f10f16a7aea809ad42e27764188fc258b02259a03a8ff7ded3808d"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:612cfda94e9c8346f239bf1a4b082fdd5c8143cf82d685ba2dba76e7adeeb233"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0a80dd307a5d8440b0a08bd7b81617e04d870e40a3e46a32d9c246e54705e86f"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:06aba4169e78c439d528fdeb34762c3b61a70813527a2c57f0540541e9f433a8"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp36-cp36m-win32.whl", hash = "sha256:f7e30c27477dffc3e85c2463b3e649f751789e0f6c8456099eea7ddd53be4a8a"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:ffe538682dc19cc542ae7c3e504fdf54ca7f86fb8a135e59dd6bc8627eae6cce"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:94cf49723928eb6070a892cb39d6c156f7b5a2db4e8971cb958f7b6b104fb4c4"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6edb5446f44d901e8683ffb25ebdfc26988ee813da3bf91e12252b57ac163727"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:52125833b070791fcb5710fabc640fc1df07d087fc0c0f02d3661f76c23c5b8b"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:9ad7f865eebde135d526bb3163d0b23ffff365cf87e767c649550964ad72785d"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp37-cp37m-win32.whl", hash = "sha256:c79f9c5fb846285f943aafeafda3358992d64f0ef58566e23484132ecd8d7d63"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d350f0f2c2421e65fbc62690f26b59b0bcda1b614beb318c81e38647e0f673a1"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:6d7741e65835716ceea0fd13a7d0192961212fd59e741a46bbed7a473c634ed6"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:edf31f1150778abd4322444c393ab9c7bd2af271dd4dafb4208fb613b1f3cdc9"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:d08b23fdb388c0715990cbc06866db554e1822c4bdcf6d4166cf30ac82df8c41"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:5e51ee2b8114def244384eda1c82b10e307ad9778dac5c83fb0943775a653cd8"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp38-cp38-win32.whl", hash = "sha256:725aa6cfc66ce2857d585f06e9519a1cc0ef6d13f186ff3447ab6dff0a09bc7f"}, |  | ||||||
|     {file = "Pillow-7.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:a060cf8aa332052df2158e5a119303965be92c3da6f2d93b6878f0ebca80b2f6"}, |  | ||||||
|     {file = "Pillow-7.2.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:9c87ef410a58dd54b92424ffd7e28fd2ec65d2f7fc02b76f5e9b2067e355ebf6"}, |  | ||||||
|     {file = "Pillow-7.2.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:e901964262a56d9ea3c2693df68bc9860b8bdda2b04768821e4c44ae797de117"}, |  | ||||||
|     {file = "Pillow-7.2.0-pp36-pypy36_pp73-win32.whl", hash = "sha256:25930fadde8019f374400f7986e8404c8b781ce519da27792cbe46eabec00c4d"}, |  | ||||||
|     {file = "Pillow-7.2.0.tar.gz", hash = "sha256:97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626"}, |  | ||||||
| ] |  | ||||||
| pygments = [ |  | ||||||
|     {file = "Pygments-2.6.1-py3-none-any.whl", hash = "sha256:ff7a40b4860b727ab48fad6360eb351cc1b33cbf9b15a0f689ca5353e9463324"}, |  | ||||||
|     {file = "Pygments-2.6.1.tar.gz", hash = "sha256:647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44"}, |  | ||||||
| ] |  | ||||||
| pyinstaller = [ |  | ||||||
|     {file = "PyInstaller-3.6.tar.gz", hash = "sha256:3730fa80d088f8bb7084d32480eb87cbb4ddb64123363763cf8f2a1378c1c4b7"}, |  | ||||||
| ] |  | ||||||
| pyparsing = [ |  | ||||||
|     {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, |  | ||||||
|     {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, |  | ||||||
| ] |  | ||||||
| pywin32-ctypes = [ |  | ||||||
|     {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"}, |  | ||||||
|     {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"}, |  | ||||||
| ] |  | ||||||
| requests = [ |  | ||||||
|     {file = "requests-2.24.0-py2.py3-none-any.whl", hash = "sha256:fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898"}, |  | ||||||
|     {file = "requests-2.24.0.tar.gz", hash = "sha256:b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b"}, |  | ||||||
| ] |  | ||||||
| urllib3 = [ |  | ||||||
|     {file = "urllib3-1.25.9-py2.py3-none-any.whl", hash = "sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115"}, |  | ||||||
|     {file = "urllib3-1.25.9.tar.gz", hash = "sha256:3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527"}, |  | ||||||
| ] |  | ||||||
| xlrd = [ |  | ||||||
|     {file = "xlrd-1.2.0-py2.py3-none-any.whl", hash = "sha256:e551fb498759fa3a5384a94ccd4c3c02eb7c00ea424426e212ac0c57be9dfbde"}, |  | ||||||
|     {file = "xlrd-1.2.0.tar.gz", hash = "sha256:546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2"}, |  | ||||||
| ] |  | ||||||
|   | |||||||
| @@ -5,11 +5,13 @@ description = "" | |||||||
| authors = ["Your Name <you@example.com>"] | authors = ["Your Name <you@example.com>"] | ||||||
|  |  | ||||||
| [tool.poetry.dependencies] | [tool.poetry.dependencies] | ||||||
| python = "^3.8" | python = ">=3.8,<3.13" | ||||||
| flake8 = "^4.0.1" | flake8 = "^4.0.1" | ||||||
|  | pyinstaller = "5.13.1" | ||||||
|  |  | ||||||
|  |  | ||||||
| [tool.poetry.dev-dependencies] | [tool.poetry.dev-dependencies] | ||||||
|  |  | ||||||
| [build-system] | [build-system] | ||||||
| requires = ["poetry-core>=1.0.0"] | requires = ["poetry-core>=1.0.0"] | ||||||
| build-backend = "poetry.core.masonry.api" | build-backend = "poetry.core.masonry.api" | ||||||
| @@ -34,7 +34,7 @@ pillow==7.2 | |||||||
|  |  | ||||||
| pygments==2.6.1 | pygments==2.6.1 | ||||||
|  |  | ||||||
| pyinstaller==3.6 | pyinstaller==5.13.1 | ||||||
|  |  | ||||||
| pyparsing==2.4.7; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2' | pyparsing==2.4.7; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2' | ||||||
|  |  | ||||||
|   | |||||||
| @@ -12,7 +12,9 @@ import { | |||||||
|   getVersionInputFromFile, |   getVersionInputFromFile, | ||||||
|   getVersionInputFromPlainFile, |   getVersionInputFromPlainFile, | ||||||
|   getVersionInputFromTomlFile, |   getVersionInputFromTomlFile, | ||||||
|   getNextPageUrl |   getNextPageUrl, | ||||||
|  |   IS_WINDOWS, | ||||||
|  |   getDownloadFileName | ||||||
| } from '../src/utils'; | } from '../src/utils'; | ||||||
|  |  | ||||||
| jest.mock('@actions/cache'); | jest.mock('@actions/cache'); | ||||||
| @@ -159,3 +161,37 @@ describe('getNextPageUrl', () => { | |||||||
|     expect(getNextPageUrl(generateResponse(page2Links))).toBeNull(); |     expect(getNextPageUrl(generateResponse(page2Links))).toBeNull(); | ||||||
|   }); |   }); | ||||||
| }); | }); | ||||||
|  |  | ||||||
|  | describe('getDownloadFileName', () => { | ||||||
|  |   const originalEnv = process.env; | ||||||
|  |   const tempDir = path.join(__dirname, 'runner', 'temp'); | ||||||
|  |  | ||||||
|  |   beforeEach(() => { | ||||||
|  |     process.env = {...originalEnv}; | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   afterEach(() => { | ||||||
|  |     process.env = originalEnv; | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('should return the correct path on Windows', () => { | ||||||
|  |     if (IS_WINDOWS) { | ||||||
|  |       process.env['RUNNER_TEMP'] = tempDir; | ||||||
|  |       const downloadUrl = | ||||||
|  |         'https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-win32-x64.zip'; | ||||||
|  |       const expectedPath = path.join( | ||||||
|  |         process.env.RUNNER_TEMP, | ||||||
|  |         path.basename(downloadUrl) | ||||||
|  |       ); | ||||||
|  |       expect(getDownloadFileName(downloadUrl)).toBe(expectedPath); | ||||||
|  |     } | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   it('should return undefined on non-Windows', () => { | ||||||
|  |     if (!IS_WINDOWS) { | ||||||
|  |       const downloadUrl = | ||||||
|  |         'https://github.com/actions/sometool/releases/tag/1.2.3-20200402.6/sometool-1.2.3-linux-x64.tar.gz'; | ||||||
|  |       expect(getDownloadFileName(downloadUrl)).toBeUndefined(); | ||||||
|  |     } | ||||||
|  |   }); | ||||||
|  | }); | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -81041,7 +81041,7 @@ class CacheDistributor { | |||||||
|                         .split('\n') |                         .split('\n') | ||||||
|                         .join(',')} or ${constants_1.CACHE_DEPENDENCY_BACKUP_PATH}` |                         .join(',')} or ${constants_1.CACHE_DEPENDENCY_BACKUP_PATH}` | ||||||
|                     : this.cacheDependencyPath.split('\n').join(','); |                     : this.cacheDependencyPath.split('\n').join(','); | ||||||
|                 throw new Error(`No file in ${process.cwd()} matched to [${file}], make sure you have checked out the target repository`); |                 throw new Error(`No file in ${process.cwd()} matched to [${file}], make sure you have checked out the target repository. No cache paths were identified for ${this.packageManager} with cache-dependency-path = ${this.cacheDependencyPath}. This likely indicates no dependencies to cache. Consider removing the cache step if it's not needed`); | ||||||
|             } |             } | ||||||
|             const cachePath = yield this.getCacheGlobalDirectories(); |             const cachePath = yield this.getCacheGlobalDirectories(); | ||||||
|             core.saveState(State.CACHE_PATHS, cachePath); |             core.saveState(State.CACHE_PATHS, cachePath); | ||||||
|   | |||||||
							
								
								
									
										174
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										174
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -46726,7 +46726,7 @@ function makeParserClass (Parser) { | |||||||
|       let target = this.ctx |       let target = this.ctx | ||||||
|       let finalKey = kv.key.pop() |       let finalKey = kv.key.pop() | ||||||
|       for (let kw of kv.key) { |       for (let kw of kv.key) { | ||||||
|         if (hasKey(target, kw) && (!isTable(target[kw]) || target[kw][_declared])) { |         if (hasKey(target, kw) && !isTable(target[kw])) { | ||||||
|           throw this.error(new TomlError("Can't redefine existing key")) |           throw this.error(new TomlError("Can't redefine existing key")) | ||||||
|         } |         } | ||||||
|         target = target[kw] = target[kw] || Table() |         target = target[kw] = target[kw] || Table() | ||||||
| @@ -46734,6 +46734,7 @@ function makeParserClass (Parser) { | |||||||
|       if (hasKey(target, finalKey)) { |       if (hasKey(target, finalKey)) { | ||||||
|         throw this.error(new TomlError("Can't redefine existing key")) |         throw this.error(new TomlError("Can't redefine existing key")) | ||||||
|       } |       } | ||||||
|  |       target[_declared] = true | ||||||
|       // unbox our numbers
 |       // unbox our numbers
 | ||||||
|       if (isInteger(kv.value) || isFloat(kv.value)) { |       if (isInteger(kv.value) || isFloat(kv.value)) { | ||||||
|         target[finalKey] = kv.value.valueOf() |         target[finalKey] = kv.value.valueOf() | ||||||
| @@ -46791,6 +46792,8 @@ function makeParserClass (Parser) { | |||||||
|       do { |       do { | ||||||
|         if (this.char === Parser.END || this.char === CTRL_J) { |         if (this.char === Parser.END || this.char === CTRL_J) { | ||||||
|           return this.return() |           return this.return() | ||||||
|  |         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I)) { | ||||||
|  |           throw this.errorControlCharIn('comments') | ||||||
|         } |         } | ||||||
|       } while (this.nextChar()) |       } while (this.nextChar()) | ||||||
|     } |     } | ||||||
| @@ -47004,7 +47007,7 @@ function makeParserClass (Parser) { | |||||||
|         } else if (this.atEndOfLine()) { |         } else if (this.atEndOfLine()) { | ||||||
|           throw this.error(new TomlError('Unterminated string')) |           throw this.error(new TomlError('Unterminated string')) | ||||||
|         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I)) { |         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I)) { | ||||||
|           throw this.errorControlCharInString() |           throw this.errorControlCharIn('strings') | ||||||
|         } else { |         } else { | ||||||
|           this.consume() |           this.consume() | ||||||
|         } |         } | ||||||
| @@ -47033,7 +47036,7 @@ function makeParserClass (Parser) { | |||||||
|         } else if (this.char === Parser.END) { |         } else if (this.char === Parser.END) { | ||||||
|           throw this.error(new TomlError('Unterminated multi-line string')) |           throw this.error(new TomlError('Unterminated multi-line string')) | ||||||
|         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I && this.char !== CTRL_J && this.char !== CTRL_M)) { |         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I && this.char !== CTRL_J && this.char !== CTRL_M)) { | ||||||
|           throw this.errorControlCharInString() |           throw this.errorControlCharIn('strings') | ||||||
|         } else { |         } else { | ||||||
|           this.consume() |           this.consume() | ||||||
|         } |         } | ||||||
| @@ -47049,12 +47052,28 @@ function makeParserClass (Parser) { | |||||||
|     } |     } | ||||||
|     parseLiteralMultiEnd2 () { |     parseLiteralMultiEnd2 () { | ||||||
|       if (this.char === CHAR_APOS) { |       if (this.char === CHAR_APOS) { | ||||||
|         return this.return() |         return this.next(this.parseLiteralMultiEnd3) | ||||||
|       } else { |       } else { | ||||||
|         this.state.buf += "''" |         this.state.buf += "''" | ||||||
|         return this.goto(this.parseLiteralMultiStringContent) |         return this.goto(this.parseLiteralMultiStringContent) | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |     parseLiteralMultiEnd3 () { | ||||||
|  |       if (this.char === CHAR_APOS) { | ||||||
|  |         this.state.buf += "'" | ||||||
|  |         return this.next(this.parseLiteralMultiEnd4) | ||||||
|  |       } else { | ||||||
|  |         return this.returnNow() | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     parseLiteralMultiEnd4 () { | ||||||
|  |       if (this.char === CHAR_APOS) { | ||||||
|  |         this.state.buf += "'" | ||||||
|  |         return this.return() | ||||||
|  |       } else { | ||||||
|  |         return this.returnNow() | ||||||
|  |       } | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     /* STRINGS double quoted */ |     /* STRINGS double quoted */ | ||||||
|     parseDoubleString () { |     parseDoubleString () { | ||||||
| @@ -47073,7 +47092,7 @@ function makeParserClass (Parser) { | |||||||
|         } else if (this.atEndOfLine()) { |         } else if (this.atEndOfLine()) { | ||||||
|           throw this.error(new TomlError('Unterminated string')) |           throw this.error(new TomlError('Unterminated string')) | ||||||
|         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I)) { |         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I)) { | ||||||
|           throw this.errorControlCharInString() |           throw this.errorControlCharIn('strings') | ||||||
|         } else { |         } else { | ||||||
|           this.consume() |           this.consume() | ||||||
|         } |         } | ||||||
| @@ -47108,20 +47127,20 @@ function makeParserClass (Parser) { | |||||||
|         } else if (this.char === Parser.END) { |         } else if (this.char === Parser.END) { | ||||||
|           throw this.error(new TomlError('Unterminated multi-line string')) |           throw this.error(new TomlError('Unterminated multi-line string')) | ||||||
|         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I && this.char !== CTRL_J && this.char !== CTRL_M)) { |         } else if (this.char === CHAR_DEL || (this.char <= CTRL_CHAR_BOUNDARY && this.char !== CTRL_I && this.char !== CTRL_J && this.char !== CTRL_M)) { | ||||||
|           throw this.errorControlCharInString() |           throw this.errorControlCharIn('strings') | ||||||
|         } else { |         } else { | ||||||
|           this.consume() |           this.consume() | ||||||
|         } |         } | ||||||
|       } while (this.nextChar()) |       } while (this.nextChar()) | ||||||
|     } |     } | ||||||
|     errorControlCharInString () { |     errorControlCharIn (type) { | ||||||
|       let displayCode = '\\u00' |       let displayCode = '\\u00' | ||||||
|       if (this.char < 16) { |       if (this.char < 16) { | ||||||
|         displayCode += '0' |         displayCode += '0' | ||||||
|       } |       } | ||||||
|       displayCode += this.char.toString(16) |       displayCode += this.char.toString(16) | ||||||
| 
 | 
 | ||||||
|       return this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${displayCode} instead`)) |       return this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in ${type}, use ${displayCode} instead`)) | ||||||
|     } |     } | ||||||
|     recordMultiEscapeReplacement (replacement) { |     recordMultiEscapeReplacement (replacement) { | ||||||
|       this.state.buf += replacement |       this.state.buf += replacement | ||||||
| @@ -47137,12 +47156,28 @@ function makeParserClass (Parser) { | |||||||
|     } |     } | ||||||
|     parseMultiEnd2 () { |     parseMultiEnd2 () { | ||||||
|       if (this.char === CHAR_QUOT) { |       if (this.char === CHAR_QUOT) { | ||||||
|         return this.return() |         return this.next(this.parseMultiEnd3) | ||||||
|       } else { |       } else { | ||||||
|         this.state.buf += '""' |         this.state.buf += '""' | ||||||
|         return this.goto(this.parseMultiStringContent) |         return this.goto(this.parseMultiStringContent) | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |     parseMultiEnd3 () { | ||||||
|  |       if (this.char === CHAR_QUOT) { | ||||||
|  |         this.state.buf += '"' | ||||||
|  |         return this.next(this.parseMultiEnd4) | ||||||
|  |       } else { | ||||||
|  |         return this.returnNow() | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     parseMultiEnd4 () { | ||||||
|  |       if (this.char === CHAR_QUOT) { | ||||||
|  |         this.state.buf += '"' | ||||||
|  |         return this.return() | ||||||
|  |       } else { | ||||||
|  |         return this.returnNow() | ||||||
|  |       } | ||||||
|  |     } | ||||||
|     parseMultiEscape () { |     parseMultiEscape () { | ||||||
|       if (this.char === CTRL_M || this.char === CTRL_J) { |       if (this.char === CTRL_M || this.char === CTRL_J) { | ||||||
|         return this.next(this.parseMultiTrim) |         return this.next(this.parseMultiTrim) | ||||||
| @@ -47704,13 +47739,7 @@ function makeParserClass (Parser) { | |||||||
|       } |       } | ||||||
|     } |     } | ||||||
|     recordInlineListValue (value) { |     recordInlineListValue (value) { | ||||||
|       if (this.state.resultArr) { |       if (!this.state.resultArr) { | ||||||
|         const listType = this.state.resultArr[_contentType] |  | ||||||
|         const valueType = tomlType(value) |  | ||||||
|         if (listType !== valueType) { |  | ||||||
|           throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${listType} and ${valueType}`)) |  | ||||||
|         } |  | ||||||
|       } else { |  | ||||||
|         this.state.resultArr = InlineList(tomlType(value)) |         this.state.resultArr = InlineList(tomlType(value)) | ||||||
|       } |       } | ||||||
|       if (isFloat(value) || isInteger(value)) { |       if (isFloat(value) || isInteger(value)) { | ||||||
| @@ -47773,13 +47802,26 @@ function makeParserClass (Parser) { | |||||||
|       } else if (this.char === Parser.END || this.char === CHAR_NUM || this.char === CTRL_J || this.char === CTRL_M) { |       } else if (this.char === Parser.END || this.char === CHAR_NUM || this.char === CTRL_J || this.char === CTRL_M) { | ||||||
|         throw this.error(new TomlError('Unterminated inline array')) |         throw this.error(new TomlError('Unterminated inline array')) | ||||||
|       } else if (this.char === CHAR_COMMA) { |       } else if (this.char === CHAR_COMMA) { | ||||||
|         return this.next(this.parseInlineTable) |         return this.next(this.parseInlineTablePostComma) | ||||||
|       } else if (this.char === CHAR_RCUB) { |       } else if (this.char === CHAR_RCUB) { | ||||||
|         return this.goto(this.parseInlineTable) |         return this.goto(this.parseInlineTable) | ||||||
|       } else { |       } else { | ||||||
|         throw this.error(new TomlError('Invalid character, expected whitespace, comma (,) or close bracket (])')) |         throw this.error(new TomlError('Invalid character, expected whitespace, comma (,) or close bracket (])')) | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |     parseInlineTablePostComma () { | ||||||
|  |       if (this.char === CHAR_SP || this.char === CTRL_I) { | ||||||
|  |         return null | ||||||
|  |       } else if (this.char === Parser.END || this.char === CHAR_NUM || this.char === CTRL_J || this.char === CTRL_M) { | ||||||
|  |         throw this.error(new TomlError('Unterminated inline array')) | ||||||
|  |       } else if (this.char === CHAR_COMMA) { | ||||||
|  |         throw this.error(new TomlError('Empty elements in inline tables are not permitted')) | ||||||
|  |       } else if (this.char === CHAR_RCUB) { | ||||||
|  |         throw this.error(new TomlError('Trailing commas in inline tables are not permitted')) | ||||||
|  |       } else { | ||||||
|  |         return this.goto(this.parseInlineTable) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|   return TOMLParser |   return TOMLParser | ||||||
| } | } | ||||||
| @@ -48017,10 +48059,6 @@ function typeError (type) { | |||||||
|   return new Error('Can only stringify objects, not ' + type) |   return new Error('Can only stringify objects, not ' + type) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function arrayOneTypeError () { |  | ||||||
|   return new Error("Array values can't have mixed types") |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function getInlineKeys (obj) { | function getInlineKeys (obj) { | ||||||
|   return Object.keys(obj).filter(key => isInline(obj[key])) |   return Object.keys(obj).filter(key => isInline(obj[key])) | ||||||
| } | } | ||||||
| @@ -48042,12 +48080,12 @@ function toJSON (obj) { | |||||||
| 
 | 
 | ||||||
| function stringifyObject (prefix, indent, obj) { | function stringifyObject (prefix, indent, obj) { | ||||||
|   obj = toJSON(obj) |   obj = toJSON(obj) | ||||||
|   var inlineKeys |   let inlineKeys | ||||||
|   var complexKeys |   let complexKeys | ||||||
|   inlineKeys = getInlineKeys(obj) |   inlineKeys = getInlineKeys(obj) | ||||||
|   complexKeys = getComplexKeys(obj) |   complexKeys = getComplexKeys(obj) | ||||||
|   var result = [] |   const result = [] | ||||||
|   var inlineIndent = indent || '' |   const inlineIndent = indent || '' | ||||||
|   inlineKeys.forEach(key => { |   inlineKeys.forEach(key => { | ||||||
|     var type = tomlType(obj[key]) |     var type = tomlType(obj[key]) | ||||||
|     if (type !== 'undefined' && type !== 'null') { |     if (type !== 'undefined' && type !== 'null') { | ||||||
| @@ -48055,7 +48093,7 @@ function stringifyObject (prefix, indent, obj) { | |||||||
|     } |     } | ||||||
|   }) |   }) | ||||||
|   if (result.length > 0) result.push('') |   if (result.length > 0) result.push('') | ||||||
|   var complexIndent = prefix && inlineKeys.length > 0 ? indent + '  ' : '' |   const complexIndent = prefix && inlineKeys.length > 0 ? indent + '  ' : '' | ||||||
|   complexKeys.forEach(key => { |   complexKeys.forEach(key => { | ||||||
|     result.push(stringifyComplex(prefix, complexIndent, key, obj[key])) |     result.push(stringifyComplex(prefix, complexIndent, key, obj[key])) | ||||||
|   }) |   }) | ||||||
| @@ -48107,7 +48145,7 @@ function tomlType (value) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function stringifyKey (key) { | function stringifyKey (key) { | ||||||
|   var keyStr = String(key) |   const keyStr = String(key) | ||||||
|   if (/^[-A-Za-z0-9_]+$/.test(keyStr)) { |   if (/^[-A-Za-z0-9_]+$/.test(keyStr)) { | ||||||
|     return keyStr |     return keyStr | ||||||
|   } else { |   } else { | ||||||
| @@ -48203,9 +48241,7 @@ function stringifyFloat (value) { | |||||||
|   } else if (Object.is(value, -0)) { |   } else if (Object.is(value, -0)) { | ||||||
|     return '-0.0' |     return '-0.0' | ||||||
|   } |   } | ||||||
|   var chunks = String(value).split('.') |   const [int, dec] = String(value).split('.') | ||||||
|   var int = chunks[0] |  | ||||||
|   var dec = chunks[1] || 0 |  | ||||||
|   return stringifyInteger(int) + '.' + dec |   return stringifyInteger(int) + '.' + dec | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @@ -48217,29 +48253,10 @@ function stringifyDatetime (value) { | |||||||
|   return value.toISOString() |   return value.toISOString() | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function isNumber (type) { |  | ||||||
|   return type === 'float' || type === 'integer' |  | ||||||
| } |  | ||||||
| function arrayType (values) { |  | ||||||
|   var contentType = tomlType(values[0]) |  | ||||||
|   if (values.every(_ => tomlType(_) === contentType)) return contentType |  | ||||||
|   // mixed integer/float, emit as floats
 |  | ||||||
|   if (values.every(_ => isNumber(tomlType(_)))) return 'float' |  | ||||||
|   return 'mixed' |  | ||||||
| } |  | ||||||
| function validateArray (values) { |  | ||||||
|   const type = arrayType(values) |  | ||||||
|   if (type === 'mixed') { |  | ||||||
|     throw arrayOneTypeError() |  | ||||||
|   } |  | ||||||
|   return type |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function stringifyInlineArray (values) { | function stringifyInlineArray (values) { | ||||||
|   values = toJSON(values) |   values = toJSON(values) | ||||||
|   const type = validateArray(values) |   let result = '[' | ||||||
|   var result = '[' |   const stringified = values.map(_ => stringifyInline(_)) | ||||||
|   var stringified = values.map(_ => stringifyInline(_, type)) |  | ||||||
|   if (stringified.join(', ').length > 60 || /\n/.test(stringified)) { |   if (stringified.join(', ').length > 60 || /\n/.test(stringified)) { | ||||||
|     result += '\n  ' + stringified.join(',\n  ') + '\n' |     result += '\n  ' + stringified.join(',\n  ') + '\n' | ||||||
|   } else { |   } else { | ||||||
| @@ -48250,7 +48267,7 @@ function stringifyInlineArray (values) { | |||||||
| 
 | 
 | ||||||
| function stringifyInlineTable (value) { | function stringifyInlineTable (value) { | ||||||
|   value = toJSON(value) |   value = toJSON(value) | ||||||
|   var result = [] |   const result = [] | ||||||
|   Object.keys(value).forEach(key => { |   Object.keys(value).forEach(key => { | ||||||
|     result.push(stringifyKey(key) + ' = ' + stringifyAnyInline(value[key], false)) |     result.push(stringifyKey(key) + ' = ' + stringifyAnyInline(value[key], false)) | ||||||
|   }) |   }) | ||||||
| @@ -48258,7 +48275,7 @@ function stringifyInlineTable (value) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function stringifyComplex (prefix, indent, key, value) { | function stringifyComplex (prefix, indent, key, value) { | ||||||
|   var valueType = tomlType(value) |   const valueType = tomlType(value) | ||||||
|   /* istanbul ignore else */ |   /* istanbul ignore else */ | ||||||
|   if (valueType === 'array') { |   if (valueType === 'array') { | ||||||
|     return stringifyArrayOfTables(prefix, indent, key, value) |     return stringifyArrayOfTables(prefix, indent, key, value) | ||||||
| @@ -48271,12 +48288,11 @@ function stringifyComplex (prefix, indent, key, value) { | |||||||
| 
 | 
 | ||||||
| function stringifyArrayOfTables (prefix, indent, key, values) { | function stringifyArrayOfTables (prefix, indent, key, values) { | ||||||
|   values = toJSON(values) |   values = toJSON(values) | ||||||
|   validateArray(values) |   const firstValueType = tomlType(values[0]) | ||||||
|   var firstValueType = tomlType(values[0]) |  | ||||||
|   /* istanbul ignore if */ |   /* istanbul ignore if */ | ||||||
|   if (firstValueType !== 'table') throw typeError(firstValueType) |   if (firstValueType !== 'table') throw typeError(firstValueType) | ||||||
|   var fullKey = prefix + stringifyKey(key) |   const fullKey = prefix + stringifyKey(key) | ||||||
|   var result = '' |   let result = '' | ||||||
|   values.forEach(table => { |   values.forEach(table => { | ||||||
|     if (result.length > 0) result += '\n' |     if (result.length > 0) result += '\n' | ||||||
|     result += indent + '[[' + fullKey + ']]\n' |     result += indent + '[[' + fullKey + ']]\n' | ||||||
| @@ -48286,8 +48302,8 @@ function stringifyArrayOfTables (prefix, indent, key, values) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function stringifyComplexTable (prefix, indent, key, value) { | function stringifyComplexTable (prefix, indent, key, value) { | ||||||
|   var fullKey = prefix + stringifyKey(key) |   const fullKey = prefix + stringifyKey(key) | ||||||
|   var result = '' |   let result = '' | ||||||
|   if (getInlineKeys(value).length > 0) { |   if (getInlineKeys(value).length > 0) { | ||||||
|     result += indent + '[' + fullKey + ']\n' |     result += indent + '[' + fullKey + ']\n' | ||||||
|   } |   } | ||||||
| @@ -90227,7 +90243,7 @@ class CacheDistributor { | |||||||
|                         .split('\n') |                         .split('\n') | ||||||
|                         .join(',')} or ${constants_1.CACHE_DEPENDENCY_BACKUP_PATH}` |                         .join(',')} or ${constants_1.CACHE_DEPENDENCY_BACKUP_PATH}` | ||||||
|                     : this.cacheDependencyPath.split('\n').join(','); |                     : this.cacheDependencyPath.split('\n').join(','); | ||||||
|                 throw new Error(`No file in ${process.cwd()} matched to [${file}], make sure you have checked out the target repository`); |                 throw new Error(`No file in ${process.cwd()} matched to [${file}], make sure you have checked out the target repository. No cache paths were identified for ${this.packageManager} with cache-dependency-path = ${this.cacheDependencyPath}. This likely indicates no dependencies to cache. Consider removing the cache step if it's not needed`); | ||||||
|             } |             } | ||||||
|             const cachePath = yield this.getCacheGlobalDirectories(); |             const cachePath = yield this.getCacheGlobalDirectories(); | ||||||
|             core.saveState(State.CACHE_PATHS, cachePath); |             core.saveState(State.CACHE_PATHS, cachePath); | ||||||
| @@ -90407,12 +90423,12 @@ class PipCache extends cache_distributor_1.default { | |||||||
|             let restoreKey = ''; |             let restoreKey = ''; | ||||||
|             if (utils_1.IS_LINUX) { |             if (utils_1.IS_LINUX) { | ||||||
|                 const osInfo = yield (0, utils_1.getLinuxInfo)(); |                 const osInfo = yield (0, utils_1.getLinuxInfo)(); | ||||||
|                 primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; |                 primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; | ||||||
|                 restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`; |                 restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`; | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|                 primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; |                 primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; | ||||||
|                 restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}`; |                 restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}`; | ||||||
|             } |             } | ||||||
|             return { |             return { | ||||||
|                 primaryKey, |                 primaryKey, | ||||||
| @@ -90498,7 +90514,7 @@ class PipenvCache extends cache_distributor_1.default { | |||||||
|     computeKeys() { |     computeKeys() { | ||||||
|         return __awaiter(this, void 0, void 0, function* () { |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|             const hash = yield glob.hashFiles(this.patterns); |             const hash = yield glob.hashFiles(this.patterns); | ||||||
|             const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; |             const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; | ||||||
|             const restoreKey = undefined; |             const restoreKey = undefined; | ||||||
|             return { |             return { | ||||||
|                 primaryKey, |                 primaryKey, | ||||||
| @@ -90611,7 +90627,7 @@ class PoetryCache extends cache_distributor_1.default { | |||||||
|         return __awaiter(this, void 0, void 0, function* () { |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|             const hash = yield glob.hashFiles(this.patterns); |             const hash = yield glob.hashFiles(this.patterns); | ||||||
|             // "v2" is here to invalidate old caches of this cache distributor, which were created broken:
 |             // "v2" is here to invalidate old caches of this cache distributor, which were created broken:
 | ||||||
|             const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`; |             const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`; | ||||||
|             const restoreKey = undefined; |             const restoreKey = undefined; | ||||||
|             return { |             return { | ||||||
|                 primaryKey, |                 primaryKey, | ||||||
| @@ -91425,7 +91441,8 @@ function installPyPy(pypyVersion, pythonVersion, architecture, allowPreReleases, | |||||||
|         const downloadUrl = `${foundAsset.download_url}`; |         const downloadUrl = `${foundAsset.download_url}`; | ||||||
|         core.info(`Downloading PyPy from "${downloadUrl}" ...`); |         core.info(`Downloading PyPy from "${downloadUrl}" ...`); | ||||||
|         try { |         try { | ||||||
|             const pypyPath = yield tc.downloadTool(downloadUrl); |             const fileName = (0, utils_1.getDownloadFileName)(downloadUrl); | ||||||
|  |             const pypyPath = yield tc.downloadTool(downloadUrl, fileName); | ||||||
|             core.info('Extracting downloaded archive...'); |             core.info('Extracting downloaded archive...'); | ||||||
|             if (utils_1.IS_WINDOWS) { |             if (utils_1.IS_WINDOWS) { | ||||||
|                 downloadDir = yield tc.extractZip(pypyPath); |                 downloadDir = yield tc.extractZip(pypyPath); | ||||||
| @@ -91687,7 +91704,8 @@ function installCpythonFromRelease(release) { | |||||||
|         core.info(`Download from "${downloadUrl}"`); |         core.info(`Download from "${downloadUrl}"`); | ||||||
|         let pythonPath = ''; |         let pythonPath = ''; | ||||||
|         try { |         try { | ||||||
|             pythonPath = yield tc.downloadTool(downloadUrl, undefined, AUTH); |             const fileName = (0, utils_1.getDownloadFileName)(downloadUrl); | ||||||
|  |             pythonPath = yield tc.downloadTool(downloadUrl, fileName, AUTH); | ||||||
|             core.info('Extract downloaded archive'); |             core.info('Extract downloaded archive'); | ||||||
|             let pythonExtractedFolder; |             let pythonExtractedFolder; | ||||||
|             if (utils_1.IS_WINDOWS) { |             if (utils_1.IS_WINDOWS) { | ||||||
| @@ -91922,7 +91940,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { | |||||||
|     return (mod && mod.__esModule) ? mod : { "default": mod }; |     return (mod && mod.__esModule) ? mod : { "default": mod }; | ||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||||
| exports.getNextPageUrl = exports.getBinaryDirectory = exports.getVersionInputFromFile = exports.getVersionInputFromPlainFile = exports.getVersionInputFromTomlFile = exports.getOSInfo = exports.getLinuxInfo = exports.logWarning = exports.isCacheFeatureAvailable = exports.isGhes = exports.validatePythonVersionFormatForPyPy = exports.writeExactPyPyVersionFile = exports.readExactPyPyVersionFile = exports.getPyPyVersionFromPath = exports.isNightlyKeyword = exports.validateVersion = exports.createSymlinkInFolder = exports.WINDOWS_PLATFORMS = exports.WINDOWS_ARCHS = exports.IS_MAC = exports.IS_LINUX = exports.IS_WINDOWS = void 0; | exports.getDownloadFileName = exports.getNextPageUrl = exports.getBinaryDirectory = exports.getVersionInputFromFile = exports.getVersionInputFromPlainFile = exports.getVersionInputFromTomlFile = exports.getOSInfo = exports.getLinuxInfo = exports.logWarning = exports.isCacheFeatureAvailable = exports.isGhes = exports.validatePythonVersionFormatForPyPy = exports.writeExactPyPyVersionFile = exports.readExactPyPyVersionFile = exports.getPyPyVersionFromPath = exports.isNightlyKeyword = exports.validateVersion = exports.createSymlinkInFolder = exports.WINDOWS_PLATFORMS = exports.WINDOWS_ARCHS = exports.IS_MAC = exports.IS_LINUX = exports.IS_WINDOWS = void 0; | ||||||
| /* eslint no-unsafe-finally: "off" */ | /* eslint no-unsafe-finally: "off" */ | ||||||
| const cache = __importStar(__nccwpck_require__(7799)); | const cache = __importStar(__nccwpck_require__(7799)); | ||||||
| const core = __importStar(__nccwpck_require__(2186)); | const core = __importStar(__nccwpck_require__(2186)); | ||||||
| @@ -92100,7 +92118,9 @@ function extractValue(obj, keys) { | |||||||
|  */ |  */ | ||||||
| function getVersionInputFromTomlFile(versionFile) { | function getVersionInputFromTomlFile(versionFile) { | ||||||
|     core.debug(`Trying to resolve version form ${versionFile}`); |     core.debug(`Trying to resolve version form ${versionFile}`); | ||||||
|     const pyprojectFile = fs_1.default.readFileSync(versionFile, 'utf8'); |     let pyprojectFile = fs_1.default.readFileSync(versionFile, 'utf8'); | ||||||
|  |     // Normalize the line endings in the pyprojectFile
 | ||||||
|  |     pyprojectFile = pyprojectFile.replace(/\r\n/g, '\n'); | ||||||
|     const pyprojectConfig = toml.parse(pyprojectFile); |     const pyprojectConfig = toml.parse(pyprojectFile); | ||||||
|     let keys = []; |     let keys = []; | ||||||
|     if ('project' in pyprojectConfig) { |     if ('project' in pyprojectConfig) { | ||||||
| @@ -92182,6 +92202,20 @@ function getNextPageUrl(response) { | |||||||
|     return null; |     return null; | ||||||
| } | } | ||||||
| exports.getNextPageUrl = getNextPageUrl; | exports.getNextPageUrl = getNextPageUrl; | ||||||
|  | /** | ||||||
|  |  * Add temporary fix for Windows | ||||||
|  |  * On Windows, it is necessary to retain the .zip extension for proper extraction. | ||||||
|  |  * because the tc.extractZip() failure due to tc.downloadTool() not adding .zip extension. | ||||||
|  |  * Related issue: https://github.com/actions/toolkit/issues/1179
 | ||||||
|  |  * Related issue: https://github.com/actions/setup-python/issues/819
 | ||||||
|  |  */ | ||||||
|  | function getDownloadFileName(downloadUrl) { | ||||||
|  |     const tempDir = process.env.RUNNER_TEMP || '.'; | ||||||
|  |     return exports.IS_WINDOWS | ||||||
|  |         ? path.join(tempDir, path.basename(downloadUrl)) | ||||||
|  |         : undefined; | ||||||
|  | } | ||||||
|  | exports.getDownloadFileName = getDownloadFileName; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /***/ }), | /***/ }), | ||||||
|   | |||||||
| @@ -319,6 +319,7 @@ steps: | |||||||
| - run: poetry install | - run: poetry install | ||||||
| - run: poetry run pytest | - run: poetry run pytest | ||||||
| ``` | ``` | ||||||
|  | >**Note:** If the `setup-python` version does not match the version specified in `pyproject.toml` and the python version in `pyproject.toml` is less than the runner's python version, `poetry install` will default to using the runner's Python version. | ||||||
|  |  | ||||||
| **Using a list of file paths to cache dependencies** | **Using a list of file paths to cache dependencies** | ||||||
| ```yaml | ```yaml | ||||||
|   | |||||||
| @@ -6,13 +6,13 @@ We have prepared a short guide so that the process of making your contribution i | |||||||
|  |  | ||||||
| ## How can I contribute... | ## How can I contribute... | ||||||
|  |  | ||||||
| * [Contribute Documentation:green_book:](#contribute-documentation) | * [Contribute Documentation :green_book:](#contribute-documentation) | ||||||
|  |  | ||||||
| * [Contribute Code :computer:](#contribute-code) | * [Contribute Code :computer:](#contribute-code) | ||||||
|  |  | ||||||
| * [Provide Support on Issues:pencil:](#provide-support-on-issues) | * [Provide Support on Issues :pencil:](#provide-support-on-issues) | ||||||
|  |  | ||||||
| * [Review Pull Requests:mag:](#review-pull-requests) | * [Review Pull Requests :mag:](#review-pull-requests) | ||||||
|  |  | ||||||
| ## Contribute documentation | ## Contribute documentation | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										16
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -16,7 +16,7 @@ | |||||||
|         "@actions/http-client": "^2.2.1", |         "@actions/http-client": "^2.2.1", | ||||||
|         "@actions/io": "^1.0.2", |         "@actions/io": "^1.0.2", | ||||||
|         "@actions/tool-cache": "^2.0.1", |         "@actions/tool-cache": "^2.0.1", | ||||||
|         "@iarna/toml": "^2.2.5", |         "@iarna/toml": "^3.0.0", | ||||||
|         "semver": "^7.6.0" |         "semver": "^7.6.0" | ||||||
|       }, |       }, | ||||||
|       "devDependencies": { |       "devDependencies": { | ||||||
| @@ -1084,9 +1084,9 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "node_modules/@iarna/toml": { |     "node_modules/@iarna/toml": { | ||||||
|       "version": "2.2.5", |       "version": "3.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", |       "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-3.0.0.tgz", | ||||||
|       "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" |       "integrity": "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==" | ||||||
|     }, |     }, | ||||||
|     "node_modules/@istanbuljs/load-nyc-config": { |     "node_modules/@istanbuljs/load-nyc-config": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
| @@ -4284,12 +4284,12 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/micromatch": { |     "node_modules/micromatch": { | ||||||
|       "version": "4.0.5", |       "version": "4.0.8", | ||||||
|       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", |       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", | ||||||
|       "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", |       "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "braces": "^3.0.2", |         "braces": "^3.0.3", | ||||||
|         "picomatch": "^2.3.1" |         "picomatch": "^2.3.1" | ||||||
|       }, |       }, | ||||||
|       "engines": { |       "engines": { | ||||||
|   | |||||||
| @@ -32,7 +32,7 @@ | |||||||
|     "@actions/http-client": "^2.2.1", |     "@actions/http-client": "^2.2.1", | ||||||
|     "@actions/io": "^1.0.2", |     "@actions/io": "^1.0.2", | ||||||
|     "@actions/tool-cache": "^2.0.1", |     "@actions/tool-cache": "^2.0.1", | ||||||
|     "@iarna/toml": "^2.2.5", |     "@iarna/toml": "^3.0.0", | ||||||
|     "semver": "^7.6.0" |     "semver": "^7.6.0" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|   | |||||||
| @@ -32,7 +32,11 @@ abstract class CacheDistributor { | |||||||
|               .join(',')} or ${CACHE_DEPENDENCY_BACKUP_PATH}` |               .join(',')} or ${CACHE_DEPENDENCY_BACKUP_PATH}` | ||||||
|           : this.cacheDependencyPath.split('\n').join(','); |           : this.cacheDependencyPath.split('\n').join(','); | ||||||
|       throw new Error( |       throw new Error( | ||||||
|         `No file in ${process.cwd()} matched to [${file}], make sure you have checked out the target repository` |         `No file in ${process.cwd()} matched to [${file}], make sure you have checked out the target repository. No cache paths were identified for ${ | ||||||
|  |           this.packageManager | ||||||
|  |         } with cache-dependency-path = ${ | ||||||
|  |           this.cacheDependencyPath | ||||||
|  |         }. This likely indicates no dependencies to cache. Consider removing the cache step if it's not needed` | ||||||
|       ); |       ); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -67,11 +67,11 @@ class PipCache extends CacheDistributor { | |||||||
|  |  | ||||||
|     if (IS_LINUX) { |     if (IS_LINUX) { | ||||||
|       const osInfo = await getLinuxInfo(); |       const osInfo = await getLinuxInfo(); | ||||||
|       primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; |       primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; | ||||||
|       restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`; |       restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`; | ||||||
|     } else { |     } else { | ||||||
|       primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; |       primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; | ||||||
|       restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}`; |       restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}`; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     return { |     return { | ||||||
|   | |||||||
| @@ -32,7 +32,7 @@ class PipenvCache extends CacheDistributor { | |||||||
|  |  | ||||||
|   protected async computeKeys() { |   protected async computeKeys() { | ||||||
|     const hash = await glob.hashFiles(this.patterns); |     const hash = await glob.hashFiles(this.patterns); | ||||||
|     const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; |     const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; | ||||||
|     const restoreKey = undefined; |     const restoreKey = undefined; | ||||||
|     return { |     return { | ||||||
|       primaryKey, |       primaryKey, | ||||||
|   | |||||||
| @@ -47,7 +47,7 @@ class PoetryCache extends CacheDistributor { | |||||||
|   protected async computeKeys() { |   protected async computeKeys() { | ||||||
|     const hash = await glob.hashFiles(this.patterns); |     const hash = await glob.hashFiles(this.patterns); | ||||||
|     // "v2" is here to invalidate old caches of this cache distributor, which were created broken: |     // "v2" is here to invalidate old caches of this cache distributor, which were created broken: | ||||||
|     const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`; |     const primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${process.arch}-python-${this.pythonVersion}-${this.packageManager}-v2-${hash}`; | ||||||
|     const restoreKey = undefined; |     const restoreKey = undefined; | ||||||
|     return { |     return { | ||||||
|       primaryKey, |       primaryKey, | ||||||
|   | |||||||
| @@ -14,7 +14,8 @@ import { | |||||||
|   createSymlinkInFolder, |   createSymlinkInFolder, | ||||||
|   isNightlyKeyword, |   isNightlyKeyword, | ||||||
|   writeExactPyPyVersionFile, |   writeExactPyPyVersionFile, | ||||||
|   getBinaryDirectory |   getBinaryDirectory, | ||||||
|  |   getDownloadFileName | ||||||
| } from './utils'; | } from './utils'; | ||||||
|  |  | ||||||
| export async function installPyPy( | export async function installPyPy( | ||||||
| @@ -69,7 +70,8 @@ export async function installPyPy( | |||||||
|   core.info(`Downloading PyPy from "${downloadUrl}" ...`); |   core.info(`Downloading PyPy from "${downloadUrl}" ...`); | ||||||
|  |  | ||||||
|   try { |   try { | ||||||
|     const pypyPath = await tc.downloadTool(downloadUrl); |     const fileName = getDownloadFileName(downloadUrl); | ||||||
|  |     const pypyPath = await tc.downloadTool(downloadUrl, fileName); | ||||||
|  |  | ||||||
|     core.info('Extracting downloaded archive...'); |     core.info('Extracting downloaded archive...'); | ||||||
|     if (IS_WINDOWS) { |     if (IS_WINDOWS) { | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ import * as tc from '@actions/tool-cache'; | |||||||
| import * as exec from '@actions/exec'; | import * as exec from '@actions/exec'; | ||||||
| import * as httpm from '@actions/http-client'; | import * as httpm from '@actions/http-client'; | ||||||
| import {ExecOptions} from '@actions/exec/lib/interfaces'; | import {ExecOptions} from '@actions/exec/lib/interfaces'; | ||||||
| import {IS_WINDOWS, IS_LINUX} from './utils'; | import {IS_WINDOWS, IS_LINUX, getDownloadFileName} from './utils'; | ||||||
|  |  | ||||||
| const TOKEN = core.getInput('token'); | const TOKEN = core.getInput('token'); | ||||||
| const AUTH = !TOKEN ? undefined : `token ${TOKEN}`; | const AUTH = !TOKEN ? undefined : `token ${TOKEN}`; | ||||||
| @@ -98,7 +98,8 @@ export async function installCpythonFromRelease(release: tc.IToolRelease) { | |||||||
|   core.info(`Download from "${downloadUrl}"`); |   core.info(`Download from "${downloadUrl}"`); | ||||||
|   let pythonPath = ''; |   let pythonPath = ''; | ||||||
|   try { |   try { | ||||||
|     pythonPath = await tc.downloadTool(downloadUrl, undefined, AUTH); |     const fileName = getDownloadFileName(downloadUrl); | ||||||
|  |     pythonPath = await tc.downloadTool(downloadUrl, fileName, AUTH); | ||||||
|     core.info('Extract downloaded archive'); |     core.info('Extract downloaded archive'); | ||||||
|     let pythonExtractedFolder; |     let pythonExtractedFolder; | ||||||
|     if (IS_WINDOWS) { |     if (IS_WINDOWS) { | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								src/utils.ts
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								src/utils.ts
									
									
									
									
									
								
							| @@ -224,7 +224,10 @@ function extractValue(obj: any, keys: string[]): string | undefined { | |||||||
| export function getVersionInputFromTomlFile(versionFile: string): string[] { | export function getVersionInputFromTomlFile(versionFile: string): string[] { | ||||||
|   core.debug(`Trying to resolve version form ${versionFile}`); |   core.debug(`Trying to resolve version form ${versionFile}`); | ||||||
|  |  | ||||||
|   const pyprojectFile = fs.readFileSync(versionFile, 'utf8'); |   let pyprojectFile = fs.readFileSync(versionFile, 'utf8'); | ||||||
|  |   // Normalize the line endings in the pyprojectFile | ||||||
|  |   pyprojectFile = pyprojectFile.replace(/\r\n/g, '\n'); | ||||||
|  |  | ||||||
|   const pyprojectConfig = toml.parse(pyprojectFile); |   const pyprojectConfig = toml.parse(pyprojectFile); | ||||||
|   let keys = []; |   let keys = []; | ||||||
|  |  | ||||||
| @@ -310,3 +313,17 @@ export function getNextPageUrl<T>(response: ifm.TypedResponse<T>) { | |||||||
|   } |   } | ||||||
|   return null; |   return null; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * Add temporary fix for Windows | ||||||
|  |  * On Windows, it is necessary to retain the .zip extension for proper extraction. | ||||||
|  |  * because the tc.extractZip() failure due to tc.downloadTool() not adding .zip extension. | ||||||
|  |  * Related issue: https://github.com/actions/toolkit/issues/1179 | ||||||
|  |  * Related issue: https://github.com/actions/setup-python/issues/819 | ||||||
|  |  */ | ||||||
|  | export function getDownloadFileName(downloadUrl: string): string | undefined { | ||||||
|  |   const tempDir = process.env.RUNNER_TEMP || '.'; | ||||||
|  |   return IS_WINDOWS | ||||||
|  |     ? path.join(tempDir, path.basename(downloadUrl)) | ||||||
|  |     : undefined; | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user