Python wrapper around invoking gn (https://gn.googlesource.com/gn/)
Project description
gn-build-py
A Python wrapper to provide a pip-installable GN binary, designed for use with pre-commit. This tool simplifies the process of installing and using GN for source code formatting in projects that utilize pre-commit hooks.
Using gn-build-py as a Pre-commit Hook
To use gn-build-py
as a pre-commit hook for formatting GN files, add the following configuration to your .pre-commit-config.yaml
:
- repo: https://github.com/KindDragon/gn-build-py.git
rev: ''
hooks:
- id: gn-build-py
Than run pre-commit autoupdate
to update config to latest available gn build version.
This configuration ensures that the GN binary is available and used by pre-commit to format GN files in your repository.
Building and Publishing a New Package Version
The build_and_push.sh
script is used to automate the process of building, testing, and deploying new versions of gn-build-py
. It handles generating the latest setup.cfg
, building the package, running tests, committing changes, and tagging the release.
Prerequisites
- Ensure you have
python
,pip
, andgit
installed. - Install
tox
for running tests:pip install tox
.
Steps to Build and Publish
-
Run the Script: Execute
build_and_push.sh
from the root directory of the project../build_and_push.sh
-
Automated Process: The script will:
- Generate the latest
setup.cfg
with updated GN version. - Build the package.
- Run tests using
tox
. - Commit the changes to the repository.
- Tag the commit with the new version.
- Push the commit and tag to the repository.
- Generate the latest
-
Upload to PyPI (Optional): If you wish to distribute the package via PyPI, use twine to upload the distributions:
twine upload dist/*
Ensure you have the necessary credentials for PyPI and have tested the package thoroughly.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gn_build_py-2131-py2.py3-none-macosx_14_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e3d8ea0e4132dee3069134cc60f51c8976caf7817598f7d46a4fa209850c026 |
|
MD5 | ec7b6f140ca16e2923db56f9fe70d331 |
|
BLAKE2b-256 | 92c0de5411c9e1ebe2a6296eb46952964dc5a4258065848e96423b41be241f88 |