Skip to main content

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, and git installed.
  • Install tox for running tests: pip install tox.

Steps to Build and Publish

  1. Run the Script: Execute build_and_push.sh from the root directory of the project.

    ./build_and_push.sh
    
  2. 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.
  3. 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

This version

2131

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gn-build-py-2131.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

gn_build_py-2131-py2.py3-none-macosx_14_0_x86_64.whl (849.5 kB view hashes)

Uploaded Python 2 Python 3 macOS 14.0+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page