mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 14:22:01 +00:00
206 lines
6.7 KiB
XML
206 lines
6.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<!--
|
|
Build file for Rhino using Ant (see http://jakarta.apache.org/ant/index.html)
|
|
Requires Ant version 1.2 or later
|
|
-->
|
|
|
|
<project name="Rhino" default="help" basedir=".">
|
|
|
|
<target name="properties">
|
|
<tstamp>
|
|
<!-- Specify date part of Context#getImplementationVersion() -->
|
|
<format property="implementation.date" pattern="yyyy MM dd"/>
|
|
</tstamp>
|
|
<property file="build.properties"/>
|
|
|
|
<property name="dist.file" value="rhino${version}.zip"/>
|
|
<property name="dist.source-only-zip" value="rhino${version}-sources.zip"/>
|
|
|
|
<property file="apiClasses.properties"/>
|
|
<property name="xmlimplsrc-build-file"
|
|
location="xmlimplsrc/build.xml"/>
|
|
|
|
<available property="xmlimplsrc-present?"
|
|
file="${xmlimplsrc-build-file}" />
|
|
|
|
</target>
|
|
|
|
<target name="init" depends="properties">
|
|
<mkdir dir="${build.dir}"/>
|
|
<mkdir dir="${classes}"/>
|
|
<mkdir dir="${dist.dir}"/>
|
|
</target>
|
|
|
|
<target name="compile" depends="init">
|
|
<ant antfile="src/build.xml" target="compile"/>
|
|
<ant antfile="toolsrc/build.xml" target="compile"/>
|
|
<antcall target="xmlimplsrc-compile" />
|
|
</target>
|
|
|
|
<target name="copy-source" depends="init">
|
|
<ant antfile="src/build.xml" target="copy-source"/>
|
|
<ant antfile="toolsrc/build.xml" target="copy-source"/>
|
|
<antcall target="xmlimplsrc-copy-source" />
|
|
<copy todir="${dist.dir}" file="build.xml"/>
|
|
<copy todir="${dist.dir}" file="build.properties"/>
|
|
<copy todir="${dist.dir}" file="apiClasses.properties"/>
|
|
</target>
|
|
|
|
<target name="xmlimplsrc-compile" if="xmlimplsrc-present?">
|
|
<echo>Calling ${xmlimplsrc-build-file}</echo>
|
|
<!-- Ignore compilation errors under JDK less then 1.4 -->
|
|
<property name="xmlimpl.compile.failonerror" value="no"/>
|
|
<ant antfile="${xmlimplsrc-build-file}" target="compile"/>
|
|
</target>
|
|
|
|
<target name="xmlimplsrc-copy-source" if="xmlimplsrc-present?">
|
|
<echo>Calling ${xmlimplsrc-build-file}</echo>
|
|
<ant antfile="${xmlimplsrc-build-file}" target="copy-source"/>
|
|
</target>
|
|
|
|
<target name="jar" depends="compile">
|
|
<jar jarfile="${dist.dir}/${rhino.jar}"
|
|
basedir="${classes}"
|
|
manifest="src/manifest"
|
|
compress="${jar-compression}"
|
|
/>
|
|
</target>
|
|
|
|
<target name="smalljar" depends="compile">
|
|
|
|
<jar basedir="${classes}" destfile="${dist.dir}/${small-rhino.jar}"
|
|
compress="${jar-compression}">
|
|
<include name="org/mozilla/javascript/*.class"/>
|
|
|
|
<include name="org/mozilla/javascript/debug/*.class"/>
|
|
<include name="org/mozilla/javascript/resources/*.properties"/>
|
|
<include name="org/mozilla/javascript/xml/*.class"/>
|
|
<include name="org/mozilla/javascript/continuations/*.class"/>
|
|
|
|
<!-- exclude classes that defines only int constants -->
|
|
<exclude name="org/mozilla/javascript/Token.class"/>
|
|
|
|
<!-- exclude classes that uses class generation library -->
|
|
<exclude name="org/mozilla/javascript/JavaAdapter*.class"/>
|
|
<exclude name="org/mozilla/javascript/InterfaceAdapter*.class"/>
|
|
|
|
<!-- exclude deprecated classes -->
|
|
<exclude name="org/mozilla/javascript/NotAFunctionException.class"/>
|
|
<exclude name="org/mozilla/javascript/PropertyException.class"/>
|
|
<exclude name="org/mozilla/javascript/ClassDefinitionException.class"/>
|
|
|
|
|
|
<include name="org/mozilla/javascript/regexp/*.class"
|
|
unless="no-regexp"/>
|
|
|
|
<include name="org/mozilla/javascript/xmlimpl/*.class"
|
|
unless="no-e4x"/>
|
|
|
|
</jar>
|
|
|
|
</target>
|
|
|
|
<target name="copy-examples" depends="init">
|
|
<mkdir dir="${dist.dir}/examples"/>
|
|
<copy todir="${dist.dir}/examples">
|
|
<fileset dir="examples" includes="**/*.java,**/*.js,**/*.html" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="copy-misc" depends="init">
|
|
<filter token="datestamp" value="${TODAY}"/>
|
|
<copy todir="${dist.dir}" filtering="yes">
|
|
<fileset dir=".">
|
|
<patternset>
|
|
<include name="build-date"/>
|
|
</patternset>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="copy-all" depends="copy-source,copy-examples,copy-misc">
|
|
</target>
|
|
|
|
<target name="copy-docs" depends="init">
|
|
<echo message="copy from docs"/>
|
|
<mkdir dir="${dist.dir}/docs"/>
|
|
<copy todir="${dist.dir}/docs">
|
|
<fileset dir="docs" includes="**/*.html,**/*.jpg,**/*.gif" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="javadoc" depends="copy-docs">
|
|
<mkdir dir="${dist.dir}/docs/apidocs"/>
|
|
<javadoc sourcefiles="${apiClasses}"
|
|
sourcepath="src"
|
|
destdir="${dist.dir}/docs/apidocs"
|
|
overview="${dist.dir}/docs/api.html"
|
|
version="true"
|
|
author="true"
|
|
windowtitle="${Name}" />
|
|
</target>
|
|
|
|
<target name="dist" depends="deepclean,jar,copy-all,javadoc">
|
|
<delete file="${dist.file}" />
|
|
<zip destfile="${dist.file}">
|
|
<fileset dir="${build.dir}" includes="${dist.name}/**"/>
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="source-zip" depends="copy-source,copy-examples,copy-docs">
|
|
<delete file="${dist.source-only-zip}" />
|
|
<zip destfile="${dist.source-only-zip}">
|
|
<zipfileset prefix="${dist.name}" dir="${dist.dir}">
|
|
<include name="*src/**"/>
|
|
<include name="build.xml"/>
|
|
<include name="*.properties"/>
|
|
<include name="examples/**"/>
|
|
<include name="docs/**"/>
|
|
<exclude name="docs/apidocs/**"/>
|
|
</zipfileset>
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="clean" depends="properties">
|
|
<delete quiet="true" file="${dist.dir}/${rhino.jar}"/>
|
|
<delete quiet="true" file="${dist.dir}/${small-rhino.jar}"/>
|
|
<delete quiet="true" dir="${classes}"/>
|
|
</target>
|
|
|
|
<target name="deepclean" depends="properties">
|
|
<delete quiet="true" dir="${build.dir}"/>
|
|
<delete quiet="true" file="${dist.file}"/>
|
|
<delete quiet="true" file="${dist.source-only-zip}"/>
|
|
</target>
|
|
|
|
<target name="help" depends="properties">
|
|
<echo>The following targets are available with this build file:
|
|
|
|
clean remove all compiled classes and copied property files
|
|
|
|
compile compile all classes and copy all property files
|
|
into ${classes} directory
|
|
|
|
deepclean remove all generated files and directories
|
|
|
|
dist create ${dist.file} with full Rhino distribution
|
|
|
|
help print this help
|
|
|
|
jar create ${rhino.jar} in ${dist.dir}
|
|
|
|
smalljar create ${small-rhino.jar} in ${dist.dir} with
|
|
minimalist set of Rhino classes. See footprint.html
|
|
from the doc directory for details.
|
|
|
|
javadoc generate Rhino API documentation
|
|
in ${dist.dir}/docs/apidocs
|
|
|
|
source-zip create ${dist.source-only-zip} with all Rhino
|
|
source files necessary to recreate ${dist.file}
|
|
</echo>
|
|
</target>
|
|
|
|
</project>
|