Build

Build Tools#

dailyBuildMSVC.py#

The build script for the nightly windows build. Calls cmake and triggers release and debug build as well as the tests and installer / zip creation. Depends on a successful Linux build to pick up the docs.

dailyUpdateMakeGCC.sh#

The build script for the nightly Linux and macOS build. Calls cmake and triggers release and debug build as well as the tests and the zips.

Code Cleaning Tools#

checkStyle.py#

Checks .java, .cpp, .h and .py files for the correct license header and applies autopep8 and flake8 for PEP 8 compatibility. Also applies astyle to all .java, .cpp, and .h files. The position of the source tree(s) to check is given as optional arguments or determined relative to the position of the script. This call is part of our nightly tests. The script is able to fix some minor whitespace / naming issues when called with the "--fix" flag. The PEP 8 checks are quite slow, so if only a header check is wished, run with the option "--skip-pep".

Call:

checkStyle.py
checkStyle.py --fix <SUMO_HOME>/tools

Documentation Tools#

buildHTMLDocs.py#

Converts wiki-documentation into static HTML pages. It removes the wiki navigation and adds user doc navigation while keeping the contents intact. This script is called by the main Makefile if "make docs" is called. If the script is called with an argument, it tries to fetch the wiki site with the given name, if not it retrieves all sites listed in the table of contents. Call "buildHTMLDocs.py --help" for a complete list of options.

Call:

buildHTMLDocs.py SUMO

checkAuthors.py#

Checks the log for all source files for authors and "thanks" and checks whether they appear in the file header. It can optionally try to fix the file header and also update the global AUTHORS file if needed.

Call:

checkAuthors.py