blob: eaa52c35f45a90053165880d12ebe0a59232f397 [file] [log] [blame]
<project default="rebuild" name="xslt-debugger">
<property file="build.properties"/>
<dirname file="${ant.file}" property="project.dir"/>
<property name="src.dir" value="${project.dir}/src"/>
<property name="src.rt.dir" value="${project.dir}/engine/src"/>
<property name="src.rt.impl.dir" value="${project.dir}/engine/impl/src"/>
<property name="build.dir" value="${basedir}/build"/>
<property name="build.classes.dir" value="${build.dir}/classes"/>
<property name="build.classes.rt.dir" value="${build.dir}/rt/classes"/>
<path id="classpath.uidesigner">
<fileset dir="${idea.home}">
<include name="lib/*.jar"/>
<include name="redist/*.jar"/>
</fileset>
</path>
<taskdef name="javac2" classname="com.intellij.ant.Javac2">
<classpath refid="classpath.uidesigner"/>
</taskdef>
<taskdef name="jflex" classname="JFlex.anttask.JFlexTask">
<classpath location="${idea.home}/tools/jflex/lib/JFlex.jar"/>
</taskdef>
<path id="idea.classpath">
<fileset dir="${idea.home}">
<include name="lib/*.jar"/>
<include name="redist/*.jar"/>
</fileset>
</path>
<path id="rt.classpath">
<fileset dir="${idea.home}/lib">
<include name="trove4j.jar" />
</fileset>
<fileset dir="engine/impl/lib">
<include name="*.jar"/>
</fileset>
</path>
<property name="xpathview.plugin.home" value="${idea.plugins.home}/xpath"/>
<target name="init">
<condition property="xpathview.src.available">
<available file="${xpathview.src.home}/build.xml"/>
</condition>
</target>
<target name="xpathview.compile" depends="init" if="xpathview.src.available">
<echo message="Building XPathView from source: ${xpathview.src.home}"/>
<property name="build.xpathview.dir" value="${build.dir}/xpathview"/>
<mkdir dir="${build.xpathview.dir}"/>
<ant dir="${xpathview.src.home}" target="jar">
<property name="build.dir" value="${build.xpathview.dir}"/>
</ant>
<path id="xpathview.classpath">
<fileset dir="${build.xpathview.dir}">
<include name="xpath-lang/*.jar"/>
<include name="*.jar"/>
</fileset>
</path>
<path id="xpathview.rt.classpath">
<fileset dir="${build.xpathview.dir}">
<include name="xpath-lang/xslt-rt/*.jar"/>
</fileset>
</path>
</target>
<target name="xpathview.binary" depends="init" unless="xpathview.src.available">
<available file="${xpathview.plugin.home}/lib/xpath.jar" property="xpathview.binary.available"/>
<available file="${xpathview.plugin.home}/lib/xpath-view.jar" property="xpathview.binary.available"/>
<fail unless="xpathview.binary.available">
The XPathView plugin is required to build the XSLT-Debugger. Please set the property "xpathview.plugin.home" to
point to the installation of the plugin in IntelliJ IDEA.
</fail>
<path id="xpathview.classpath">
<fileset dir="${xpathview.plugin.home}">
<include name="lib/*.jar"/>
</fileset>
</path>
<path id="xpathview.rt.classpath">
<fileset dir="${xpathview.plugin.home}">
<include name="lib/rt/*.jar"/>
</fileset>
</path>
</target>
<target name="compile" depends="init, xpathview.compile, xpathview.binary">
<mkdir dir="${build.classes.dir}"/>
<mkdir dir="${build.classes.rt.dir}"/>
<javac2 srcdir="${src.rt.dir}" destdir="${build.classes.rt.dir}" source="1.5" target="1.5" debug="${compile.debug}"
optimize="${compile.optimize}">
<classpath refid="rt.classpath"/>
<classpath refid="xpathview.rt.classpath"/>
<exclude name="com/**/*"/>
</javac2>
<javac2 srcdir="${src.rt.impl.dir}" destdir="${build.classes.rt.dir}" source="1.5" target="1.5" debug="${compile.debug}"
optimize="${compile.optimize}">
<classpath refid="rt.classpath"/>
<classpath refid="xpathview.rt.classpath"/>
<exclude name="com/**/*"/>
</javac2>
<javac2 srcdir="${src.dir}" destdir="${build.classes.dir}" source="1.5" target="1.5" debug="${compile.debug}"
optimize="${compile.optimize}">
<classpath refid="idea.classpath"/>
<classpath refid="xpathview.classpath"/>
<classpath location="${build.classes.rt.dir}"/>
<exclude name="com/**/*"/>
<exclude name="Main.java"/>
</javac2>
<rmic base="${build.classes.rt.dir}">
<include name="**/remote/Remote*Impl.class"/>
<include name="**/remote/DebuggerServer.class"/>
</rmic>
<jar destfile="${build.dir}/rmi-stubs.jar">
<fileset dir="${build.classes.rt.dir}">
<include name="**/remote/Remote*Impl_*.class"/>
<include name="**/remote/DebuggerServer_*.class"/>
</fileset>
</jar>
</target>
<target name="build" depends="compile" description="Build project"/>
<target name="jar" depends="build">
<jar file="${build.dir}/xslt-debugger.jar" compress="false">
<zipfileset dir="${build.classes.dir}">
<include name="**/*"/>
</zipfileset>
<zipfileset dir=".">
<include name="META-INF/*.xml"/>
</zipfileset>
<zipfileset dir="${src.dir}">
<include name="**/*.xml"/>
<include name="**/*.png"/>
</zipfileset>
</jar>
<mkdir dir="${build.dir}/rt"/>
<jar file="${build.dir}/xslt-debugger-engine.jar" compress="false">
<zipfileset dir="${build.classes.rt.dir}">
<include name="**/*"/>
</zipfileset>
<zipfileset dir="${src.rt.dir}">
<include name="**/*.xml"/>
<include name="**/*.png"/>
</zipfileset>
</jar>
</target>
<target name="rebuild" depends="clean, jar" description="Clean and rebuild"/>
<target name="clean">
<delete dir="build"/>
</target>
<target name="dist" depends="rebuild" description="Build distribution ZIP">
<mkdir dir="dist"/>
<zip file="dist/xslt-debugger.zip">
<zipfileset dir="build" prefix="xslt-debugger/lib">
<include name="*.jar"/>
</zipfileset>
<zipfileset dir="engine/impl/lib" prefix="xslt-debugger/lib/rt">
<include name="saxon*"/>
<include name="xalan.jar"/>
<include name="serializer.jar"/>
</zipfileset>
<zipfileset dir="doc" prefix="xslt-debugger/help">
<include name="help.jar"/>
</zipfileset>
<zipfileset dir="." prefix="xslt-debugger">
<include name="LICENSE"/>
</zipfileset>
</zip>
<zip file="dist/xslt-debugger_src.zip">
<zipfileset dir="." prefix="xslt-debugger">
<include name="src/**/*"/>
<include name="rt/src/**/*"/>
<include name="rt/*.iml"/>
<include name="*.iml"/>
<include name="*.ipr"/>
<include name="META-INF/*.xml"/>
<include name="build.xml"/>
<include name="build.properties"/>
<include name="LICENSE"/>
<include name="readme-project.txt"/>
</zipfileset>
</zip>
</target>
</project>