Kaydet (Commit) e12f501b authored tarafından David Ostrovsky's avatar David Ostrovsky Kaydeden (comit) David Tardon

gbuildification of saxon

Change-Id: Ic54337f4279daf78b099aab368eade5a6143f586
üst 79dbac32
......@@ -133,6 +133,7 @@ sal\
salhelper\
sane\
sax\
saxon\
sc\
scaddins\
sccomp\
......@@ -245,7 +246,6 @@ postprocess\
python\
redland\
rhino\
saxon\
setup_native\
stax\
stlport\
......
......@@ -483,6 +483,7 @@ export RTL_ARCH=@RTL_ARCH@
export SAC_JAR=@SAC_JAR@
export SAL_ENABLE_FILE_LOCKING=1
export SAXON_JAR=@SAXON_JAR@
export SAXON_TARBALL=@SAXON_TARBALL@
export SCPDEFS=@SCPDEFS@
export SERVLETAPI_JAR=@SERVLETAPI_JAR@
export SHOWINCLUDES_PREFIX=@SHOWINCLUDES_PREFIX@
......
......@@ -7697,9 +7697,11 @@ else
AC_MSG_RESULT([internal])
SYSTEM_SAXON=NO
NEED_SAXON=TRUE
SAXON_TARBALL=ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
fi
fi
AC_SUBST(SYSTEM_SAXON)
AC_SUBST(SAXON_TARBALL)
AC_SUBST(SAXON_JAR)
if test -n "$NEED_SAXON"; then
......
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_ExternalProject_ExternalProject,saxon))
$(eval $(call gb_ExternalProject_use_unpacked,saxon,saxon))
$(eval $(call gb_ExternalProject_register_targets,saxon,\
build \
))
$(call gb_ExternalProject_get_state_target,saxon,build) :
cd "$(call gb_UnpackedTarball_get_dir,saxon)" && \
ANT_OPTS="$$ANT_OPTS -Dfile.encoding=ISO-8859-1" \
"$(ANT)" \
-q \
-f build.xml \
-Dbuild.label="build-libreoffice" \
$(if $(filter YES,$(SYSTEM_TOMCAT))\
,-Dservletapi.jar=$(SERVLETAPI_JAR) \
,-Dservletapi.jar=$(SOLARVER)/$(INPATH)/bin/servlet-api.jar \
)\
$(if $(filter yes,$(JAVACISGCJ))\
,-Dbuild.compiler=gcj \
,-Dant.build.javac.source=$(JAVA_SOURCE_VER) \
-Dant.build.javac.target=$(JAVA_TARGET_VER) \
) \
$(if $(debug),-Dbuild.debug="on") \
-Dsolarbindir=$(SOLARBINDIR) jar-bj && \
touch $@
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
include $(module_directory)/../solenv/gbuild/partial_build.mk
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Module_Module,saxon))
ifneq ($(SOLAR_JAVA),)
ifneq ($(filter SAXON,$(BUILD_TYPE)),)
$(eval $(call gb_Module_add_targets,saxon,\
ExternalProject_saxon \
Package_saxon \
UnpackedTarball_saxon \
))
endif
endif
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Package_Package,saxon_inc,$(call gb_UnpackedTarball_get_dir,saxon)))
$(eval $(call gb_Package_use_external_project,saxon_inc,saxon))
$(eval $(call gb_Package_add_file,saxon_inc,bin/saxon9.jar,saxon-build/9.0.0.7/bj/saxon9.jar))
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_UnpackedTarball_UnpackedTarball,saxon))
$(eval $(call gb_UnpackedTarball_set_tarball,saxon,$(SAXON_TARBALL)))
$(eval $(call gb_UnpackedTarball_add_file,saxon,build.xml,saxon/build.xml))
# vim: set noet sw=4 ts=4:
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="all" name="Saxon-B The XSLT and XQuery Processor"
xmlns:dn="antlib:org.apache.ant.dotnet">
<!-- TODO *really* Must publish NOTICES directory with patch releases. Should also
publish doc directory, and add a notice concerning Saxon/MPL itself, as per section 3.6 of MPL 1.0 -->
<!--TODO: 1: ensure saxon9api.netmodule is included in the build
2: remove the archive target before shipping this file-->
<!-- note : Ant 1.7 is needed for this script -->
<!-- Ant 1.7 introduces a <service> element to allow META-INF/services
directories to be created in JAR files. Unfortunately it is broken,
see http://issues.apache.org/bugzilla/show_bug.cgi?id=41201. The relevant
code here is retained in the form of comments, and can be reinstated
when the bug is fixed. Meanwhile the directories are created manually -->
<!-- Build file for Saxon. This builds all four for the released products:
Saxon-B and Saxon-SA, on both the Java and .NET platforms. It also builds
the released resources file. A full build requires access to Saxonica
proprietary source code. The open source Saxon-B product can be built for
Java using target "bj"; but building Saxon-B for .NET may require some
disentangling of tasks that depend on Saxon-SA being present. -->
<!-- Useful targets:
clean clears temporary directories
bj builds executables for Saxon-B
saj builds executables for Saxon-B and Saxon-SA
n builds executables for Saxon on .NET
build builds all executables
resources builds samples and documentation
release builds ZIP files for published downloads
archive produces a back-up archive -->
<!-- Naming conventions:
-n : .NET
-j : Java
-b : Saxon-B
-sa : Saxon-SA
combined as appropriate, so -bj denotes Saxon-B on the Java platform
-->
<property name="version" value="9.0.0.7"/>
<property name="versionh" value="9-0-0-7"/>
<property name="release.date" value="2008-07-03"/>
<!-- following locations are specific to the machine -->
<!-- root drive for input files-->
<property name="root" value="."/>
<!-- root drive for generated files-->
<property name="troot" value="."/>
<!-- directory holding Java source code -->
<property name="development-j.dir" value="${root}/MyJava/saxon8.x"/>
<!-- directory holding Java source code as in Subversion -->
<property name="subversion-j.dir" value="${root}"/>
<!-- directory holding latest patch state of Saxon-SA Java code -->
<property name="saj-patch.dir" value="${root}/saxon-90-patch"/>
<!-- directory holding Java test drivers -->
<property name="drivers-j.dir" value="${root}/MyJava/test"/>
<!-- directories holding C# source code -->
<property name="vss-n.dir" value="${root}/Documents and Settings/Mike/My Documents/Visual Studio 2005/Projects/Saxon.Api"/>
<!-- directory holding C# source code as in Subversion -->
<property name="subversion-n.dir" value="${root}/saxon-svn/latest9.0/bn/csource"/>
<!-- directory holding XML user documentation -->
<property name="userdoc.dir" value="${root}/MyJava/doc/saxon8"/>
<!-- directory holding .NET API documentation (which is built manually using NDOC -->
<property name="dotnetdoc.dir" value="${root}/MyDotNet/dotnetdoc"/>
<!-- directories holding use cases and sample applications -->
<property name="usercases.dir" value="${root}/MyJava/use-cases"/>
<property name="samples.dir" value="${root}/MyJava/samples"/>
<!-- directory in which to build the product for release -->
<property name="product.dir" value="${troot}/saxon-build/${version}"/>
<!-- directory in which to build the issued .ZIP files -->
<property name="issue.dir" value="${troot}/saxon-issues/saxon-issue-${release.date} (${version})"/>
<!-- location of the C# compiler -->
<property name="csharp.compiler" value="c:/Windows/Microsoft.NET/Framework/v1.1.4322/csc.exe"/>
<!-- following locations are for IKVMC code used to build the .NET product -->
<property name="development-ikvm.dir" value="${root}/MyDotNet"/>
<property name="ikvm.dir" value="${development-ikvm.dir}/ikvm-0.32.0.0"/>
<property name="generated.stubs.dir" value="${development-ikvm.dir}/stubs"/>
<property name="saxondotnet.snk" value="${development-ikvm.dir}/make/saxondotnet.snk"/>
<!-- Precondition for .NET compilation: IKVM is installed.
* Download from www.ikvm.net
* Unzip into ${development-ikvm.dir}
* Register in the GAC (access the Microsoft .NET Framework Configuration item in the
Windows Control Panel, and add the assemblies to the Assembly Cache.
At a minimum, install the IKVM.GNU.Classpath.dll and IKVM.Runtime.dll)
* Generate stubs in ${generated.stubs.dir}
for System.Xml.dll, System.Security.dll, and IKVM.GNU.Classpath.dll
-->
<!-- following locations are relative to the build file -->
<property name="lib.dir" value="libs"/>
<property name="temp.dir" value="temp"/>
<property name="archive.dir" value="archive"/>
<property name="services.dir" value="services"/>
<property name="temp-src-j.dir" value="${temp.dir}/j/source"/>
<property name="temp-src-nj.dir" value="${temp.dir}/n/jsource"/>
<property name="temp-src-nc.dir" value="${temp.dir}/n/csource"/>
<property name="classes-j.dir" value="${temp.dir}/j/classes"/>
<property name="classes-n.dir" value="${temp.dir}/n/classes"/>
<property name="jar-n.dir" value="${temp.dir}/n/jar"/>
<property name="dll-n.dir" value="${temp.dir}/n/dll"/>
<!-- following locations are relative to the destination directory -->
<property name="build-bj.dir" value="${product.dir}/bj"/>
<property name="build-saj.dir" value="${product.dir}/saj"/>
<property name="build-bn.dir" value="${product.dir}/bn"/>
<property name="build-san.dir" value="${product.dir}/san"/>
<property name="build-resources.dir" value="${product.dir}/resources"/>
<property name="javadoc.dir" value="${build-resources.dir}/doc/javadoc"/>
<property name="build.debug" value="true"/>
<property name="build.debuglevel" value="source,lines,vars"/>
<property name="build.deprecation" value="true"/>
<property name="build.optimize" value="true"/>
<property name="build.compiler.source" value="1.4"/>
<property name="build.compiler.target" value="1.4"/>
<property name="build.s9api.compiler.source" value="1.5"/>
<property name="build.s9api.compiler.target" value="1.5"/>
<property name="build.compress" value="false"/>
<!-- following properties can be switched to determine whether to build from patch source
or from development source -->
<!-- patch source -->
<property name="source-bj.dir" value="${subversion-j.dir}"/>
<property name="source-saj.dir" value="${saj-patch.dir}"/>
<property name="source-api-n.dir" value="${subversion-n.dir}/api/Saxon.Api"/>
<property name="source-cmd-n.dir" value="${subversion-n.dir}/cmd"/>
<property name="source-samples-n.dir" value="${subversion-n.dir}/samples"/>
<!-- development source -->
<!--
<property name="source-bj.dir" value="${development-j.dir}"/>
<property name="source-saj.dir" value="${development-j.dir}"/>
<property name="source-api-n.dir" value="${vss-n.dir}"/>
<property name="source-cmd-n.dir" value="${vss-n.dir}"/>
<property name="source-samples-n.dir" value="${vss-n.dir}"/>
-->
<property name="solar.bin" value="${solarbindir}"/>
<path id="classpath-j">
<fileset dir="${solar.bin}">
<include name="jsr173_1.0_api.jar"/>
</fileset>
</path>
<path id="classpath-n">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${ikvm.dir}">
<include name="classpath/mscorlib.jar"/>
<include name="classpath/System.jar"/>
<include name="bin/IKVM.GNU.Classpath.jar"/>
<include name="bin/IKVM.Runtime.jar"/>
</fileset>
<fileset dir="${generated.stubs.dir}">
<include name="System.Xml.jar"/>
<include name="System.Security.jar"/>
</fileset>
</path>
<path id="classpath-samples">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${build-saj.dir}">
<include name="*.jar"/>
</fileset>
<!-- Substitute build-bj.dir if there is no requirement to compile the sample applications
that depend on Saxon-SA -->
</path>
<target name="clean" description="Clean all files other than source code and downloaded jars.">
<delete dir="${temp.dir}"/>
<delete dir="${product.dir}"/>
<mkdir dir="${product.dir}"/>
</target>
<target name="download" description="Download third-party jar files.">
<get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"
dest="${lib.dir}/dom4j-1.6.1.jar" verbose="true"/>
<get src="http://www.ibiblio.org/maven/jdom/jars/jdom-1.0.jar"
dest="${lib.dir}/jdom-1.0.jar" verbose="true"/>
<get src="http://www.cafeconleche.org/XOM/xom-1.1.jar" dest="${lib.dir}/xom-1.1.jar"
verbose="true"/>
<get src="http://dist.codehaus.org/stax/jars/stax-api-1.0.1.jar" dest="${lib.dir}/stax-api-1.0.1.jar"
verbose="true"/>
<!-- TODO: add servlet.jar, ant.jar -->
</target>
<target name="copysource-development" description="Copy relevant source files from development directory">
<copy todir="${temp-src-j.dir}">
<fileset dir="${source-bj.dir}">
<include name="net/sf/saxon/**/*.java"/>
<exclude name="**/dotnet/**"/>
<!--<exclude name="**/s9api/**"/> s9api needs Java 5 -->
<include name="net/sf/saxon/**/package.html"/>
</fileset>
<!--
<fileset dir="${source-saj.dir}">
<include name="com/saxonica/**/*.java"/>
<exclude name="com/saxonica/validate/DotNetVerifier.java"/>
<include name="com/saxonica/**/package.html"/>
</fileset>
-->
</copy>
<!--
<replace file="${temp-src-j.dir}/com/saxonica/validate/SchemaAwareConfiguration.java"
token="/*DOTNETONLY*/"
value="//"
summary="yes"/>
-->
<replace file="${temp-src-j.dir}/net/sf/saxon/Configuration.java"
token="/*DOTNETONLY*/"
value="//"
summary="yes"/>
<copy todir="${temp-src-nj.dir}">
<fileset dir="${source-bj.dir}">
<include name="net/sf/saxon/**/*.java"/>
<exclude name="**/ant/**"/>
<exclude name="**/dom/**"/>
<exclude name="**/dom4j/**"/>
<exclude name="**/java/**"/>
<exclude name="**/javax/**"/>
<exclude name="**/jdom/**"/>
<exclude name="**/pull/PullToStax.java"/>
<exclude name="**/pull/StaxBridge.java"/>
<!-- <exclude name="**/s9api/**"/> s9api needs Java 5 -->
<exclude name="**/xom/**"/>
<exclude name="**/xpath/**"/>
<exclude name="**/xqj/**"/>
</fileset>
<!--
<fileset dir="${source-saj.dir}">
<include name="com/saxonica/extra/*.java"/>
<include name="com/saxonica/fsa/*.java"/>
<include name="com/saxonica/ptree/*.java"/>
<include name="com/saxonica/schema/*.java"/>
<include name="com/saxonica/sdoc/*.java"/>
<include name="com/saxonica/validate/*.java"/>
<include name="com/saxonica/Validate.java"/>
</fileset>-->
</copy>
<!--
<replace file="${temp-src-nj.dir}/com/saxonica/validate/SchemaAwareConfiguration.java"
token="/*JAVAONLY*/"
value="//"
summary="yes"/>
-->
<replace file="${temp-src-nj.dir}/net/sf/saxon/Configuration.java"
token="/*JAVAONLY*/"
value="//"
summary="yes"/>
<!-- when building from development source
<copy todir="${temp-src-nc.dir}/api">
<fileset dir="${source-api-n.dir}">
<include name="Saxon.Api/*.cs"/>
</fileset>
</copy>
<copy todir="${temp-src-nc.dir}/cmd">
<fileset dir="${source-cmd-n.dir}/Transform">
<include name="*.cs"/>
</fileset>
<fileset dir="${source-cmd-n.dir}/Query">
<include name="*.cs"/>
</fileset>
<fileset dir="${source-cmd-n.dir}/Validate">
<include name="*.cs"/>
</fileset>
</copy>
<copy todir="${temp-src-nc.dir}/samples">
<fileset dir="${source-samples-n.dir}/XQueryExamples">
<include name="*.cs"/>
</fileset>
<fileset dir="${source-samples-n.dir}/XPathExample">
<include name="*.cs"/>
</fileset>
<fileset dir="${source-samples-n.dir}/XsltExamples">
<include name="*.cs"/>
</fileset>
<fileset dir="${source-samples-n.dir}/SchemaExamples">
<include name="*.cs"/>
</fileset>
<fileset dir="${source-samples-n.dir}/XsltTestSuiteDriver">
<include name="*.cs"/>
</fileset>
<fileset dir="${source-samples-n.dir}/XQueryTestSuiteDriver">
<include name="*.cs"/>
</fileset>
<fileset dir="${source-samples-n.dir}/SampleExtensions">
<include name="*.cs"/>
</fileset>
</copy>
-->
<!-- when building from patch source
<copy todir="${temp-src-nc.dir}/api/Saxon.Api">
<fileset dir="${source-api-n.dir}">
<include name="*.cs"/>
</fileset>
</copy>
<copy todir="${temp-src-nc.dir}/cmd" >
<fileset dir="${source-cmd-n.dir}">
<include name="*.cs"/>
</fileset>
</copy>
<copy todir="${temp-src-nc.dir}/samples">
<fileset dir="${source-samples-n.dir}">
<include name="*.cs"/>
</fileset>
</copy>
-->
<!-- -->
</target>
<target name="create-meta-inf" description="Create contents of META-INF/services files">
<!-- given the Ant 1.7.0 bug, create the services files here for copying into the JARS -->
<mkdir dir="${services.dir}/saxon9/META-INF/services"/>
<echo file="${services.dir}/saxon9/META-INF/services/javax.xml.transform.TransformerFactory"
message="net.sf.saxon.TransformerFactoryImpl"/>
<mkdir dir="${services.dir}/saxon9-xpath/META-INF/services"/>
<echo file="${services.dir}/saxon9-xpath/META-INF/services/javax.xml.xpath.XPathFactory"
>net.sf.saxon.xpath.XPathFactoryImpl
http\://java.sun.com/jaxp/xpath/dom: net.sf.saxon.xpath.XPathFactoryImpl
http\://saxon.sf.net/jaxp/xpath/om: net.sf.saxon.xpath.XPathFactoryImpl
http\://www.xom.nu/jaxp/xpath/xom: net.sf.saxon.xpath.XPathFactoryImpl
http\://jdom.org/jaxp/xpath/jdom: net.sf.saxon.xpath.XPathFactoryImpl
http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl
</echo>
<mkdir dir="${services.dir}/saxon9sa/META-INF/services"/>
<echo file="${services.dir}/saxon9sa/META-INF/services/javax.xml.transform.TransformerFactory"
message="com.saxonica.SchemaAwareTransformerFactory"/>
<mkdir dir="${services.dir}/saxon9sa-jaxp/META-INF/services"/>
<echo file="${services.dir}/saxon9sa-jaxp/META-INF/services/javax.xml.validation.SchemaFactory"
>com.saxonica.jaxp.SchemaFactoryImpl
http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl
</echo>
</target>
<target name="compile-bj" description="Compile Saxon-B classes for Java." depends="copysource-development">
<mkdir dir="${classes-j.dir}"/>
<javac encoding="ISO-8859-1" debug="${build.debug}" debuglevel="${build.debuglevel}"
deprecation="${build.deprecation}" destdir="${classes-j.dir}"
optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}"
target="${build.compiler.target}">
<include name="net/**"/>
<exclude name="**/dom/**"/>
<exclude name="**/dom4j/**"/>
<exclude name="**/javax/**"/>
<exclude name="**/jdom/**"/>
<exclude name="**/sql/**"/>
<exclude name="**/xom/**"/>
<exclude name="**/xpath/**"/>
<exclude name="**/xqj/**"/>
<exclude name="**/dotnet/**"/>
<exclude name="**/s9api/**"/>
<exclude name="**/ant/**"/>
<exclude name="**/dotnet/**"/>
<exclude name="**/s9api/**"/>
<classpath>
<path refid="classpath-j"/>
</classpath>
</javac>
</target>
<target name="compile-saj" description="Compile Saxon-SA classes for Java." depends="copysource-development">
<mkdir dir="${classes-j.dir}"/>
<javac debug="${build.debug}" debuglevel="${build.debuglevel}"
deprecation="${build.deprecation}" destdir="${classes-j.dir}"
optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}"
target="${build.compiler.target}">
<include name="com/saxonica/**"/>
<include name="net/sf/saxon/ant/**"/>
<exclude name="com/saxonica/validate/DotNetVerifier.java"/>
<classpath>
<path refid="classpath-j"/>
</classpath>
</javac>
</target>
<target name="compile-s9api" description="Compile s9api classes for Java."
depends="compile-bj, compile-saj, copysource-development">
<!-- Compiling the s9api package requires JDK 1.5 -->
<!-- The bj and saj source must be compiled first to ensure that it is done using 1.4, otherwise
it will be compiled in 1.5 mode because the classes are referenced from the s9api package -->
<javac debug="${build.debug}" debuglevel="${build.debuglevel}"
deprecation="${build.deprecation}" destdir="${classes-j.dir}"
optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.s9api.compiler.source}"
target="${build.s9api.compiler.target}">
<include name="**/s9api/**"/>
<classpath>
<path refid="classpath-j"/>
</classpath>
</javac>
</target>
<target name="compile-bn" description="Compile Saxon-B classes for .NET" depends="copysource-development">
<mkdir dir="${classes-n.dir}"/>
<javac debug="${build.debug}" debuglevel="${build.debuglevel}"
deprecation="${build.deprecation}" destdir="${classes-n.dir}"
optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
target="${build.compiler.target}">
<include name="net/**"/>
<exclude name="**/s9api/**"/>
<classpath>
<path refid="classpath-n"/>
</classpath>
</javac>
</target>
<target name="compile-san" description="Compile Saxon-SA classes for .NET" depends="copysource-development">
<mkdir dir="${classes-n.dir}"/>
<javac debug="${build.debug}" debuglevel="${build.debuglevel}"
deprecation="${build.deprecation}" destdir="${classes-n.dir}"
optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
target="${build.compiler.target}">
<include name="com/saxonica/**"/>
<exclude name="com/saxonica/validate/JavaVerifier.java"/>
<classpath>
<path refid="classpath-n"/>
</classpath>
</javac>
</target>
<target name="jar-bj" description="Create Saxon-B jar files for Java" depends="create-meta-inf, compile-bj">
<mkdir dir="${product.dir}/bj"/>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9.jar">
<include name="net/**/*.class"/>
<exclude name="**/ant/**/*.class"/>
<exclude name="**/dom/**/*.class"/>
<exclude name="**/dom4j/**/*.class"/>
<exclude name="**/javax/**/*.class"/>
<exclude name="**/jdom/**/*.class"/>
<exclude name="**/sql/**/*.class"/>
<exclude name="**/xom/**/*.class"/>
<exclude name="**/xpath/**/*.class"/>
<exclude name="**/xqj/**/*.class"/>
<exclude name="**/s9api/**/*.class"/>
<include name="META-INF/**"/>
<manifest>
<attribute name="Project-Name" value="Saxon-B"/>
<attribute name="Main-Class" value="net.sf.saxon.Transform"/>
</manifest>
<metainf dir="${services.dir}/saxon9/META-INF"/>
<!--
<service type="javax.xml.transform.TransformerFactory"
provider="net.sf.saxon.TransformerFactoryImpl"/>
-->
</jar>
<!--
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom.jar">
<include name="net/sf/saxon/dom/*.class"/>
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom4j.jar">
<include name="net/sf/saxon/dom4j/*.class"/>
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-jdom.jar">
<include name="net/sf/saxon/jdom/*.class"/>
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-s9api.jar">
<include name="net/sf/saxon/s9api/*.class"/>
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-sql.jar">
<include name="net/sf/saxon/sql/*.class"/>
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xom.jar">
<include name="net/sf/saxon/xom/*.class"/>
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xpath.jar">
<include name="net/sf/saxon/xpath/*.class"/>
<metainf dir="${services.dir}/saxon9-xpath/META-INF"/>
<!==
<service type="javax.xml.xpath.XPathFactory">
<provider classname="net.sf.saxon.xpath.XPathFactoryImpl"/>
<provider classname="http\://java.sun.com/jaxp/xpath/dom: net.sf.saxon.xpath.XPathFactoryImpl"/>
<provider classname="http\://saxon.sf.net/jaxp/xpath/om: net.sf.saxon.xpath.XPathFactoryImpl"/>
<provider classname="http\://www.xom.nu/jaxp/xpath/xom: net.sf.saxon.xpath.XPathFactoryImpl"/>
<provider classname="http\://jdom.org/jaxp/xpath/jdom: net.sf.saxon.xpath.XPathFactoryImpl"/>
<provider classname="http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl"/>
</service> ==>
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xqj.jar">
<include name="net/sf/saxon/xqj/*.class"/>
<include name="net/sf/saxon/javax/xml/namespace/*.class"/>
<include name="net/sf/saxon/javax/xml/xquery/*.class"/>
</jar>
-->
</target>
<target name="jar-saj" description="Create Saxon-SA jar files for Java" depends="compile-s9api, jar-bj">
<mkdir dir="${product.dir}/saj"/>
<copy todir="${product.dir}/saj">
<fileset dir="${product.dir}/bj">
<include name="*.jar"/>
</fileset>
</copy>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa.jar">
<include name="net/**/*.class"/>
<exclude name="**/dom/**/*.class"/>
<exclude name="**/dom4j/**/*.class"/>
<exclude name="**/javax/**/*.class"/>
<exclude name="**/jdom/**/*.class"/>
<exclude name="**/s9api/**/*.class"/>
<exclude name="**/sql/**/*.class"/>
<exclude name="**/xom/**/*.class"/>
<exclude name="**/xpath/**/*.class"/>
<exclude name="**/xqj/**/*.class"/>
<include name="com/saxonica/**/*.class"/>
<exclude name="com/saxonica/jaxp/*.class"/>
<exclude name="com.saxonica.CompileQuery.class"/>
<manifest>
<attribute name="Project-Name" value="Saxon-SA"/>
</manifest>
<metainf dir="${services.dir}/saxon9sa/META-INF"/>
<!--
<service type="javax.xml.transform.TransformerFactory"
provider="com.saxonica.SchemaAwareTransformerFactory"/>
-->
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-jaxp.jar">
<include name="com/saxonica/jaxp/*.class"/>
<include name="net/sf/saxon/dom/TypeInfoImpl.class"/>
<metainf dir="${services.dir}/saxon9sa-jaxp/META-INF"/>
<!--
<service type="javax.xml.validation.SchemaFactory">
<provider classname="com.saxonica.jaxp.SchemaFactoryImpl"/>
<provider classname="http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl"/>
</service>
-->
</jar>
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-qc.jar">
<include name="com/saxonica/codegen/*.class"/>
<include name="com.saxonica.CompileQuery.class"/>
</jar>
<!-- The Saxon-Ant task is delivered with Saxon-B but it won't compile without Saxon-SA present,
unless modified -->
<jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-ant.jar">
<include name="net/sf/saxon/ant/*.class"/>
</jar>
</target>
<target name="jar-bn" description="Create Saxon-B jar files for .NET" depends="compile-bn">
<mkdir dir="${jar-n.dir}"/>
<jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9.jar">
<include name="net/**/*.class"/>
</jar>
</target>
<target name="jar-san" description="Create Saxon-SA jar files for .NET" depends="compile-san">
<mkdir dir="${jar-n.dir}"/>
<jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9sa.jar">
<include name="com/saxonica/**/*.class"/>
</jar>
</target>
<target name="dll-n" description="Create DLLs for .NET" depends="jar-bn, jar-san">
<mkdir dir="${dll-n.dir}"/>
<copy todir="${dll-n.dir}">
<fileset dir="${ikvm.dir}/bin">
<include name="IKVM.GNU.Classpath.dll"/>
<include name="IKVM.Runtime.dll"/>
</fileset>
</copy>
<copy file="${saxondotnet.snk}" todir="${basedir}"/>
<!--
Invoke IKVMC to cross-compile the JAR files into DLLs
-->
<exec dir="." executable="ikvmc.cmd" >
<arg line="live"/> <!-- set to 'debug' for testing, 'live' for final build -->
<arg line="${basedir}/${jar-n.dir}"/>
<arg line="${basedir}/${dll-n.dir}"/>
<arg line="${version}"/>
</exec>
</target>
<target name="csharp-n" description="Compile C# source for .NET commands and API library"
depends="dll-n">
<mkdir dir="${dll-n.dir}/samples"/>
<mkdir dir="${dll-n.dir}/tests"/>
<exec dir="." executable="csharp-compile.cmd" >
<arg line="${basedir}/${temp-src-nc.dir}"/>
<arg line="${basedir}/${dll-n.dir}"/>
<arg line="${version}"/>
</exec>
<!-- <taskdef
uri="antlib:org.apache.ant.dotnet">
<classpath>
<pathelement location="c:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
</classpath>
</taskdef>
<dn:csc xmlns:dn="antlib:org.apache.ant.dotnet"
executable="${csharp.compiler}"
srcdir="${temp-src-nc.dir}/cmd"
targettype="exe"
win32icon="c:\MyDotNet\icons\gyfu.ico"
destdir="${dll-n.dir}">
<reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/>
<reference file="${dll-n.dir}/IKVM.Runtime.dll"/>
<reference file="${dll-n.dir}/saxon9.dll"/>
<reference file="${dll-n.dir}/saxon9sa.dll"/>
</dn:csc>
<dn:csc xmlns:dn="antlib:org.apache.ant.dotnet"
executable="${csharp.compiler}"
srcdir="${temp-src-nc.dir}/api"
targettype="module"
win32icon="c:\MyDotNet\icons\gyfu.ico"
destdir="${dll-n.dir}">
<reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/>
<reference file="${dll-n.dir}/IKVM.Runtime.dll"/>
<reference file="${dll-n.dir}/saxon9.dll"/>
<reference file="${dll-n.dir}/saxon9sa.dll"/>
</dn:csc>
-->
</target>
<target name="basic-userdoc" description="Generate Basic Documentation for release with executable">
<mkdir dir="${product.dir}/bj"/>
<copy todir="${product.dir}/bj">
<fileset dir="${userdoc.dir}/welcome">
<include name="doc/**"/>
<include name="notices/**"/>
</fileset>
</copy>
<mkdir dir="${product.dir}/saj"/>
<copy todir="${product.dir}/saj">
<fileset dir="${userdoc.dir}/welcome">
<include name="doc/**"/>
<include name="notices/**"/>
</fileset>
</copy>
<mkdir dir="${product.dir}/bn"/>
<copy todir="${product.dir}/bn">
<fileset dir="${userdoc.dir}/welcome">
<include name="doc/**"/>
<include name="notices/**"/>
</fileset>
</copy>
<mkdir dir="${product.dir}/san"/>
<copy todir="${product.dir}/san">
<fileset dir="${userdoc.dir}/welcome">
<include name="doc/**"/>
<include name="notices/**"/>
</fileset>
</copy>
</target>
<target name="product-bn" description="Assemble product.directory for Saxon-B on .NET"
depends="csharp-n, dll-n, basic-userdoc">
<mkdir dir="${build-bn.dir}/bin"/>
<copy todir="${build-bn.dir}/bin">
<fileset dir="${dll-n.dir}">
<include name="IKVM.GNU.Classpath.dll"/>
<include name="IKVM.Runtime.dll"/>
<include name="saxon9.dll"/>
<include name="saxon9api.dll"/>
<include name="saxon9api.netmodule"/>
<include name="Query.exe"/>
<include name="Transform.exe"/>
</fileset>
</copy>
<echo file="${build-bn.dir}/bin/install-gac.cmd">
set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin"
%NET%\gacutil /if IKVM.Runtime.dll
%NET%\gacutil /if IKVM.GNU.Classpath.dll
%NET%\gacutil /if saxon9.dll
%NET%\gacutil /if saxon9api.dll
</echo>
</target>
<target name="product-san" description="Assemble product.directory for Saxon-SA on .NET"
depends="csharp-n, dll-n, basic-userdoc">
<copy todir="${build-san.dir}/bin">
<fileset dir="${dll-n.dir}">
<include name="IKVM.GNU.Classpath.dll"/>
<include name="IKVM.Runtime.dll"/>
<include name="saxon9.dll"/>
<include name="saxon9sa.dll"/>
<include name="saxon9api.dll"/>
<include name="saxon9api.netmodule"/>
<include name="Query.exe"/>
<include name="Transform.exe"/>
<include name="Validate.exe"/>
</fileset>
</copy>
<echo file="${build-san.dir}/bin/install-gac.cmd">
set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin"
%NET%\gacutil /if IKVM.Runtime.dll
%NET%\gacutil /if IKVM.GNU.Classpath.dll
%NET%\gacutil /if saxon9.dll
%NET%\gacutil /if saxon9sa.dll
%NET%\gacutil /if saxon9api.dll
</echo>
</target>
<target name="samples" description="Assemble Cross-Platform Samples and Use-Cases">
<mkdir dir="${build-resources.dir}/samples"/>
<copy todir="${product.dir}/resources/use-cases">
<fileset dir="${usercases.dir}"/>
</copy>
<copy todir="${product.dir}/resources/samples">
<fileset dir="${samples.dir}">
<include name="analysis/timing-profile.xsl"/>
<include name="data/*.xml"/>
<include name="data/*.xsd"/>
<include name="data/*.dtd"/>
<include name="query/*.xq"/>
<include name="styles/*.xsl"/>
<include name="trax/xml/**/*.xml"/>
<include name="trax/xsl/**/*.xsl"/>
<include name="trax/xsl/**/preamble.txt"/>
</fileset>
</copy>
</target>
<target name="samples-j" description="Copy and Compile Java Samples"
depends="jar-saj">
<mkdir dir="${product.dir}/resources/samples/java"/>
<mkdir dir="${product.dir}/resources/samples/java/classes"/>
<copy todir="${product.dir}/resources/samples/java">
<fileset dir="${samples.dir}/java">
<include name="ApplyXPathJAXP.java"/>
<include name="ExampleContentHandler.java"/>
<include name="JDOMExample.java"/>
<include name="PullExamples.java"/>
<include name="QueryAPIExamples.java"/>
<include name="QuickValidator.java"/>
<include name="SaxonServlet.java"/>
<include name="SaxonSAServlet.java"/>
<include name="SchemaValidatorExample.java"/>
<include name="SchemaValidatorHandlerExample.java"/>
<include name="TraxExamples.java"/>
<include name="XMarkBenchmark.java"/>
<include name="XPathExample.java"/>
<include name="XPathExampleDOM.java"/>
<include name="XPathExampleSA.java"/>
<include name="XPathExampleServlet.java"/>
<include name="XQJExamples.java"/>
</fileset>
</copy>
<javac debug="true" debuglevel="source, lines"
destdir="${product.dir}/resources/samples/java/classes"
srcdir="${product.dir}/resources/samples/java"
source="${build.compiler.source}"
target="${build.compiler.target}">
<include name="*.java"/>
<classpath>
<path refid="classpath-samples"/>
</classpath>
</javac>
</target>
<target name="testdrivers-j" description="Copy Java Test Drivers">
<mkdir dir="${product.dir}/resources/drivers/java/test"/>
<copy todir="${product.dir}/resources/drivers/java/test">
<fileset dir="${drivers-j.dir}">
<include name="XQueryTestSuiteDriver.java"/>
<include name="XsltTestSuiteDriver.java"/>
<include name="CanonicalXML.java"/>
<include name="XQTSModuleURIResolver.java"/>
<include name="XQTSCollectionURIResolver.java"/>
<include name="SchemaTestSuiteDriver.java"/>
</fileset>
</copy>
</target>
<target name="samples-n" description="Assemble release samples for .NET"
depends="csharp-n">
<mkdir dir="${build-resources.dir}/samples/cs"/>
<copy todir="${build-resources.dir}/samples/cs">
<fileset dir="${temp-src-nc.dir}/samples">
<include name="*.cs"/>
</fileset>
</copy>
<mkdir dir="${build-resources.dir}/samples/cs/bin"/>
<copy todir="${build-resources.dir}/samples/cs/bin">
<fileset dir="${dll-n.dir}/samples">
<include name="*.exe"/>
<include name="*.dll"/>
<include name="*.pdb"/>
</fileset>
</copy>
<copy todir="${build-resources.dir}/samples/cs/bin">
<fileset dir="${dll-n.dir}/tests">
<include name="*.exe"/>
<include name="*.dll"/>
<include name="*.pdb"/>
</fileset>
</copy>
</target>
<target name="product-javadoc" description="Generate Javadoc.">
<javadoc bottom="Copyright (C) Michael H. Kay. All rights reserved."
destdir="${javadoc.dir}" doctitle="saxon9 Javadocs"
noindex="true" notree="true" access="public"
maxmemory="512M" source="1.5">
<packageset dir="${temp-src-j.dir}">
<include name="net/**"/>
<include name="com/**"/>
<exclude name="**/dotnet/**"/>
<exclude name="**/DotNetVerifier.java"/>
</packageset>
<classpath>
<path refid="classpath-j"/>
</classpath>
<link href="http://java.sun.com/j2se/1.5.0/docs/api/"/>
<link href="http://www.xom.nu/apidocs/"/>
</javadoc>
<copy file="${userdoc.dir}/fixed/javadoc/stylesheet.css"
tofile="${javadoc.dir}/stylesheet.css"
overwrite="true"/>
</target>
<target name="product-dotnetdoc" description="Copy .NET API documentation">
<mkdir dir="${build-resources.dir}/doc/dotnetdoc"/>
<copy todir="${build-resources.dir}/doc/dotnetdoc">
<fileset dir="${dotnetdoc.dir}"/>
</copy>
</target>
<target name="release-userdoc" description="Generate User Documentation">
<taskdef name="saxon-xslt"
classname="net.sf.saxon.ant.AntTransform"
classpath="c:\saxon-build\9.0.0.1\saj\saxon9sa.jar;c:\saxon-licenses"/>
<copy todir="${build-resources.dir}/doc">
<fileset dir="${userdoc.dir}/fixed"/>
</copy>
<copy todir="${product.dir}/bj">
<fileset dir="${userdoc.dir}/welcome">
<include name="doc/**"/>
<include name="notices/**"/>
</fileset>
</copy>
<copy todir="${product.dir}/saj">
<fileset dir="${userdoc.dir}/welcome">
<include name="doc/**"/>
<include name="notices/**"/>
</fileset>
</copy>
<copy todir="${product.dir}/bn">
<fileset dir="${userdoc.dir}/welcome">
<include name="doc/**"/>
<include name="notices/**"/>
</fileset>
</copy>
<copy todir="${product.dir}/san">
<fileset dir="${userdoc.dir}/welcome">
<include name="doc/**"/>
<include name="notices/**"/>
</fileset>
</copy>
<saxon-xslt in="${userdoc.dir}/catalog.xml"
style="${userdoc.dir}/render-page2.xsl"
schemaAware="true"
xmlVersion="1.0"
schemaValidation="strict"
out="${product.dir}/resources/doc/dummy.html"><!--validation="strict" -->
<param name="destination" expression="offline"/>
</saxon-xslt>
<zip zipfile="${build-resources.dir}/source-userdoc.zip">
<fileset dir="${userdoc.dir}">
<include name="**/*.xml"/>
<include name="**/*.xsl"/>
<include name="**/*.xsd"/>
<include name="**/*.css"/>
<include name="fixed/**"/>
<include name="welcome/**"/>
</fileset>
</zip>
</target>
<target name="release-source" description="Generate Zip file containing issued Source Code">
<mkdir dir="${build-resources.dir}"/>
<zip zipfile="${build-resources.dir}/source.zip">
<fileset dir="${source-bj.dir}">
<include name="net/**/*.java"/>
<include name="net/**/package.html"/>
</fileset>
<fileset dir="${source-bj.dir}">
<include name="net/sf/saxon/dotnet/*.java"/>
<include name="net/sf/saxon/dotnet/package.html"/>
</fileset>
<fileset dir="${temp-src-nc.dir}">
<include name="api/**/*.cs"/>
<include name="cmd/**/*.cs"/>
</fileset>
</zip>
<zip zipfile="${build-resources.dir}/sa-source.zip">
<fileset dir="${source-saj.dir}">
<include name="com/saxonica/**/*.java"/>
<include name="com/saxonica/**/package.html"/>
</fileset>
</zip>
</target>
<target name="resources" description="Generate contents of released resources file"
depends="release-userdoc, product-javadoc, product-dotnetdoc,
samples, samples-j, testdrivers-j, samples-n, release-source">
<mkdir dir="${product.dir}/resources/build"/>
<copy todir="${product.dir}/resources/build">
<fileset dir="${basedir}">
<include name="build.xml"/>
<include name="ikvmc.cmd"/>
<include name="csharp-compile.cmd"/>
</fileset>
</copy>
<copy todir="${product.dir}/resources">
<fileset dir="${userdoc.dir}/welcome">
<include name="notices/**"/>
</fileset>
</copy>
</target>
<target name="bj" depends="compile-bj, jar-bj, basic-userdoc"
description="Generate Saxon-B for the Java platform"/>
<target name="saj" depends="bj, jar-saj, basic-userdoc"
description="Generate Saxon-SA for the Java platform"/>
<target name="n" depends="product-bn, product-san"
description="Generate Saxon for the .NET platform"/>
<target name="build" description="Complete Saxon product build"
depends="bj, saj, n"/> <!-- add resources -->
<target name="release" description="Create .ZIP files for release" depends="build"
> <!--depends="build, resources"-->
<mkdir dir="${issue.dir}"/>
<zip zipfile="${issue.dir}/saxonb${versionh}j.zip">
<fileset dir="${product.dir}/bj"/>
</zip>
<zip zipfile="${issue.dir}/saxonb${versionh}n.zip">
<fileset dir="${product.dir}/bn"/>
</zip>
<zip zipfile="${issue.dir}/saxonsa${versionh}j.zip">
<fileset dir="${product.dir}/saj"/>
</zip>
<zip zipfile="${issue.dir}/saxonsa${versionh}n.zip">
<fileset dir="${product.dir}/san"/>
</zip>
<!--
<zip zipfile="${issue.dir}/saxon-resources${versionh}.zip">
<fileset dir="${product.dir}/resources"/>
</zip>
-->
</target>
<target name="archive" description="Archive everything needed for backup">
<mkdir dir="${archive.dir}"/>
<copy todir="${archive.dir}">
<fileset dir="${issue.dir}"/>
<fileset dir="${development-j.dir}" includes="sa-source.zip"/>
<fileset dir="${build-resources.dir}" includes="source.zip"/>
</copy>
<zip zipfile="${archive.dir}/saxontests.zip">
<fileset dir="e:/tests">
<include name="testsuite/*.*"/>
<include name="java/**/*.java"/>
<include name="xqts-current/SaxonDriver/**"/>
<include name="xqts-extra/**"/>
<include name="xslts_1_0_4/**/SaxonDriver/**"/>
</fileset>
<fileset dir="e:/tests/java" includes ="**/*.java"/>
</zip>
<zip zipfile="${archive.dir}/licensetool.zip">
<fileset dir="c:/MyJava/licensetool"/>
</zip>
<zip zipfile="${archive.dir}/licenses.zip">
<fileset dir="c:/saxon-licenses"/>
</zip>
</target>
</project>
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#*************************************************************************
PRJ=.
PRJNAME=saxon
TARGET=saxon
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
.INCLUDE : antsettings.mk
.IF "$(SOLAR_JAVA)" != ""
.IF "$(SYSTEM_SAXON)" == "YES"
all:
@echo "An already available installation of saxon should exist on your system."
@echo "Therefore the version provided here does not need to be built in addition."
.ENDIF
# --- Files --------------------------------------------------------
TARFILE_NAME=source-9.0.0.7-bj
TARFILE_MD5=ada24d37d8d638b3d8a9985e80bc2978
ADDITIONAL_FILES=build.xml
TARFILE_ROOTDIR=src
PATCH_FILES=saxon-9.0.0.7-bj.patch
BUILD_ACTION="$(ANT)" $(ANT_FLAGS) -Dsolarbindir=$(SOLARBINDIR) jar-bj
OUT2CLASS= saxon-build$/9.0.0.7$/bj$/saxon9.jar
.ELSE # $(SOLAR_JAVA)!= ""
nojava:
@echo "Not building $(PRJNAME) because Java is disabled"
.ENDIF # $(SOLAR_JAVA)!= ""
# --- Targets ------------------------------------------------------
.INCLUDE : set_ext.mk
.INCLUDE : target.mk
.IF "$(SOLAR_JAVA)" != ""
.INCLUDE : tg_ext.mk
.ENDIF
xx saxon : solenv stax NULL
xx saxon nmake - all xx_saxon NULL
xx saxon\prj nmake - all xx_saxon NULL
..\%__SRC%\class\saxon9.jar %_DEST%\bin\saxon9.jar
--- misc/src/build.xml 2008-07-11 12:11:50.079281000 +0200
+++ misc/build/src/build.xml 2008-07-11 12:17:29.848740000 +0200
@@ -1 +1,1027 @@
-dummy
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project basedir="." default="all" name="Saxon-B The XSLT and XQuery Processor"
+ xmlns:dn="antlib:org.apache.ant.dotnet">
+
+
+ <!-- TODO *really* Must publish NOTICES directory with patch releases. Should also
+ publish doc directory, and add a notice concerning Saxon/MPL itself, as per section 3.6 of MPL 1.0 -->
+
+ <!--TODO: 1: ensure saxon9api.netmodule is included in the build
+ 2: remove the archive target before shipping this file-->
+
+ <!-- note : Ant 1.7 is needed for this script -->
+
+ <!-- Ant 1.7 introduces a <service> element to allow META-INF/services
+ directories to be created in JAR files. Unfortunately it is broken,
+ see http://issues.apache.org/bugzilla/show_bug.cgi?id=41201. The relevant
+ code here is retained in the form of comments, and can be reinstated
+ when the bug is fixed. Meanwhile the directories are created manually -->
+
+ <!-- Build file for Saxon. This builds all four for the released products:
+ Saxon-B and Saxon-SA, on both the Java and .NET platforms. It also builds
+ the released resources file. A full build requires access to Saxonica
+ proprietary source code. The open source Saxon-B product can be built for
+ Java using target "bj"; but building Saxon-B for .NET may require some
+ disentangling of tasks that depend on Saxon-SA being present. -->
+
+ <!-- Useful targets:
+
+ clean clears temporary directories
+ bj builds executables for Saxon-B
+ saj builds executables for Saxon-B and Saxon-SA
+ n builds executables for Saxon on .NET
+ build builds all executables
+ resources builds samples and documentation
+ release builds ZIP files for published downloads
+ archive produces a back-up archive -->
+
+
+ <!-- Naming conventions:
+ -n : .NET
+ -j : Java
+ -b : Saxon-B
+ -sa : Saxon-SA
+ combined as appropriate, so -bj denotes Saxon-B on the Java platform
+ -->
+
+ <property name="version" value="9.0.0.7"/>
+ <property name="versionh" value="9-0-0-7"/>
+ <property name="release.date" value="2008-07-03"/>
+
+ <!-- following locations are specific to the machine -->
+
+ <!-- root drive for input files-->
+ <property name="root" value="."/>
+
+ <!-- root drive for generated files-->
+ <property name="troot" value="."/>
+
+ <!-- directory holding Java source code -->
+ <property name="development-j.dir" value="${root}/MyJava/saxon8.x"/>
+
+ <!-- directory holding Java source code as in Subversion -->
+ <property name="subversion-j.dir" value="${root}"/>
+
+ <!-- directory holding latest patch state of Saxon-SA Java code -->
+ <property name="saj-patch.dir" value="${root}/saxon-90-patch"/>
+
+ <!-- directory holding Java test drivers -->
+ <property name="drivers-j.dir" value="${root}/MyJava/test"/>
+
+ <!-- directories holding C# source code -->
+ <property name="vss-n.dir" value="${root}/Documents and Settings/Mike/My Documents/Visual Studio 2005/Projects/Saxon.Api"/>
+
+ <!-- directory holding C# source code as in Subversion -->
+ <property name="subversion-n.dir" value="${root}/saxon-svn/latest9.0/bn/csource"/>
+
+ <!-- directory holding XML user documentation -->
+ <property name="userdoc.dir" value="${root}/MyJava/doc/saxon8"/>
+
+ <!-- directory holding .NET API documentation (which is built manually using NDOC -->
+ <property name="dotnetdoc.dir" value="${root}/MyDotNet/dotnetdoc"/>
+
+ <!-- directories holding use cases and sample applications -->
+ <property name="usercases.dir" value="${root}/MyJava/use-cases"/>
+ <property name="samples.dir" value="${root}/MyJava/samples"/>
+
+ <!-- directory in which to build the product for release -->
+ <property name="product.dir" value="${troot}/saxon-build/${version}"/>
+
+ <!-- directory in which to build the issued .ZIP files -->
+ <property name="issue.dir" value="${troot}/saxon-issues/saxon-issue-${release.date} (${version})"/>
+
+ <!-- location of the C# compiler -->
+ <property name="csharp.compiler" value="c:/Windows/Microsoft.NET/Framework/v1.1.4322/csc.exe"/>
+
+
+ <!-- following locations are for IKVMC code used to build the .NET product -->
+
+ <property name="development-ikvm.dir" value="${root}/MyDotNet"/>
+ <property name="ikvm.dir" value="${development-ikvm.dir}/ikvm-0.32.0.0"/>
+ <property name="generated.stubs.dir" value="${development-ikvm.dir}/stubs"/>
+ <property name="saxondotnet.snk" value="${development-ikvm.dir}/make/saxondotnet.snk"/>
+
+ <!-- Precondition for .NET compilation: IKVM is installed.
+ * Download from www.ikvm.net
+ * Unzip into ${development-ikvm.dir}
+ * Register in the GAC (access the Microsoft .NET Framework Configuration item in the
+ Windows Control Panel, and add the assemblies to the Assembly Cache.
+ At a minimum, install the IKVM.GNU.Classpath.dll and IKVM.Runtime.dll)
+ * Generate stubs in ${generated.stubs.dir}
+ for System.Xml.dll, System.Security.dll, and IKVM.GNU.Classpath.dll
+ -->
+
+ <!-- following locations are relative to the build file -->
+
+ <property name="lib.dir" value="libs"/>
+ <property name="temp.dir" value="temp"/>
+ <property name="archive.dir" value="archive"/>
+ <property name="services.dir" value="services"/>
+ <property name="temp-src-j.dir" value="${temp.dir}/j/source"/>
+ <property name="temp-src-nj.dir" value="${temp.dir}/n/jsource"/>
+ <property name="temp-src-nc.dir" value="${temp.dir}/n/csource"/>
+ <property name="classes-j.dir" value="${temp.dir}/j/classes"/>
+ <property name="classes-n.dir" value="${temp.dir}/n/classes"/>
+ <property name="jar-n.dir" value="${temp.dir}/n/jar"/>
+ <property name="dll-n.dir" value="${temp.dir}/n/dll"/>
+
+ <!-- following locations are relative to the destination directory -->
+
+ <property name="build-bj.dir" value="${product.dir}/bj"/>
+ <property name="build-saj.dir" value="${product.dir}/saj"/>
+ <property name="build-bn.dir" value="${product.dir}/bn"/>
+ <property name="build-san.dir" value="${product.dir}/san"/>
+ <property name="build-resources.dir" value="${product.dir}/resources"/>
+ <property name="javadoc.dir" value="${build-resources.dir}/doc/javadoc"/>
+
+
+ <property name="build.debug" value="true"/>
+ <property name="build.debuglevel" value="source,lines,vars"/>
+ <property name="build.deprecation" value="true"/>
+ <property name="build.optimize" value="true"/>
+ <property name="build.compiler.source" value="1.4"/>
+ <property name="build.compiler.target" value="1.4"/>
+ <property name="build.s9api.compiler.source" value="1.5"/>
+ <property name="build.s9api.compiler.target" value="1.5"/>
+ <property name="build.compress" value="false"/>
+
+ <!-- following properties can be switched to determine whether to build from patch source
+ or from development source -->
+
+ <!-- patch source -->
+
+ <property name="source-bj.dir" value="${subversion-j.dir}"/>
+ <property name="source-saj.dir" value="${saj-patch.dir}"/>
+ <property name="source-api-n.dir" value="${subversion-n.dir}/api/Saxon.Api"/>
+ <property name="source-cmd-n.dir" value="${subversion-n.dir}/cmd"/>
+ <property name="source-samples-n.dir" value="${subversion-n.dir}/samples"/>
+
+ <!-- development source -->
+ <!--
+ <property name="source-bj.dir" value="${development-j.dir}"/>
+ <property name="source-saj.dir" value="${development-j.dir}"/>
+ <property name="source-api-n.dir" value="${vss-n.dir}"/>
+ <property name="source-cmd-n.dir" value="${vss-n.dir}"/>
+ <property name="source-samples-n.dir" value="${vss-n.dir}"/>
+ -->
+
+ <property name="solar.bin" value="${solarbindir}"/>
+ <path id="classpath-j">
+ <fileset dir="${solar.bin}">
+ <include name="jsr173_1.0_api.jar"/>
+ </fileset>
+ </path>
+
+ <path id="classpath-n">
+ <fileset dir="${lib.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${ikvm.dir}">
+ <include name="classpath/mscorlib.jar"/>
+ <include name="classpath/System.jar"/>
+ <include name="bin/IKVM.GNU.Classpath.jar"/>
+ <include name="bin/IKVM.Runtime.jar"/>
+ </fileset>
+ <fileset dir="${generated.stubs.dir}">
+ <include name="System.Xml.jar"/>
+ <include name="System.Security.jar"/>
+ </fileset>
+ </path>
+
+ <path id="classpath-samples">
+ <fileset dir="${lib.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${build-saj.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ <!-- Substitute build-bj.dir if there is no requirement to compile the sample applications
+ that depend on Saxon-SA -->
+ </path>
+
+ <target name="clean" description="Clean all files other than source code and downloaded jars.">
+ <delete dir="${temp.dir}"/>
+ <delete dir="${product.dir}"/>
+ <mkdir dir="${product.dir}"/>
+ </target>
+
+ <target name="download" description="Download third-party jar files.">
+ <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"
+ dest="${lib.dir}/dom4j-1.6.1.jar" verbose="true"/>
+
+ <get src="http://www.ibiblio.org/maven/jdom/jars/jdom-1.0.jar"
+ dest="${lib.dir}/jdom-1.0.jar" verbose="true"/>
+
+ <get src="http://www.cafeconleche.org/XOM/xom-1.1.jar" dest="${lib.dir}/xom-1.1.jar"
+ verbose="true"/>
+
+ <get src="http://dist.codehaus.org/stax/jars/stax-api-1.0.1.jar" dest="${lib.dir}/stax-api-1.0.1.jar"
+ verbose="true"/>
+
+ <!-- TODO: add servlet.jar, ant.jar -->
+
+ </target>
+
+
+ <target name="copysource-development" description="Copy relevant source files from development directory">
+ <copy todir="${temp-src-j.dir}">
+ <fileset dir="${source-bj.dir}">
+ <include name="net/sf/saxon/**/*.java"/>
+ <exclude name="**/dotnet/**"/>
+ <!--<exclude name="**/s9api/**"/> s9api needs Java 5 -->
+ <include name="net/sf/saxon/**/package.html"/>
+ </fileset>
+ <!--
+ <fileset dir="${source-saj.dir}">
+ <include name="com/saxonica/**/*.java"/>
+ <exclude name="com/saxonica/validate/DotNetVerifier.java"/>
+ <include name="com/saxonica/**/package.html"/>
+ </fileset>
+ -->
+ </copy>
+ <!--
+ <replace file="${temp-src-j.dir}/com/saxonica/validate/SchemaAwareConfiguration.java"
+ token="/*DOTNETONLY*/"
+ value="//"
+ summary="yes"/>
+ -->
+ <replace file="${temp-src-j.dir}/net/sf/saxon/Configuration.java"
+ token="/*DOTNETONLY*/"
+ value="//"
+ summary="yes"/>
+ <copy todir="${temp-src-nj.dir}">
+ <fileset dir="${source-bj.dir}">
+ <include name="net/sf/saxon/**/*.java"/>
+ <exclude name="**/ant/**"/>
+ <exclude name="**/dom/**"/>
+ <exclude name="**/dom4j/**"/>
+ <exclude name="**/java/**"/>
+ <exclude name="**/javax/**"/>
+ <exclude name="**/jdom/**"/>
+ <exclude name="**/pull/PullToStax.java"/>
+ <exclude name="**/pull/StaxBridge.java"/>
+ <!-- <exclude name="**/s9api/**"/> s9api needs Java 5 -->
+ <exclude name="**/xom/**"/>
+ <exclude name="**/xpath/**"/>
+ <exclude name="**/xqj/**"/>
+ </fileset>
+ <!--
+ <fileset dir="${source-saj.dir}">
+ <include name="com/saxonica/extra/*.java"/>
+ <include name="com/saxonica/fsa/*.java"/>
+ <include name="com/saxonica/ptree/*.java"/>
+ <include name="com/saxonica/schema/*.java"/>
+ <include name="com/saxonica/sdoc/*.java"/>
+ <include name="com/saxonica/validate/*.java"/>
+ <include name="com/saxonica/Validate.java"/>
+ </fileset>-->
+ </copy>
+ <!--
+ <replace file="${temp-src-nj.dir}/com/saxonica/validate/SchemaAwareConfiguration.java"
+ token="/*JAVAONLY*/"
+ value="//"
+ summary="yes"/>
+ -->
+ <replace file="${temp-src-nj.dir}/net/sf/saxon/Configuration.java"
+ token="/*JAVAONLY*/"
+ value="//"
+ summary="yes"/>
+ <!-- when building from development source
+ <copy todir="${temp-src-nc.dir}/api">
+ <fileset dir="${source-api-n.dir}">
+ <include name="Saxon.Api/*.cs"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${temp-src-nc.dir}/cmd">
+ <fileset dir="${source-cmd-n.dir}/Transform">
+ <include name="*.cs"/>
+ </fileset>
+ <fileset dir="${source-cmd-n.dir}/Query">
+ <include name="*.cs"/>
+ </fileset>
+ <fileset dir="${source-cmd-n.dir}/Validate">
+ <include name="*.cs"/>
+ </fileset>
+ </copy>
+ <copy todir="${temp-src-nc.dir}/samples">
+ <fileset dir="${source-samples-n.dir}/XQueryExamples">
+ <include name="*.cs"/>
+ </fileset>
+ <fileset dir="${source-samples-n.dir}/XPathExample">
+ <include name="*.cs"/>
+ </fileset>
+ <fileset dir="${source-samples-n.dir}/XsltExamples">
+ <include name="*.cs"/>
+ </fileset>
+ <fileset dir="${source-samples-n.dir}/SchemaExamples">
+ <include name="*.cs"/>
+ </fileset>
+ <fileset dir="${source-samples-n.dir}/XsltTestSuiteDriver">
+ <include name="*.cs"/>
+ </fileset>
+ <fileset dir="${source-samples-n.dir}/XQueryTestSuiteDriver">
+ <include name="*.cs"/>
+ </fileset>
+ <fileset dir="${source-samples-n.dir}/SampleExtensions">
+ <include name="*.cs"/>
+ </fileset>
+ </copy>
+ -->
+ <!-- when building from patch source
+ <copy todir="${temp-src-nc.dir}/api/Saxon.Api">
+ <fileset dir="${source-api-n.dir}">
+ <include name="*.cs"/>
+ </fileset>
+ </copy>
+ <copy todir="${temp-src-nc.dir}/cmd" >
+ <fileset dir="${source-cmd-n.dir}">
+ <include name="*.cs"/>
+ </fileset>
+ </copy>
+ <copy todir="${temp-src-nc.dir}/samples">
+ <fileset dir="${source-samples-n.dir}">
+ <include name="*.cs"/>
+ </fileset>
+ </copy>
+ -->
+ <!-- -->
+
+ </target>
+
+ <target name="create-meta-inf" description="Create contents of META-INF/services files">
+
+ <!-- given the Ant 1.7.0 bug, create the services files here for copying into the JARS -->
+ <mkdir dir="${services.dir}/saxon9/META-INF/services"/>
+ <echo file="${services.dir}/saxon9/META-INF/services/javax.xml.transform.TransformerFactory"
+ message="net.sf.saxon.TransformerFactoryImpl"/>
+ <mkdir dir="${services.dir}/saxon9-xpath/META-INF/services"/>
+ <echo file="${services.dir}/saxon9-xpath/META-INF/services/javax.xml.xpath.XPathFactory"
+>net.sf.saxon.xpath.XPathFactoryImpl
+http\://java.sun.com/jaxp/xpath/dom: net.sf.saxon.xpath.XPathFactoryImpl
+http\://saxon.sf.net/jaxp/xpath/om: net.sf.saxon.xpath.XPathFactoryImpl
+http\://www.xom.nu/jaxp/xpath/xom: net.sf.saxon.xpath.XPathFactoryImpl
+http\://jdom.org/jaxp/xpath/jdom: net.sf.saxon.xpath.XPathFactoryImpl
+http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl
+</echo>
+ <mkdir dir="${services.dir}/saxon9sa/META-INF/services"/>
+ <echo file="${services.dir}/saxon9sa/META-INF/services/javax.xml.transform.TransformerFactory"
+ message="com.saxonica.SchemaAwareTransformerFactory"/>
+ <mkdir dir="${services.dir}/saxon9sa-jaxp/META-INF/services"/>
+ <echo file="${services.dir}/saxon9sa-jaxp/META-INF/services/javax.xml.validation.SchemaFactory"
+>com.saxonica.jaxp.SchemaFactoryImpl
+http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl
+</echo>
+
+
+ </target>
+
+ <target name="compile-bj" description="Compile Saxon-B classes for Java." depends="copysource-development">
+ <mkdir dir="${classes-j.dir}"/>
+ <javac encoding="ISO-8859-1" debug="${build.debug}" debuglevel="${build.debuglevel}"
+ deprecation="${build.deprecation}" destdir="${classes-j.dir}"
+ optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}"
+ target="${build.compiler.target}">
+
+ <include name="net/**"/>
+ <exclude name="**/dom/**"/>
+ <exclude name="**/dom4j/**"/>
+ <exclude name="**/javax/**"/>
+ <exclude name="**/jdom/**"/>
+ <exclude name="**/sql/**"/>
+ <exclude name="**/xom/**"/>
+ <exclude name="**/xpath/**"/>
+ <exclude name="**/xqj/**"/>
+ <exclude name="**/dotnet/**"/>
+ <exclude name="**/s9api/**"/>
+
+ <exclude name="**/ant/**"/>
+ <exclude name="**/dotnet/**"/>
+ <exclude name="**/s9api/**"/>
+ <classpath>
+ <path refid="classpath-j"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <target name="compile-saj" description="Compile Saxon-SA classes for Java." depends="copysource-development">
+ <mkdir dir="${classes-j.dir}"/>
+ <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
+ deprecation="${build.deprecation}" destdir="${classes-j.dir}"
+ optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}"
+ target="${build.compiler.target}">
+
+ <include name="com/saxonica/**"/>
+ <include name="net/sf/saxon/ant/**"/>
+ <exclude name="com/saxonica/validate/DotNetVerifier.java"/>
+ <classpath>
+ <path refid="classpath-j"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <target name="compile-s9api" description="Compile s9api classes for Java."
+ depends="compile-bj, compile-saj, copysource-development">
+ <!-- Compiling the s9api package requires JDK 1.5 -->
+ <!-- The bj and saj source must be compiled first to ensure that it is done using 1.4, otherwise
+ it will be compiled in 1.5 mode because the classes are referenced from the s9api package -->
+ <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
+ deprecation="${build.deprecation}" destdir="${classes-j.dir}"
+ optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.s9api.compiler.source}"
+ target="${build.s9api.compiler.target}">
+
+ <include name="**/s9api/**"/>
+ <classpath>
+ <path refid="classpath-j"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <target name="compile-bn" description="Compile Saxon-B classes for .NET" depends="copysource-development">
+ <mkdir dir="${classes-n.dir}"/>
+ <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
+ deprecation="${build.deprecation}" destdir="${classes-n.dir}"
+ optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
+ target="${build.compiler.target}">
+
+ <include name="net/**"/>
+ <exclude name="**/s9api/**"/>
+ <classpath>
+ <path refid="classpath-n"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <target name="compile-san" description="Compile Saxon-SA classes for .NET" depends="copysource-development">
+ <mkdir dir="${classes-n.dir}"/>
+ <javac debug="${build.debug}" debuglevel="${build.debuglevel}"
+ deprecation="${build.deprecation}" destdir="${classes-n.dir}"
+ optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}"
+ target="${build.compiler.target}">
+
+ <include name="com/saxonica/**"/>
+ <exclude name="com/saxonica/validate/JavaVerifier.java"/>
+ <classpath>
+ <path refid="classpath-n"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <target name="jar-bj" description="Create Saxon-B jar files for Java" depends="create-meta-inf, compile-bj">
+ <mkdir dir="${product.dir}/bj"/>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9.jar">
+ <include name="net/**/*.class"/>
+ <exclude name="**/ant/**/*.class"/>
+ <exclude name="**/dom/**/*.class"/>
+ <exclude name="**/dom4j/**/*.class"/>
+ <exclude name="**/javax/**/*.class"/>
+ <exclude name="**/jdom/**/*.class"/>
+ <exclude name="**/sql/**/*.class"/>
+ <exclude name="**/xom/**/*.class"/>
+ <exclude name="**/xpath/**/*.class"/>
+ <exclude name="**/xqj/**/*.class"/>
+ <exclude name="**/s9api/**/*.class"/>
+ <include name="META-INF/**"/>
+ <manifest>
+ <attribute name="Project-Name" value="Saxon-B"/>
+ <attribute name="Main-Class" value="net.sf.saxon.Transform"/>
+ </manifest>
+ <metainf dir="${services.dir}/saxon9/META-INF"/>
+ <!--
+ <service type="javax.xml.transform.TransformerFactory"
+ provider="net.sf.saxon.TransformerFactoryImpl"/>
+ -->
+ </jar>
+ <!--
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom.jar">
+ <include name="net/sf/saxon/dom/*.class"/>
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom4j.jar">
+ <include name="net/sf/saxon/dom4j/*.class"/>
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-jdom.jar">
+ <include name="net/sf/saxon/jdom/*.class"/>
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-s9api.jar">
+ <include name="net/sf/saxon/s9api/*.class"/>
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-sql.jar">
+ <include name="net/sf/saxon/sql/*.class"/>
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xom.jar">
+ <include name="net/sf/saxon/xom/*.class"/>
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xpath.jar">
+ <include name="net/sf/saxon/xpath/*.class"/>
+ <metainf dir="${services.dir}/saxon9-xpath/META-INF"/>
+ <!==
+ <service type="javax.xml.xpath.XPathFactory">
+ <provider classname="net.sf.saxon.xpath.XPathFactoryImpl"/>
+ <provider classname="http\://java.sun.com/jaxp/xpath/dom: net.sf.saxon.xpath.XPathFactoryImpl"/>
+ <provider classname="http\://saxon.sf.net/jaxp/xpath/om: net.sf.saxon.xpath.XPathFactoryImpl"/>
+ <provider classname="http\://www.xom.nu/jaxp/xpath/xom: net.sf.saxon.xpath.XPathFactoryImpl"/>
+ <provider classname="http\://jdom.org/jaxp/xpath/jdom: net.sf.saxon.xpath.XPathFactoryImpl"/>
+ <provider classname="http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl"/>
+ </service> ==>
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xqj.jar">
+ <include name="net/sf/saxon/xqj/*.class"/>
+ <include name="net/sf/saxon/javax/xml/namespace/*.class"/>
+ <include name="net/sf/saxon/javax/xml/xquery/*.class"/>
+ </jar>
+ -->
+ </target>
+
+ <target name="jar-saj" description="Create Saxon-SA jar files for Java" depends="compile-s9api, jar-bj">
+ <mkdir dir="${product.dir}/saj"/>
+ <copy todir="${product.dir}/saj">
+ <fileset dir="${product.dir}/bj">
+ <include name="*.jar"/>
+ </fileset>
+ </copy>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa.jar">
+ <include name="net/**/*.class"/>
+ <exclude name="**/dom/**/*.class"/>
+ <exclude name="**/dom4j/**/*.class"/>
+ <exclude name="**/javax/**/*.class"/>
+ <exclude name="**/jdom/**/*.class"/>
+ <exclude name="**/s9api/**/*.class"/>
+ <exclude name="**/sql/**/*.class"/>
+ <exclude name="**/xom/**/*.class"/>
+ <exclude name="**/xpath/**/*.class"/>
+ <exclude name="**/xqj/**/*.class"/>
+ <include name="com/saxonica/**/*.class"/>
+ <exclude name="com/saxonica/jaxp/*.class"/>
+ <exclude name="com.saxonica.CompileQuery.class"/>
+ <manifest>
+ <attribute name="Project-Name" value="Saxon-SA"/>
+ </manifest>
+ <metainf dir="${services.dir}/saxon9sa/META-INF"/>
+ <!--
+ <service type="javax.xml.transform.TransformerFactory"
+ provider="com.saxonica.SchemaAwareTransformerFactory"/>
+ -->
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-jaxp.jar">
+ <include name="com/saxonica/jaxp/*.class"/>
+ <include name="net/sf/saxon/dom/TypeInfoImpl.class"/>
+ <metainf dir="${services.dir}/saxon9sa-jaxp/META-INF"/>
+ <!--
+ <service type="javax.xml.validation.SchemaFactory">
+ <provider classname="com.saxonica.jaxp.SchemaFactoryImpl"/>
+ <provider classname="http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl"/>
+ </service>
+ -->
+ </jar>
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-qc.jar">
+ <include name="com/saxonica/codegen/*.class"/>
+ <include name="com.saxonica.CompileQuery.class"/>
+ </jar>
+ <!-- The Saxon-Ant task is delivered with Saxon-B but it won't compile without Saxon-SA present,
+ unless modified -->
+ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-ant.jar">
+ <include name="net/sf/saxon/ant/*.class"/>
+ </jar>
+ </target>
+
+ <target name="jar-bn" description="Create Saxon-B jar files for .NET" depends="compile-bn">
+ <mkdir dir="${jar-n.dir}"/>
+ <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9.jar">
+ <include name="net/**/*.class"/>
+ </jar>
+ </target>
+
+ <target name="jar-san" description="Create Saxon-SA jar files for .NET" depends="compile-san">
+ <mkdir dir="${jar-n.dir}"/>
+ <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9sa.jar">
+ <include name="com/saxonica/**/*.class"/>
+ </jar>
+ </target>
+
+ <target name="dll-n" description="Create DLLs for .NET" depends="jar-bn, jar-san">
+ <mkdir dir="${dll-n.dir}"/>
+ <copy todir="${dll-n.dir}">
+ <fileset dir="${ikvm.dir}/bin">
+ <include name="IKVM.GNU.Classpath.dll"/>
+ <include name="IKVM.Runtime.dll"/>
+ </fileset>
+ </copy>
+ <copy file="${saxondotnet.snk}" todir="${basedir}"/>
+ <!--
+ Invoke IKVMC to cross-compile the JAR files into DLLs
+ -->
+ <exec dir="." executable="ikvmc.cmd" >
+ <arg line="live"/> <!-- set to 'debug' for testing, 'live' for final build -->
+ <arg line="${basedir}/${jar-n.dir}"/>
+ <arg line="${basedir}/${dll-n.dir}"/>
+ <arg line="${version}"/>
+ </exec>
+ </target>
+
+ <target name="csharp-n" description="Compile C# source for .NET commands and API library"
+ depends="dll-n">
+
+ <mkdir dir="${dll-n.dir}/samples"/>
+ <mkdir dir="${dll-n.dir}/tests"/>
+
+ <exec dir="." executable="csharp-compile.cmd" >
+ <arg line="${basedir}/${temp-src-nc.dir}"/>
+ <arg line="${basedir}/${dll-n.dir}"/>
+ <arg line="${version}"/>
+ </exec>
+
+
+<!-- <taskdef
+ uri="antlib:org.apache.ant.dotnet">
+ <classpath>
+ <pathelement location="c:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/>
+ </classpath>
+ </taskdef>
+ <dn:csc xmlns:dn="antlib:org.apache.ant.dotnet"
+ executable="${csharp.compiler}"
+ srcdir="${temp-src-nc.dir}/cmd"
+ targettype="exe"
+ win32icon="c:\MyDotNet\icons\gyfu.ico"
+ destdir="${dll-n.dir}">
+ <reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/>
+ <reference file="${dll-n.dir}/IKVM.Runtime.dll"/>
+ <reference file="${dll-n.dir}/saxon9.dll"/>
+ <reference file="${dll-n.dir}/saxon9sa.dll"/>
+ </dn:csc>
+ <dn:csc xmlns:dn="antlib:org.apache.ant.dotnet"
+ executable="${csharp.compiler}"
+ srcdir="${temp-src-nc.dir}/api"
+ targettype="module"
+ win32icon="c:\MyDotNet\icons\gyfu.ico"
+ destdir="${dll-n.dir}">
+ <reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/>
+ <reference file="${dll-n.dir}/IKVM.Runtime.dll"/>
+ <reference file="${dll-n.dir}/saxon9.dll"/>
+ <reference file="${dll-n.dir}/saxon9sa.dll"/>
+ </dn:csc>
+-->
+ </target>
+
+ <target name="basic-userdoc" description="Generate Basic Documentation for release with executable">
+ <mkdir dir="${product.dir}/bj"/>
+ <copy todir="${product.dir}/bj">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="doc/**"/>
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ <mkdir dir="${product.dir}/saj"/>
+ <copy todir="${product.dir}/saj">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="doc/**"/>
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ <mkdir dir="${product.dir}/bn"/>
+ <copy todir="${product.dir}/bn">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="doc/**"/>
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ <mkdir dir="${product.dir}/san"/>
+ <copy todir="${product.dir}/san">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="doc/**"/>
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="product-bn" description="Assemble product.directory for Saxon-B on .NET"
+ depends="csharp-n, dll-n, basic-userdoc">
+ <mkdir dir="${build-bn.dir}/bin"/>
+ <copy todir="${build-bn.dir}/bin">
+ <fileset dir="${dll-n.dir}">
+ <include name="IKVM.GNU.Classpath.dll"/>
+ <include name="IKVM.Runtime.dll"/>
+ <include name="saxon9.dll"/>
+ <include name="saxon9api.dll"/>
+ <include name="saxon9api.netmodule"/>
+ <include name="Query.exe"/>
+ <include name="Transform.exe"/>
+ </fileset>
+ </copy>
+ <echo file="${build-bn.dir}/bin/install-gac.cmd">
+ set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin"
+ %NET%\gacutil /if IKVM.Runtime.dll
+ %NET%\gacutil /if IKVM.GNU.Classpath.dll
+ %NET%\gacutil /if saxon9.dll
+ %NET%\gacutil /if saxon9api.dll
+ </echo>
+ </target>
+
+ <target name="product-san" description="Assemble product.directory for Saxon-SA on .NET"
+ depends="csharp-n, dll-n, basic-userdoc">
+ <copy todir="${build-san.dir}/bin">
+ <fileset dir="${dll-n.dir}">
+ <include name="IKVM.GNU.Classpath.dll"/>
+ <include name="IKVM.Runtime.dll"/>
+ <include name="saxon9.dll"/>
+ <include name="saxon9sa.dll"/>
+ <include name="saxon9api.dll"/>
+ <include name="saxon9api.netmodule"/>
+ <include name="Query.exe"/>
+ <include name="Transform.exe"/>
+ <include name="Validate.exe"/>
+ </fileset>
+ </copy>
+ <echo file="${build-san.dir}/bin/install-gac.cmd">
+ set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin"
+ %NET%\gacutil /if IKVM.Runtime.dll
+ %NET%\gacutil /if IKVM.GNU.Classpath.dll
+ %NET%\gacutil /if saxon9.dll
+ %NET%\gacutil /if saxon9sa.dll
+ %NET%\gacutil /if saxon9api.dll
+ </echo>
+ </target>
+
+ <target name="samples" description="Assemble Cross-Platform Samples and Use-Cases">
+ <mkdir dir="${build-resources.dir}/samples"/>
+ <copy todir="${product.dir}/resources/use-cases">
+ <fileset dir="${usercases.dir}"/>
+ </copy>
+ <copy todir="${product.dir}/resources/samples">
+ <fileset dir="${samples.dir}">
+ <include name="analysis/timing-profile.xsl"/>
+ <include name="data/*.xml"/>
+ <include name="data/*.xsd"/>
+ <include name="data/*.dtd"/>
+ <include name="query/*.xq"/>
+ <include name="styles/*.xsl"/>
+ <include name="trax/xml/**/*.xml"/>
+ <include name="trax/xsl/**/*.xsl"/>
+ <include name="trax/xsl/**/preamble.txt"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="samples-j" description="Copy and Compile Java Samples"
+ depends="jar-saj">
+ <mkdir dir="${product.dir}/resources/samples/java"/>
+ <mkdir dir="${product.dir}/resources/samples/java/classes"/>
+ <copy todir="${product.dir}/resources/samples/java">
+ <fileset dir="${samples.dir}/java">
+ <include name="ApplyXPathJAXP.java"/>
+ <include name="ExampleContentHandler.java"/>
+ <include name="JDOMExample.java"/>
+ <include name="PullExamples.java"/>
+ <include name="QueryAPIExamples.java"/>
+ <include name="QuickValidator.java"/>
+ <include name="SaxonServlet.java"/>
+ <include name="SaxonSAServlet.java"/>
+ <include name="SchemaValidatorExample.java"/>
+ <include name="SchemaValidatorHandlerExample.java"/>
+ <include name="TraxExamples.java"/>
+ <include name="XMarkBenchmark.java"/>
+ <include name="XPathExample.java"/>
+ <include name="XPathExampleDOM.java"/>
+ <include name="XPathExampleSA.java"/>
+ <include name="XPathExampleServlet.java"/>
+ <include name="XQJExamples.java"/>
+ </fileset>
+ </copy>
+ <javac debug="true" debuglevel="source, lines"
+ destdir="${product.dir}/resources/samples/java/classes"
+ srcdir="${product.dir}/resources/samples/java"
+ source="${build.compiler.source}"
+ target="${build.compiler.target}">
+ <include name="*.java"/>
+ <classpath>
+ <path refid="classpath-samples"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <target name="testdrivers-j" description="Copy Java Test Drivers">
+ <mkdir dir="${product.dir}/resources/drivers/java/test"/>
+ <copy todir="${product.dir}/resources/drivers/java/test">
+ <fileset dir="${drivers-j.dir}">
+ <include name="XQueryTestSuiteDriver.java"/>
+ <include name="XsltTestSuiteDriver.java"/>
+ <include name="CanonicalXML.java"/>
+ <include name="XQTSModuleURIResolver.java"/>
+ <include name="XQTSCollectionURIResolver.java"/>
+ <include name="SchemaTestSuiteDriver.java"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="samples-n" description="Assemble release samples for .NET"
+ depends="csharp-n">
+ <mkdir dir="${build-resources.dir}/samples/cs"/>
+ <copy todir="${build-resources.dir}/samples/cs">
+ <fileset dir="${temp-src-nc.dir}/samples">
+ <include name="*.cs"/>
+ </fileset>
+ </copy>
+ <mkdir dir="${build-resources.dir}/samples/cs/bin"/>
+ <copy todir="${build-resources.dir}/samples/cs/bin">
+ <fileset dir="${dll-n.dir}/samples">
+ <include name="*.exe"/>
+ <include name="*.dll"/>
+ <include name="*.pdb"/>
+ </fileset>
+ </copy>
+ <copy todir="${build-resources.dir}/samples/cs/bin">
+ <fileset dir="${dll-n.dir}/tests">
+ <include name="*.exe"/>
+ <include name="*.dll"/>
+ <include name="*.pdb"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="product-javadoc" description="Generate Javadoc.">
+ <javadoc bottom="Copyright (C) Michael H. Kay. All rights reserved."
+ destdir="${javadoc.dir}" doctitle="saxon9 Javadocs"
+ noindex="true" notree="true" access="public"
+ maxmemory="512M" source="1.5">
+ <packageset dir="${temp-src-j.dir}">
+ <include name="net/**"/>
+ <include name="com/**"/>
+ <exclude name="**/dotnet/**"/>
+ <exclude name="**/DotNetVerifier.java"/>
+ </packageset>
+ <classpath>
+ <path refid="classpath-j"/>
+ </classpath>
+
+ <link href="http://java.sun.com/j2se/1.5.0/docs/api/"/>
+ <link href="http://www.xom.nu/apidocs/"/>
+
+ </javadoc>
+ <copy file="${userdoc.dir}/fixed/javadoc/stylesheet.css"
+ tofile="${javadoc.dir}/stylesheet.css"
+ overwrite="true"/>
+ </target>
+
+ <target name="product-dotnetdoc" description="Copy .NET API documentation">
+ <mkdir dir="${build-resources.dir}/doc/dotnetdoc"/>
+ <copy todir="${build-resources.dir}/doc/dotnetdoc">
+ <fileset dir="${dotnetdoc.dir}"/>
+ </copy>
+ </target>
+
+
+ <target name="release-userdoc" description="Generate User Documentation">
+ <taskdef name="saxon-xslt"
+ classname="net.sf.saxon.ant.AntTransform"
+ classpath="c:\saxon-build\9.0.0.1\saj\saxon9sa.jar;c:\saxon-licenses"/>
+ <copy todir="${build-resources.dir}/doc">
+ <fileset dir="${userdoc.dir}/fixed"/>
+ </copy>
+ <copy todir="${product.dir}/bj">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="doc/**"/>
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ <copy todir="${product.dir}/saj">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="doc/**"/>
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ <copy todir="${product.dir}/bn">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="doc/**"/>
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ <copy todir="${product.dir}/san">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="doc/**"/>
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ <saxon-xslt in="${userdoc.dir}/catalog.xml"
+ style="${userdoc.dir}/render-page2.xsl"
+ schemaAware="true"
+ xmlVersion="1.0"
+ schemaValidation="strict"
+ out="${product.dir}/resources/doc/dummy.html"><!--validation="strict" -->
+ <param name="destination" expression="offline"/>
+ </saxon-xslt>
+ <zip zipfile="${build-resources.dir}/source-userdoc.zip">
+ <fileset dir="${userdoc.dir}">
+ <include name="**/*.xml"/>
+ <include name="**/*.xsl"/>
+ <include name="**/*.xsd"/>
+ <include name="**/*.css"/>
+ <include name="fixed/**"/>
+ <include name="welcome/**"/>
+ </fileset>
+ </zip>
+ </target>
+
+ <target name="release-source" description="Generate Zip file containing issued Source Code">
+ <mkdir dir="${build-resources.dir}"/>
+ <zip zipfile="${build-resources.dir}/source.zip">
+ <fileset dir="${source-bj.dir}">
+ <include name="net/**/*.java"/>
+ <include name="net/**/package.html"/>
+ </fileset>
+ <fileset dir="${source-bj.dir}">
+ <include name="net/sf/saxon/dotnet/*.java"/>
+ <include name="net/sf/saxon/dotnet/package.html"/>
+ </fileset>
+ <fileset dir="${temp-src-nc.dir}">
+ <include name="api/**/*.cs"/>
+ <include name="cmd/**/*.cs"/>
+ </fileset>
+ </zip>
+ <zip zipfile="${build-resources.dir}/sa-source.zip">
+ <fileset dir="${source-saj.dir}">
+ <include name="com/saxonica/**/*.java"/>
+ <include name="com/saxonica/**/package.html"/>
+ </fileset>
+ </zip>
+ </target>
+
+ <target name="resources" description="Generate contents of released resources file"
+ depends="release-userdoc, product-javadoc, product-dotnetdoc,
+ samples, samples-j, testdrivers-j, samples-n, release-source">
+ <mkdir dir="${product.dir}/resources/build"/>
+ <copy todir="${product.dir}/resources/build">
+ <fileset dir="${basedir}">
+ <include name="build.xml"/>
+ <include name="ikvmc.cmd"/>
+ <include name="csharp-compile.cmd"/>
+ </fileset>
+ </copy>
+ <copy todir="${product.dir}/resources">
+ <fileset dir="${userdoc.dir}/welcome">
+ <include name="notices/**"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="bj" depends="compile-bj, jar-bj, basic-userdoc"
+ description="Generate Saxon-B for the Java platform"/>
+
+ <target name="saj" depends="bj, jar-saj, basic-userdoc"
+ description="Generate Saxon-SA for the Java platform"/>
+
+ <target name="n" depends="product-bn, product-san"
+ description="Generate Saxon for the .NET platform"/>
+
+ <target name="build" description="Complete Saxon product build"
+ depends="bj, saj, n"/> <!-- add resources -->
+
+ <target name="release" description="Create .ZIP files for release" depends="build"
+ > <!--depends="build, resources"-->
+ <mkdir dir="${issue.dir}"/>
+ <zip zipfile="${issue.dir}/saxonb${versionh}j.zip">
+ <fileset dir="${product.dir}/bj"/>
+ </zip>
+ <zip zipfile="${issue.dir}/saxonb${versionh}n.zip">
+ <fileset dir="${product.dir}/bn"/>
+ </zip>
+ <zip zipfile="${issue.dir}/saxonsa${versionh}j.zip">
+ <fileset dir="${product.dir}/saj"/>
+ </zip>
+ <zip zipfile="${issue.dir}/saxonsa${versionh}n.zip">
+ <fileset dir="${product.dir}/san"/>
+ </zip>
+ <!--
+ <zip zipfile="${issue.dir}/saxon-resources${versionh}.zip">
+ <fileset dir="${product.dir}/resources"/>
+ </zip>
+ -->
+ </target>
+
+ <target name="archive" description="Archive everything needed for backup">
+ <mkdir dir="${archive.dir}"/>
+ <copy todir="${archive.dir}">
+ <fileset dir="${issue.dir}"/>
+ <fileset dir="${development-j.dir}" includes="sa-source.zip"/>
+ <fileset dir="${build-resources.dir}" includes="source.zip"/>
+ </copy>
+ <zip zipfile="${archive.dir}/saxontests.zip">
+ <fileset dir="e:/tests">
+ <include name="testsuite/*.*"/>
+ <include name="java/**/*.java"/>
+ <include name="xqts-current/SaxonDriver/**"/>
+ <include name="xqts-extra/**"/>
+ <include name="xslts_1_0_4/**/SaxonDriver/**"/>
+ </fileset>
+ <fileset dir="e:/tests/java" includes ="**/*.java"/>
+ </zip>
+ <zip zipfile="${archive.dir}/licensetool.zip">
+ <fileset dir="c:/MyJava/licensetool"/>
+ </zip>
+ <zip zipfile="${archive.dir}/licenses.zip">
+ <fileset dir="c:/saxon-licenses"/>
+ </zip>
+ </target>
+
+
+
+</project>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment