Skip to content

Commit adc61b1

Browse files
fix: update gyp-next to v0.20.4 (#3208)
1 parent b406532 commit adc61b1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2023
-2042
lines changed

gyp/.github/workflows/node-gyp.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ jobs:
2525
runs-on: ${{ matrix.os }}
2626
steps:
2727
- name: Clone gyp-next
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@v5
2929
with:
3030
path: gyp-next
3131
- name: Clone nodejs/node-gyp
32-
uses: actions/checkout@v4
32+
uses: actions/checkout@v5
3333
with:
3434
repository: nodejs/node-gyp
3535
path: node-gyp

gyp/.github/workflows/nodejs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ jobs:
2222
runs-on: ${{ matrix.os }}
2323
steps:
2424
- name: Clone gyp-next
25-
uses: actions/checkout@v4
25+
uses: actions/checkout@v5
2626
with:
2727
path: gyp-next
2828
- name: Clone nodejs/node
29-
uses: actions/checkout@v4
29+
uses: actions/checkout@v5
3030
with:
3131
repository: nodejs/node
3232
path: node

gyp/.github/workflows/python_tests.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
os: [macos-13, macos-latest, ubuntu-latest] # , windows-latest]
1818
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
1919
steps:
20-
- uses: actions/checkout@v4
20+
- uses: actions/checkout@v5
2121
- name: Set up Python ${{ matrix.python-version }}
2222
uses: actions/setup-python@v5
2323
with:
@@ -31,6 +31,7 @@ jobs:
3131
- run: ./gyp -V && ./gyp --version && gyp -V && gyp --version
3232
- name: Lint with ruff # See pyproject.toml for settings
3333
uses: astral-sh/ruff-action@v3
34+
- run: ruff format --check --diff
3435
- name: Test with pytest # See pyproject.toml for settings
3536
run: pytest
3637
# - name: Run doctests with pytest

gyp/.github/workflows/release-please.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
if: ${{ needs.release-please.outputs.release_created }} # only publish on release
2525
runs-on: ubuntu-latest
2626
steps:
27-
- uses: actions/checkout@v4
27+
- uses: actions/checkout@v5
2828
- name: Build a binary wheel and a source tarball
2929
run: pipx run build
3030
- name: Store the distribution packages
@@ -48,7 +48,7 @@ jobs:
4848
id-token: write # IMPORTANT: mandatory for trusted publishing
4949
steps:
5050
- name: Download all the dists
51-
uses: actions/download-artifact@v4
51+
uses: actions/download-artifact@v5
5252
with:
5353
name: python-package-distributions
5454
path: dist/
@@ -68,12 +68,12 @@ jobs:
6868
id-token: write # IMPORTANT: mandatory for sigstore
6969
steps:
7070
- name: Download all the dists
71-
uses: actions/download-artifact@v4
71+
uses: actions/download-artifact@v5
7272
with:
7373
name: python-package-distributions
7474
path: dist/
7575
- name: Sign the dists with Sigstore
76-
uses: sigstore/gh-action-sigstore-python@v3.0.0
76+
uses: sigstore/gh-action-sigstore-python@v3.0.1
7777
with:
7878
inputs: >-
7979
./dist/*.tar.gz

gyp/.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.20.3"
2+
".": "0.20.4"
33
}

gyp/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## [0.20.4](https://github.com/nodejs/gyp-next/compare/v0.20.3...v0.20.4) (2025-08-25)
4+
5+
6+
### Bug Fixes
7+
8+
* **cli:** remove duplicate usage ([#308](https://github.com/nodejs/gyp-next/issues/308)) ([0996f60](https://github.com/nodejs/gyp-next/commit/0996f60e9bc83ec9d7b31e39bebd23f8dc990130))
9+
* **docs:** Add running gyp via uv ([#306](https://github.com/nodejs/gyp-next/issues/306)) ([0e43f61](https://github.com/nodejs/gyp-next/commit/0e43f61da8154f9b460ccba9ce4c0a25d2383ac4))
10+
311
## [0.20.3](https://github.com/nodejs/gyp-next/compare/v0.20.2...v0.20.3) (2025-08-20)
412

513

gyp/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ Documents are available at [`./docs`](./docs).
66
__gyp-next__ is [released](https://github.com/nodejs/gyp-next/releases) to the [__Python Packaging Index__](https://pypi.org/project/gyp-next) (PyPI) and can be installed with the command:
77
* `python3 -m pip install gyp-next`
88

9-
When used as a command line utility, __gyp-next__ can also be installed with [pipx](https://pypa.github.io/pipx):
10-
* `pipx install gyp-next`
9+
When used as a command line utility, __gyp-next__ can also be installed with [pipx](https://pypa.github.io/pipx) or [uv](https://docs.astral.sh/uv):
10+
* `pipx install gyp-next ` # --or--
11+
* `uv tool install gyp-next`
1112
```
1213
Installing to a new venv 'gyp-next'
1314
installed package gyp-next 0.13.0, installed using Python 3.10.6
@@ -17,10 +18,11 @@ done! ✨ 🌟 ✨
1718
```
1819

1920
Or to run __gyp-next__ directly without installing it:
20-
* `pipx run gyp-next --help`
21+
* `pipx run gyp-next --help ` # --or--
22+
* `uvx --from=gyp-next gyp --help`
2123
```
2224
NOTE: running app 'gyp' from 'gyp-next'
23-
usage: usage: gyp [options ...] [build_file ...]
25+
usage: gyp [options ...] [build_file ...]
2426
2527
options:
2628
-h, --help show this help message and exit

gyp/pylib/gyp/MSVSNew.py

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@ def cmp(x, y):
3232
def MakeGuid(name, seed="msvs_new"):
3333
"""Returns a GUID for the specified target name.
3434
35-
Args:
36-
name: Target name.
37-
seed: Seed for MD5 hash.
38-
Returns:
39-
A GUID-line string calculated from the name and seed.
40-
41-
This generates something which looks like a GUID, but depends only on the
42-
name and seed. This means the same name/seed will always generate the same
43-
GUID, so that projects and solutions which refer to each other can explicitly
44-
determine the GUID to refer to explicitly. It also means that the GUID will
45-
not change when the project for a target is rebuilt.
46-
"""
35+
Args:
36+
name: Target name.
37+
seed: Seed for MD5 hash.
38+
Returns:
39+
A GUID-line string calculated from the name and seed.
40+
41+
This generates something which looks like a GUID, but depends only on the
42+
name and seed. This means the same name/seed will always generate the same
43+
GUID, so that projects and solutions which refer to each other can explicitly
44+
determine the GUID to refer to explicitly. It also means that the GUID will
45+
not change when the project for a target is rebuilt.
46+
"""
4747
# Calculate a MD5 signature for the seed and name.
4848
d = hashlib.md5((str(seed) + str(name)).encode("utf-8")).hexdigest().upper()
4949
# Convert most of the signature to GUID form (discard the rest)
@@ -78,15 +78,15 @@ class MSVSFolder(MSVSSolutionEntry):
7878
def __init__(self, path, name=None, entries=None, guid=None, items=None):
7979
"""Initializes the folder.
8080
81-
Args:
82-
path: Full path to the folder.
83-
name: Name of the folder.
84-
entries: List of folder entries to nest inside this folder. May contain
85-
Folder or Project objects. May be None, if the folder is empty.
86-
guid: GUID to use for folder, if not None.
87-
items: List of solution items to include in the folder project. May be
88-
None, if the folder does not directly contain items.
89-
"""
81+
Args:
82+
path: Full path to the folder.
83+
name: Name of the folder.
84+
entries: List of folder entries to nest inside this folder. May contain
85+
Folder or Project objects. May be None, if the folder is empty.
86+
guid: GUID to use for folder, if not None.
87+
items: List of solution items to include in the folder project. May be
88+
None, if the folder does not directly contain items.
89+
"""
9090
if name:
9191
self.name = name
9292
else:
@@ -128,19 +128,19 @@ def __init__(
128128
):
129129
"""Initializes the project.
130130
131-
Args:
132-
path: Absolute path to the project file.
133-
name: Name of project. If None, the name will be the same as the base
134-
name of the project file.
135-
dependencies: List of other Project objects this project is dependent
136-
upon, if not None.
137-
guid: GUID to use for project, if not None.
138-
spec: Dictionary specifying how to build this project.
139-
build_file: Filename of the .gyp file that the vcproj file comes from.
140-
config_platform_overrides: optional dict of configuration platforms to
141-
used in place of the default for this target.
142-
fixpath_prefix: the path used to adjust the behavior of _fixpath
143-
"""
131+
Args:
132+
path: Absolute path to the project file.
133+
name: Name of project. If None, the name will be the same as the base
134+
name of the project file.
135+
dependencies: List of other Project objects this project is dependent
136+
upon, if not None.
137+
guid: GUID to use for project, if not None.
138+
spec: Dictionary specifying how to build this project.
139+
build_file: Filename of the .gyp file that the vcproj file comes from.
140+
config_platform_overrides: optional dict of configuration platforms to
141+
used in place of the default for this target.
142+
fixpath_prefix: the path used to adjust the behavior of _fixpath
143+
"""
144144
self.path = path
145145
self.guid = guid
146146
self.spec = spec
@@ -195,16 +195,16 @@ def __init__(
195195
):
196196
"""Initializes the solution.
197197
198-
Args:
199-
path: Path to solution file.
200-
version: Format version to emit.
201-
entries: List of entries in solution. May contain Folder or Project
202-
objects. May be None, if the folder is empty.
203-
variants: List of build variant strings. If none, a default list will
204-
be used.
205-
websiteProperties: Flag to decide if the website properties section
206-
is generated.
207-
"""
198+
Args:
199+
path: Path to solution file.
200+
version: Format version to emit.
201+
entries: List of entries in solution. May contain Folder or Project
202+
objects. May be None, if the folder is empty.
203+
variants: List of build variant strings. If none, a default list will
204+
be used.
205+
websiteProperties: Flag to decide if the website properties section
206+
is generated.
207+
"""
208208
self.path = path
209209
self.websiteProperties = websiteProperties
210210
self.version = version
@@ -230,9 +230,9 @@ def __init__(
230230
def Write(self, writer=gyp.common.WriteOnDiff):
231231
"""Writes the solution file to disk.
232232
233-
Raises:
234-
IndexError: An entry appears multiple times.
235-
"""
233+
Raises:
234+
IndexError: An entry appears multiple times.
235+
"""
236236
# Walk the entry tree and collect all the folders and projects.
237237
all_entries = set()
238238
entries_to_check = self.entries[:]

0 commit comments

Comments
 (0)