blob: 1aedecef2efe64e3442642e4d8c3d59ec3b825be (
plain) (
tree)
|
|
<?xml version="1.0" encoding="utf-8"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (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.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is Rhino code, released May 6, 1999.
-
- The Initial Developer of the Original Code is
- Netscape Communications Corporation.
- Portions created by the Initial Developer are Copyright (C) 1997-1999
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
-
- Alternatively, the contents of this file may be used under the terms of
- the GNU General Public License Version 2 or later (the "GPL"), in which
- case the provisions of the GPL are applicable instead of those above. If
- you wish to allow use of your version of this file only under the terms of
- the GPL and not to allow others to use your version of this file under the
- MPL, indicate your decision by deleting the provisions above and replacing
- them with the notice and other provisions required by the GPL. If you do
- not delete the provisions above, a recipient may use your version of this
- file under either the MPL or the GPL.
-
- ***** END LICENSE BLOCK ***** -->
<project name="xmlimplsrc" basedir=".." default="compile">
<!--
Properties which affect this build file:
no-e4x: Will cause E4X not to be built
no-xmlbeans: Will cause the old, XMLBeans-based implementation of E4X not to be built
-->
<property file="build.local.properties"/>
<property file="build.properties"/>
<!--
Provide support for the old name for skipping E4X compilation, in case someone is still using it
-->
<condition property="no-e4x">
<isset property="without-xmlimpl" />
</condition>
<path id="xmlbeans.classpath">
<pathelement location="${xbean.jar}"/>
<pathelement location="${jsr173.jar}"/>
</path>
<target name="compile" unless="no-e4x">
<antcall target="e4x-compile" />
<antcall target="no-e4x-compile" />
<antcall target="old-e4x" />
</target>
<available property="jdk1.5?" classname="java.lang.ProcessBuilder" />
<target name="e4x-compile" if="jdk1.5?">
<javac
srcdir="xmlimplsrc"
destdir="${classes}"
deprecation="on"
debug="${debug}"
target="${target-jvm}"
source="${source-level}"
/>
</target>
<target name="no-e4x-compile" unless="jdk1.5?">
<echo>
Skipping DOM E4X implementation; JDK 1.5+ currently required for compilation.
<!--
If the compiler is outfitted with DOM3 using the endorsed standards override mechanism, presumably the code
could be built under 1.4. Not tested.
-->
</echo>
</target>
<target name="old-e4x" unless="no-xmlbeans">
<antcall target="old-e4x-compile" />
<antcall target="no-old-e4x-compile" />
</target>
<target name="old-e4x-compile" depends="xmlbeans-unzip">
<echo>Compiling XMLBeans E4X implementation using ${xbean.jar} and ${jsr173.jar}</echo>
<javac
srcdir="deprecatedsrc"
destdir="${classes}"
includes="org/mozilla/javascript/xml/impl/xmlbeans/*.java"
deprecation="on"
debug="${debug}"
classpathref="xmlbeans.classpath"
failonerror="${xmlimpl.compile.failonerror}"
target="${target-jvm}"
source="${source-level}"
/>
</target>
<target name="no-old-e4x-compile" if="no-xmlbeans">
<echo>
Skipping compilation of XMLBeans E4X implementation due to missing XMLBeans files
</echo>
</target>
<target name="copy-source">
<mkdir dir="${dist.dir}/xmlimplsrc"/>
<copy todir="${dist.dir}/xmlimplsrc">
<fileset
dir="xmlimplsrc"
includes="**/*.java,**/*.properties,**/*.xml"
/>
</copy>
</target>
<target name="clean">
<delete includeEmptyDirs="true">
<fileset
dir="${classes}"
includes="org/mozilla/javascript/xmlimpl/**"
/>
</delete>
</target>
<property name="xmlbeans.tmp" location="${build.dir}/tmp-xbean" />
<property name="xmlbeans.zip" location="${xmlbeans.tmp}/xbean.zip" />
<condition property="xmlbeans-present?">
<and>
<available file="${xbean.jar}" />
<available file="${jsr173.jar}" />
</and>
</condition>
<condition property="xmlbeans-zip-present?">
<available file="${xmlbeans.zip}" />
</condition>
<target name="xmlbeans-get" unless="xmlbeans-zip-present?">
<property
name="xmlbeans.url"
value="http://www.apache.org/dist/xmlbeans/binaries/xmlbeans-2.2.0.zip"
/>
<mkdir dir="${xmlbeans.tmp}" />
<get src="${xmlbeans.url}" dest="${xmlbeans.zip}" ignoreerrors="true" />
</target>
<target name="xmlbeans-unzip" unless="xmlbeans-present?">
<antcall target="xmlbeans-get" />
<unzip src="${xmlbeans.zip}" dest="${xmlbeans.tmp}" />
<copy tofile="${xbean.jar}" file="${xmlbeans.tmp}/xmlbeans-2.2.0/lib/xbean.jar" />
<copy tofile="${jsr173.jar}" file="${xmlbeans.tmp}/xmlbeans-2.2.0/lib/jsr173_1.0_api.jar" />
<delete dir="${xmlbeans.tmp}" />
</target>
</project>
|