You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2012/01/17 16:46:44 UTC
svn commit: r1232447 - in /tomcat/trunk: BUILDING.txt
webapps/docs/building.xml
Author: kkolinko
Date: Tue Jan 17 15:46:44 2012
New Revision: 1232447
URL: http://svn.apache.org/viewvc?rev=1232447&view=rev
Log:
Improve BUILDING.txt.
Especially:
1. Reformat the document.
2. Document creation of "build.properties" as an explicit step before building.
3. Document enabling GPG when doing a release.
4. Document enabling Checkstyle.
5. Document running the tests.
Modified:
tomcat/trunk/BUILDING.txt
tomcat/trunk/webapps/docs/building.xml
Modified: tomcat/trunk/BUILDING.txt
URL: http://svn.apache.org/viewvc/tomcat/trunk/BUILDING.txt?rev=1232447&r1=1232446&r2=1232447&view=diff
==============================================================================
--- tomcat/trunk/BUILDING.txt (original)
+++ tomcat/trunk/BUILDING.txt Tue Jan 17 15:46:44 2012
@@ -33,119 +33,290 @@ In order to build a binary distribution
source distribution, do the following:
-(0) Download and Install a Java Development Kit
+(1) Download and Install a Java Development Kit
-* If the JDK is already installed, skip to (1).
+ 1. If the JDK is already installed, skip to (2).
-* Download a Java Development Kit (JDK) release (version 1.6.x or later) from:
+ 2. Download a Java Development Kit (JDK) release (version 1.6.x or later)
+ from:
- http://www.oracle.com/technetwork/java/javase/downloads/index.html
+ http://www.oracle.com/technetwork/java/javase/downloads/index.html
-* Install the JDK according to the instructions included with the release.
+ 3. Install the JDK according to the instructions included with the release.
-* Set an environment variable JAVA_HOME to the pathname of the directory
- into which you installed the JDK release.
+ 4. Set an environment variable JAVA_HOME to the pathname of the directory
+ into which you installed the JDK release.
-(1) Install Apache Ant 1.8.x on your computer
+(2) Install Apache Ant 1.8.x on your computer
-* If Apache Ant 1.8.x is already installed on your computer, skip to (2).
+ 1. If Apache Ant 1.8.x is already installed on your computer, skip to (3).
-* Download a binary distribution of Ant 1.8.x from:
+ 2. Download a binary distribution of Ant 1.8.x from:
- http://ant.apache.org/bindownload.cgi
+ http://ant.apache.org/bindownload.cgi
-* Unpack the binary distribution into a convenient location so that the
- Ant release resides in its own directory (conventionally named
- "apache-ant-[version]"). For the purposes of the remainder of this document,
- the symbolic name "${ant.home}" is used to refer to the full pathname of
- the release directory.
+ 3. Unpack the binary distribution into a convenient location so that the
+ Ant release resides in its own directory (conventionally named
+ "apache-ant-[version]").
-* Create an ANT_HOME environment variable to point the directory
- ${ant.home}.
+ For the purposes of the remainder of this document, the symbolic name
+ "${ant.home}" is used to refer to the full pathname of the release
+ directory.
-* Modify the PATH environment variable to include the directory
- ${ant.home}/bin in its list. This makes the "ant" command line script
- available, which will be used to actually perform the build.
+ 4. Create an ANT_HOME environment variable to point the directory
+ ${ant.home}.
+ 5. Modify the PATH environment variable to include the directory
+ ${ant.home}/bin in its list. This makes the "ant" command line script
+ available, which will be used to actually perform the build.
-(2) Building Tomcat @VERSION_MAJOR_MINOR@
-(2.1) Checkout or obtain the source code for Tomcat @VERSION_MAJOR_MINOR@
+(3) Building Tomcat @VERSION_MAJOR_MINOR@
-* Tomcat SVN repository URL:
- http://svn.apache.org/repos/asf/tomcat/tc@VERSION_MAJOR_MINOR@.x/trunk/
+(3.1) Checkout or obtain the source code for Tomcat @VERSION_MAJOR_MINOR@
-* Download a source package from:
- http://tomcat.apache.org/download-@VERSION_MAJOR@0.cgi
+Checkout the source using SVN, selecting a tag for released version or
+trunk for the current development code, or download and unpack a source
+package.
-* Checkout the source using SVN, selecting a tag for released version or
- trunk for the current development code, or unpack a source package. The
- location where the source has been placed will be referred as
- ${tomcat.source}.
+ * Tomcat SVN repository URL:
-(2.2) Building
+ http://svn.apache.org/repos/asf/tomcat/tc@VERSION_MAJOR_MINOR@.x/trunk/
-* Go to that directory, and do:
+ * Source packages can be downloaded from:
- cd ${tomcat.source}
- ant
+ http://tomcat.apache.org/download-@VERSION_MAJOR@0.cgi
+
+The location where the source has been placed will be further referred as
+${tomcat.source}.
+
+(3.2) Building
+
+ 1. The build is controlled by creating a ${tomcat.source}/build.properties
+ file.
+
+ It is recommended to always create the file, because of unfortunate
+ default value of base.path property. You may start with the following
+ content for the file:
+
+ # ----- Default Base Path for Dependent Packages -----
+ # Replace this path with the directory path where dependencies binaries
+ # should be downloaded
+ base.path=/home/me/some-place-to-download-to
+
+ 2. Configure base.path property by adding it to the
+ ${tomcat.source}/build.properties file.
+
+ The base.path property specifies the place where Tomcat dependencies
+ required by the build are downloaded. It is recommended to place this
+ directory outside of the source tree, so that you do not waste your
+ time re-downloading the libraries.
-* WARNING: Running this command will download libraries required to build
- Tomcat to the /usr/share/java directory. On a typical Linux or MacOX
- system an ordinary user will not have access to write to this directory,
- and, even if you do, it may not be appropriate for you to write there.
+* WARNING: The default value of base.path property makes the build script
+ to download libraries required to build Tomcat to the /usr/share/java
+ directory. On a typical Linux or MacOX system an ordinary user will not
+ have access to write to this directory. Even if you do have access to
+ that directory, it is likely not appropriate for you to write there.
On Windows this usually corresponds to the "C:\usr\share\java"
- directory, unless Cygwin is used. Read below to learn how to customize
- the directory used to download the binaries.
+ directory, unless Cygwin is used.
-* NOTE: Users accessing the Internet through a proxy must use a properties
- file to indicate to Ant the proxy configuration. Read below.
+* NOTE: Users accessing the Internet through a proxy must use the properties
+ file to indicate to Ant the proxy configuration.
-* The build can be controlled by creating a ${tomcat.source}/build.properties
- file, and adding the following content to it:
+ The following properties should be added to the ${tomcat.source}/build.properties
+ file.
- # ----- Proxy setup -----
- # Uncomment if using a proxy server
- #proxy.host=proxy.domain
- #proxy.port=8080
- #proxy.use=on
+ proxy.use=on
+ proxy.host=proxy.domain
+ proxy.port=8080
+ proxy.user=username
+ proxy.password=password
- # ----- Default Base Path for Dependent Packages -----
- # Replace this path with the directory path where dependencies binaries
- # should be downloaded
- base.path=/home/me/some-place-to-download-to
+ See Apache Ant documentation for the <setproxy> task for details.
+ 3. Go to the sources directory and run Ant:
-(3) Updating sources
+ cd ${tomcat.source}
+ ant
-It is recommended that you regularly update the downloaded Tomcat @VERSION_MAJOR_MINOR@ sources
-using your SVN client.
+ This will execute the "deploy" target in build.xml.
-(4) Rebuilds
+ Once the build has completed successfully, a usable Tomcat installation
+ will have been produced in the ${tomcat.source}/output/build directory,
+ and can be started and stopped with the usual scripts.
+
+ Note that the build includes Tomcat documentation, which can be found
+ in the output/build/webapps/docs directory.
+
+ The path of the output directory can be controlled by specifying the
+ "tomcat.output" property in the build.properties file.
+
+* NOTE: Do not run the build as the root user. Building and running Tomcat
+ does not require root privileges.
+
+
+(4) Updating sources and rebuilding
+
+It is recommended that you regularly update the downloaded Tomcat @VERSION_MAJOR_MINOR@
+sources using your SVN client.
For a quick rebuild of only modified code you can use:
cd ${tomcat.source}
ant
-(5) Building the servlet and jsp API documentation
-The documentation can be easly built:
+(5) Special builds
+
+Some Tomcat components, that are included in the full release, but are not
+built during the default "deploy" build, can also be built separately.
+
+(5.1) Building API documentation (Javadoc)
+
+The API documentation can be easily built:
cd ${tomcat.source}
ant javadoc
-(6) Building the extras (commons-logging, webservices etc.).
+The output of this command will be found in the following directories:
+
+ output/dist/webapps/docs/api
+ output/dist/webapps/docs/elapi
+ output/dist/webapps/docs/jspapi
+ output/dist/webapps/docs/servletapi
+
+(5.2) Building the extras (commons-logging, webservices etc.)
+
cd ${tomcat.source}
ant extras
-(7) Building the embedded packages.
+(5.3) Building the embedded packages
+
cd ${tomcat.source}
ant embed
-(8) Building a full release (as provided via the ASF download pages):
+
+(6) Building a full release (as provided via the ASF download pages)
+
+ 1. Configure GPG, if needed
+
+ If the released artifacts have to be cryptographically signed with a
+ PGP signature, like the official ASF releases are, the following
+ property can be added to the build.properties file:
+
+ # Location of GPG executable (used only for releases)
+ gpg.exec=/path/to/gpg
+
+ You do not need it if you do not plan to sign the release.
+
+ If "gpg.exec" property does not point to an existing file, it will be
+ ignored and this feature will be disabled.
+
+ You will be prompted for the GPG passphrase when the release build
+ starts, unless "gpg.passphrase" property is set.
+
+ 2. Build the release:
cd ${tomcat.source}
ant release
+
+
+(7) Enabling Checkstyle
+
+Tomcat comes with a Checkstyle configuration that tests its source code
+for certain conventions, like presence of the license header.
+
+To enable Checkstyle checks during Tomcat build, add the following property
+to build.properties file:
+
+ execute.validate=true
+
+* NOTE: Checkstyle is licensed under LGPL. Using Checkstyle during Tomcat
+ build is optional and is off by default.
+
+
+(8) Running the tests
+
+The tests are not run when a release is built. There is separate command
+for running the tests.
+
+To run the testsuite use the following command:
+
+ cd ${tomcat.source}
+ ant test
+
+It is advisable to redirect output of the above command to a file for later
+inspection.
+
+The JUnit reports generated by the tests will be written to the following
+directory:
+
+ output/build/logs
+
+
+(8.1) Testing with APR connector
+
+By default the testsuite is run three times to test 3 different
+implementations of Tomcat connectors: BIO, NIO and APR. (If you are not
+familiar with Tomcat connectors, see config/http.html in documentation for
+details).
+
+The 3 runs are enabled and disabled individually by the following
+properties, which all are "true" by default:
+
+ execute.test.bio=true
+ execute.test.nio=true
+ execute.test.apr=true
+
+The APR connector can be tested only if Tomcat-Native library binaries are
+found by the testsuite. The "test.apr.loc" property specifies the directory
+where the library binaries are located.
+
+By default the "test.apr.loc" property specifies the following location:
+
+ output/build/bin/native/
+
+If you are on Windows and want to test the APR connector you can put the
+tcnative-1.dll file into ${tomcat.source}/bin/native/ and it will be copied
+into the above directory when the build runs.
+
+
+(8.2) Running a single test class
+
+It is possible to run a single JUnit test class by adding the "test.entry"
+property to the build.properties file. The property specifies the name of
+the test class.
+
+For example:
+
+ test.entry=org.apache.catalina.util.TestServerInfo
+
+
+(8.3) Other options
+
+ 1. It is possible to enable generation of access log file when the tests
+ are run. This is off by default and can be enabled by the following
+ property:
+
+ test.accesslog=true
+
+ The "access_log.<date>" file will be written to the same directory as
+ JUnit reports,
+
+ output/build/logs
+
+ 2. The testsuite respects logging configuration as configured by
+ ${tomcat.source}/conf/logging.properties
+
+ The log files will be written to the temporary directory used by the
+ tests,
+
+ output/test-tmp/logs
+
+ 3. It is possible to configure formatter used by JUnit reports. For
+ example the following property disables generation of separate report
+ files:
+
+ junit.formatter.usefile=false
Modified: tomcat/trunk/webapps/docs/building.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/building.xml?rev=1232447&r1=1232446&r2=1232447&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/building.xml (original)
+++ tomcat/trunk/webapps/docs/building.xml Tue Jan 17 15:46:44 2012
@@ -118,7 +118,7 @@ Use the following commands to build Tomc
to build Tomcat to the <code>/usr/share/java</code> directory by default.
On a typical Linux or MacOX system, an ordinary user
will not have access to write to this directory, and, even if you do,
- it may not be appropriate for you to write there. On Windows
+ it is likely not appropriate for you to write there. On Windows
this usually corresponds to the <code>C:\usr\share\java</code> directory,
unless Cygwin is used. Read below to learn how to customize the directory
used to download the binaries.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org