blob: 6ec8be7926b5f579a35af6b1a3e06177b7254e1c [file] [log] [blame]
<?xml version="1.0"?>
<!--***********************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
***********************************************************-->
<project name="javainstaller2" default="build" basedir=".">
<!-- build output directory -->
<property name="name" value="JavaSetup"/>
<property name="out" value="build"/>
<property name="classes.dir" value="classes"/>
<property name="source.dir" location="${basedir}/src/${name}"/>
<property name="build.dir" location="${out}/misc"/>
<property name="dist.dir" location="${out}/bin"/>
<property name="compile.debug" value="true"/>
<property name="compile.optimize" value="false"/>
<property name="lib.dir" location="{$basedir}/lib"/>
<property name="verbose" value="false"/>
<property name="javainstaller.jar.file" location="{$basedir}/lib"/>
<!-- MAIN TARGET -->
<target name="build" depends="prepare, info_uptodate, info_notuptodate, compile-javainstaller, jar-javainstaller, clean">
<echo message="Done"/>
</target>
<!-- INITIALIZATION TASKS -->
<target name="init">
<!-- up to date checks -->
<uptodate property="jarFile.uptodate" targetfile="${dist.dir}/${name}.jar">
<srcfiles dir="${source.dir}" includes="**/*.gif,**/*.png,**/*.java"/>
<srcfiles dir="${build.dir}" includes="**/*.properties"/>
</uptodate>
</target>
<target name="prepare" depends="init" unless="jarFile.uptodate">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}/${classes.dir}"/>
<mkdir dir="${build.dir}/${classes.dir}/${name}"/>
<mkdir dir="${dist.dir}"/>
</target>
<!-- show information about current sub target in recursive builds -->
<target name="info_uptodate" depends="init" if="jarFile.uptodate">
<tstamp prefix="start"/>
<echo message="--------------------------------------------------------------------------------" />
<echo message="Nothing to do. ${dist.dir}/${name}.jar is up to date."/>
<echo message="--------------------------------------------------------------------------------" />
</target>
<!-- show information about current sub target in recursive builds -->
<target name="info_notuptodate" depends="init" unless="jarFile.uptodate">
<tstamp prefix="start"/>
<echo message="--------------------------------------------------------------------------------" />
<echo message="Source dir: ${source.dir}"/>
<echo message="Build dir: ${build.dir}"/>
<echo message="Dist dir: ${dist.dir}"/>
<echo message="Debug is ${debug}"/>
<echo message="--------------------------------------------------------------------------------" />
</target>
<target name="compile-javainstaller" depends="prepare" unless="jarFile.uptodate">
<javac srcdir="${source.dir}" source="1.4" target="1.4"
destdir="${build.dir}/${classes.dir}/${name}"
debug="${compile.debug}"
optimize="${compile.optimize}">
</javac>
<copy todir="${build.dir}/${classes.dir}/${name}/org/openoffice/setup">
<fileset dir="${build.dir}" includes="*.properties"/>
</copy>
<copy todir="${build.dir}/${classes.dir}/${name}/org/openoffice/setup/Icons">
<fileset dir="${source.dir}/org/openoffice/setup/Icons" includes="*.gif,*.png"/>
</copy>
</target>
<target name="jar-javainstaller" depends="compile-javainstaller" unless="jarFile.uptodate">
<jar file="${dist.dir}/${name}.jar">
<fileset dir="${build.dir}/${classes.dir}/${name}" includes="**/*"/>
<manifest>
<attribute name="Main-Class" value="org.openoffice.setup.Main"/>
</manifest>
</jar>
</target>
<!-- CLEAN UP OUTPUT TREES -->
<target name="clean" unless="jarFile.uptodate">
<!-- <delete dir="${build.dir}"/> -->
</target>
<!-- execution section -->
<target name="run" depends="jar-javainstaller">
<echo message="Starting: java -jar ${dist.dir}/${name}.jar" />
<java jar="${dist.dir}/${name}.jar" fork="true"/>
<!-- </java> -->
</target>
<target name="debug" depends="jar-javainstaller">
<echo message="Starting for debugging: java -jar ${dist.dir}/${name}.jar" />
<java jar="${dist.dir}/${name}.jar" fork="true"/>
<!-- </java> -->
</target>
</project>