...
- Operating system:
- Windows just works.
- Linux also requires Wine (standard package manager version should be fine, or makensis; see below).
- MacOS also requires Wine (or makensis; see below).
- A git client installed and on your path.
- A Subversion client installed and on your path (for web site updates).
- Apache Ant installed and on your path (see BUILDING.txt in the root of the code repository for version requirements).
- GnuPG installed; path can be supplied in your ~/build.properties file (
gpg.exec=/path/to/gpg
). - The latest release of the minimum Java version that the Tomcat version runs on installed and on your path.
- Java 17 is currently the minimum version of Java that can be used for Apache Tomcat 8.5.x and 9.0.x builds, though the minimum version of Java to run the released binaries is still Java 7 and Java 8, respectively.
- Java 22 is current the minimum version of Java that can be used for Apache Tomcat 10.1.x and 11.0.x (due to the use of the FFM API), though the minimum version of Java to run the released binaries is still Java 11 and 17 respectively.
- A public key that is part of the Apache web of trust.
A DigiCert key store and API key to properly-sign the release artifacts (see below).Note that the release build requires an active internet connection due to the use of the code-signing service. Sorry, you can't do a release from an airplane or bunker without an internet connection.
- An SSL.com eSigner signing credential to properly-sign the release artifacts (see below).
- Note that the release build requires an active internet connection due to the use of the code-signing service. Sorry, you can't do a release from an airplane or bunker without an internet connection.
- A reasonable internet connection (you will need to upload ~100MB).
...
- Install the Wine package from your package manager. On Debian Bookworm, this required:
- dpkg --add-architecture i386
- apt-get install wine wine32
- Configure a Wine32 environment using:
- WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg
- Then before you start the release ensure the following environment variables are set:
- export WINEARCH=win32
- export WINEPREFIX=~/.wine32
macOS
Using makensis
You can use makensis on MacOS but don't be tempted to just "brew install makensis" because you need a custom build. The information below is also in BUILDING.txt.
- Ensure that scons is installed (brew install scons is fine)
- Download the correct source distribution of makensis from https://sourceforge.net/projects/nsis/files/
- Unpack the makensis source, cd into the top-level directory and run this command:
- scons UNICODE=yes PREFIX=$PATH_TO_YOUR_TOMCAT_BUILD_LIBS/nsis-3.10/Bin SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no VERSION=3.10 install-compiler
- Ensure that $PATH_TO_YOUR_TOMCAT_BUILD_LIBS/nsis-3.10/Bin is in your $PATH, set nsis.tool=makensis and a standard release build should work.
12.x (Monterey), 13.x (Ventura), and 14.x (Sonoma)
...