linkchecker/doc/development.md
Chris Mayo 2cc1319bee GitHub release must be created before Python distribution files
setuptools_scm will use the release tag.
2021-12-06 19:40:14 +00:00

77 lines
2.2 KiB
Markdown

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](contributing).
Requirements
------------
On Mac OS X systems, using MacPorts, Fink or homebrew for software
installation is recommended.
- Install Python >= 2.7.2 from http://www.python.org/
- *On Windows only*, install the Windows SDK
http://msdn.microsoft.com/de-de/windows/bb980924
- *On Windows only*, download and install the Microsoft
Visual C++ 2008 runtime from
http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
- *Optional, used for Virus checking:*
ClamAv for Unix from http://www.clamav.net/lang/en/download/
or for Windows from http://www.sosdg.org/clamav-win32/
- *Optional, for displaying country codes:*
Pygeoip from http://code.google.com/p/pygeoip/
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. 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 release (vX.Y.Z) on GitHub
6. create a new git clone
7. check Python polib package is installed
8. build Python distribution files (`setup.py sdist bdist_wheel`)
9. check distribution files (`twine check dist/*`) and upload to PyPI (`twine upload dist/*`)