blob: f8d13c310ae5393f4f7842a534bab4bf37fb12b4 [file] [log] [blame]
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
Copyright 1999-2023 The Apache Software Foundation
Authors:
Gary Gregory <ggregory@apache.org>
Joe Kesselman
Mukul Gandhi <mukulg@apache.org>
This file primarily, contains instructions to the person(s) who shall be making an Apache XalanJ
release for distribution, along with the instructions about how to test XalanJ release before
recommending the release for distribution.
The details mentioned within this file, may also be used, by XalanJ source distribution users to
build and test XalanJ from the source distribution (except that, "git clone" steps as mentioned
within this file, might not be required to be run by XalanJ source distribution users).
(1) Steps to build the XalanJ release
1) Do a git clone, of the relevant XalanJ branches:
git clone --single-branch https://gitbox.apache.org/repos/asf/xalan-java.git -b xalan-j_2_7_1_maint
git clone https://gitbox.apache.org/repos/asf/xalan-test.git
This creates two folders: xalan-java and xalan-test. These folders need to be parallel to
each other, to be able to follow the XalanJ build and tests steps as described in this document,
for making a XalanJ release for distribution.
2) Set JAVA_HOME and ANT_HOME environment variables, for example on Windows:
set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-8.0.352.8-hotspot\
set ANT_HOME=C:\java\apache-ant-1.10.12
3) Run the command, "build clean fulldist" from folder xalan-java.
For XalanJ source distribution users, this command needs to be run from, the root
of the XalanJ source distribution folder (i.e, from the source distribution folder,
which contains folders "src", "tools" etc).
(2) Steps to run the XalanJ tests, on XalanJ implementation
Note that, for XalanJ source distribution users, XalanJ implementation shall be
produced (that XalanJ source distribution users, might want to test) by running
the build command "build clean fulldist" from the root of the XalanJ source
distribution folder.
1) Go to the XalanJ tests repos's, local git clone folder:
cd ..\xalan-test
For XalanJ source distribution users, xalan-test folder is located at the root of the XalanJ
source distribution folder (i.e, parallel to folders "src", "tools" etc within the main XalanJ
codebase folder location), from where XalanJ source distribution users may run XalanJ
tests, by using the "build" script located at this folder location.
2) Set JAVA_HOME and ANT_HOME environment variables, for example:
set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-8.0.352.8-hotspot\
set ANT_HOME=C:\java\apache-ant-1.10.12
3) Run the command "build clean jar" from folder xalan-test. This produces
the file testxsl.jar that acts as main XalanJ test driver, within folder xalan-test/java/build.
4) Run the necessary XalanJ tests as follows,
The tests described below within points 4.1, 4.2, 4.3 need to be run from folder xalan-test.
4.1 Run the ant target "smoketest", using following two commands in sequence shown below
build extensions.classes
build smoketest
The final result of the command "build smoketest" should be following,
smoketest-pass:
[echo] [minitest] CONGRATULATIONS! The Smoketest passed!
4.2 Run the ant target "apitest", using following command
build apitest
The final result of the command "build apitest" should be following,
apitest-pass-file-check:
[echo] [minitest] CONGRATULATIONS! The api tests passed!
4.3 Run the ant target "conf.xsltc", using the following command
build conf.xsltc
The final result of the command "build conf.xsltc" should be following,
[echo] [minitest] CONGRATULATIONS! The conf.xsltc tests passed!
The XalanJ XSLTC processor, producing compiled translets, is known to have certain issues
as summarized by the following jira tickets, for the respective mentioned XalanJ conf.xsltc
test cases as mentioned below (users shall currently see, these xalanj test cases as failing,
within the test build conf.xsltc's output).
1) output63 https://issues.apache.org/jira/browse/XALANJ-2642
2) idkey49 https://issues.apache.org/jira/browse/XALANJ-2640
3) math111 https://issues.apache.org/jira/browse/XALANJ-2641
4) whitespace35 https://issues.apache.org/jira/browse/XALANJ-2643
These XSLT transformation issues, do not exist with the XalanJ interpretive processor.
4.4 From folder xalan-test/tests/2.7.3_release, run the batch file 2.7.3_release.bat (for Windows) or
shell script 2.7.3_release.sh (for Linux) to run certain tests, specific to XalanJ 2.7.3 and higher versions.
The final result of running this tests batch file/shell script (point 4.4), for these test's success should
be following,
The xalanj integer truncation bug fix test passed!
The test case passed [xalan_interpretive : jira_xalanj_2584]!
The test case passed [xalan_xsltc : jira_xalanj_2584]!
The test case passed [xalan_interpretive : jira_xalanj_2623]!
The test case passed [xalan_xsltc : jira_xalanj_2623]!
Users may read information within the batch file 2.7.3_release.bat or shell script 2.7.3_release.sh, to know
more about these tests (i.e, point 4.4).