Skip to content

enovationgroup/copyright-license-manager

Repository files navigation

Copyright License Manager

PyPI PyPI - Python Version PyPI - Wheel PyPI - Format PyPI - License GitHub Actions - CI GitHub Actions - pre-commit Codecov

A cli tool for easy management of copyright and licenses in source code headers.

Installation

pip install clmgr

Features

Current supported languages

  • C#
  • Java
  • Python
  • TypeScript

Testing

This project uses pytest to run tests, if docstring examples are provided or included these will be included automatically.

Install test dependencies.

pip install -r requirements_dev.txt

Run tests.

pytest

Development

This project uses black to format code and flake8 for linting. To ensure these actions are run pre-commit is used. A git alias is provided which will configure the entire environment.

Configure environment.

git config include.path ../.gitaliases
git setup

Install dev dependencies.

pip install -r requirements_dev.txt

Install for development

pip install -e .

Format Code

python -m black clmgr/**

Release (Manual)

The following action describe the manual release process.

Install dev dependencies.

pip install -r requirements_dev.txt

Clean.

git clean -xfd

Build.

python setup.py sdist bdist_wheel

Verify.

twine check dist/*

Upload.

twine upload dist/*

Release

Releases are published automatically when a tag is pushed to GitHub.

# Set next version number
export RELEASE=x.x.x

# Create tags
git commit --allow-empty -m "build: release ${RELEASE}"
git tag -a ${RELEASE} -m "build: release ${RELEASE}"

# Push - Assume that we are working from a fork
git push upstream --tags