linkchecker/doc/development.md
Chris Mayo e297b1a477 Stop including binary translation catalogs in the source
Makes it easier to contribute and accept translations.

Does add a new dependency on installation from source, polib. This is
not made mandatory because not all users will want translations.

polib has no further dependencies and can be installed anywhere
LinkChecker can, using pip too.

Add release process step to check polib is installed

The Wheel still includes translations. Recommend install from PyPI in
the README.

Translations were being compiled in setup.py until 2014, using a bundled
copy of msgfmt.py.
9c3739f1c ("Replace msgfmt.py with local tools.", 2014-09-08)
2021-11-22 19:30:33 +00:00

2.3 KiB

Developing LinkChecker

The following steps describe how to compile LinkChecker from source on various platforms.

This is a technical document, if you are looking for ways to participate in the community, you should rather look into contributing.

Requirements

On Mac OS X systems, using MacPorts, Fink or homebrew for software installation is recommended.

Setup for Unix/Linux

Execute make localbuild to compile a local version and execute ./linkchecker. Execute make test to run the unittest suite. Execute make dist to build a distributable source package.

Setup for Mac OS X

Execute make localbuild to compile a local version and execute ./linkchecker. Execute make test to run the unittest suite. Execute make app to build a distributable source package.

Setup for Windows

Execute windows\build.bat to build a local version. Execute windows\test.bat to run the unittest suite. Execute windows\dist.bat to build a binary installer.

Release process

  1. check whether updated translations need committing (make locale; make -C doc locale; make -C doc man)

  2. bump AppVersion in setup.py, edit changelog.txt, and if applicable the copyright date in linkcheck/configuration/__init__.py

  3. confirm tests have passed

  4. submit a pull request

  5. create a new git clone

  6. check Python polib package is installed

  7. build Python distribution files (setup.py sdist bdist_wheel)

  8. check distribution files (twine check dist/*) and upload to PyPI (twine upload dist/*)

  9. create release (vX.Y.Z) on GitHub (GitHub creates the .tar.gz and .zip archives)

  10. increment AppVersion to vX.Y.Z+1.dev0