Get clean sources and build a distribution and (at least) the smoketest.
- Do a clean checkout and tag the sources.
Of course, you checked in all your earlier work to the CVS repository, right?
The safest way to perform a build for distribution is to check out a fresh
new copy of the repository from CVS. This avoids any potential problems with
uncommitted changes or extra files on your local machine.
Check out a new copy of both xml-xalan/java and xml-xalan/test repositories
to a blank directory on your local machine. You then need to tag the files in
the repository with a marker noting that these versions are the actual ones
being used in the build (you could actually do this after running the build below).
Use the CVS tag command to add the tag to both repositories (/java and /test).
The tag name should be something like 'xalan-j_2_4'; look at the log of any file
to see the exact format of previous builds.
- build fulldist site -logfile ..\fulldist.log
The above command will build the binary and source distribution .zip/.tar.gz
files, in which the Xalan Interpretive and Xalan Compiled (XSLTC) processors
are combined into the xalan.jar
file. All the samples and the documentation
are built as well. The log of the build is saved in ..\fulldist.log. Note
that this will take up a moderate amount of space, especially when building
the .tar.gz files, so ensure you have plenty of disk space first.
Review the fulldist.log file quickly to ensure there were no build errors.
Note that you can ignore any 'warnings' from the javadoc target; however any
'error's in the documentation must be fixed.
- build fulldist-separatejars site -logfile ..\fulldist-separatejars.log
Before running this command, rename the generated ./build directory from
the 'fulldist' command above to another name, for example, build-combinedjar. The
'fulldist-separatejars' command will build the binary and source distribution
.zip/.tar.gz files, in which the Xalan Interpretive and Xalan Compiled (XSLTC) processors
are built into separate jars; xalan.jar
and xsltc.jar
respectively. All the samples and
the documentation are built as well. The log of the build is saved in ..\fulldist-separatejars.log.
Note that this will take up a moderate amount of space, especially when building the .tar.gz
files, so ensure you have plenty of disk space first.
Review the fulldist-separatejars.log file quickly to ensure there were no build errors.
Note that you can ignore any 'warnings' from the javadoc target; however any
'error's in the documentation must be fixed.
The results of the build will be
placed in the ./build directory. Rename the xalan-j_2_x_x-bin.zip and xalan-j_2_x_x-bin.tar.gz
files to xalan-j_2_x_x-bin-2jars.zip and xalan-j_2_x_x-bin-2jars.tar.gz respectively so that
this binary distribution can be distinguished from the binary distributions created by the
'fulldist' target. The source distributions, xalan-j_2_x_x-src.zip and xalan-j_2_x_x-src.tar.gz
are duplicates of those created by the 'fulldist' target.
- Run the smoketest for Xalan Interpretive and XSLTC.
Change to the xml-xalan\test directory and build the test harness by entering
"build jar -logfile jar.log". Run the smoketest for the Xalan Interpretive processor by
entering "build smoketest -logfile smoketest.log". Run the smoketest for the XSLTC by
entering "build smoketest.xsltc -logfile smoketest.xsltc.log".
- Verify smoketest passed; check docs built with new build numbers.
Review the smoketest.log and smoketest.xsltc.log files. If they do not say
that the Smoketest passed, then you must fix the test results before
posting the build. Even for developer's builds, we must ensure that at least
the Smoketest passes. For major or minor releases, we should also perform more
testing to ensure stability. More detailed log files for the Smoketest can
be found in the xml-xalan/test/smoketest/ directory.
You should also test that the documentation built properly, and that it
has the proper build or release number that you edited above.
IMPORTANT: if you changed any files at all, be sure to check in your work
and re-start this process!