1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/build.xml Sun Aug 29 17:04:25 2010 +0200
1.3 @@ -0,0 +1,126 @@
1.4 +<?xml version="1.0" encoding="UTF-8"?>
1.5 +<project name="sonews" default="main" basedir=".">
1.6 +
1.7 + <property name="prj" value="."/>
1.8 + <property name="out" value="build"/>
1.9 + <property name="build.dir" value="${out}"/>
1.10 + <property name="inst.dir" value="/opt/sonews/sonews-1.1"/>
1.11 + <property name="build.class" value="${build.dir}/class"/>
1.12 +
1.13 + <!-- define how to handle CLASSPATH environment -->
1.14 + <property name="build.sysclasspath" value="ignore"/>
1.15 +
1.16 + <!-- set "modern" java compiler -->
1.17 + <property name="build.compiler" value="modern"/>
1.18 +
1.19 + <!-- set wether we want to compile with debug information -->
1.20 + <property name="debug" value="on"/>
1.21 +
1.22 + <!-- set wether we want to compile with optimisation -->
1.23 + <property name="optimize" value="off"/>
1.24 +
1.25 + <!-- set wether we want to compile with or without deprecation -->
1.26 + <property name="deprecation" value="on"/>
1.27 +
1.28 +
1.29 + <!-- classpath settings for compile and javadoc tasks -->
1.30 + <path id="classpath">
1.31 + <pathelement location="${build.class}"/>
1.32 + <pathelement location="lib/glassfish-mail.jar"/>
1.33 + <pathelement location="lib/mysql-connector-java.jar"/>
1.34 + <pathelement location="lib/junit-4.8.2.jar"/>
1.35 + </path>
1.36 +
1.37 +
1.38 +
1.39 + <!-- the main target, called in recursive builds -->
1.40 + <target name="main" depends="prepare,compile,jar"/>
1.41 +
1.42 + <!-- prepare output directories - -->
1.43 + <target name="prepare">
1.44 + <mkdir dir="${build.dir}"/>
1.45 + <mkdir dir="${build.class}"/>
1.46 + </target>
1.47 +
1.48 +
1.49 + <target name="compile" depends="prepare">
1.50 + <javac destdir="${build.class}"
1.51 + debug="${debug}"
1.52 + deprecation="${deprecation}"
1.53 + optimize="${optimize}"
1.54 + classpathref="classpath">
1.55 + <src path="."/>
1.56 + <include name="org/sonews/**/*.java"/>
1.57 + </javac>
1.58 + <javac destdir="${build.class}"
1.59 + debug="${debug}"
1.60 + deprecation="${deprecation}"
1.61 + optimize="${optimize}"
1.62 + classpathref="classpath">
1.63 + <src path="."/>
1.64 + <include name="test/**/*java"/>
1.65 + </javac>
1.66 + </target>
1.67 +
1.68 + <!-- create jar file -->
1.69 + <target name="jar" depends="prepare,compile">
1.70 + <jar jarfile="${build.dir}/sonews.jar"
1.71 + basedir="${build.class}">
1.72 + <include name="org/sonews/**/*.class"/>
1.73 + </jar>
1.74 + <jar jarfile="${build.dir}/test.jar"
1.75 + basedir="${build.class}">
1.76 + <include name="test/**/*.class"/>
1.77 + </jar>
1.78 + <jar jarfile="${build.dir}/sonews-helpers.jar"
1.79 + basedir=".">
1.80 + <include name="helpers/**/*"/>
1.81 + </jar>
1.82 + </target>
1.83 +
1.84 + <target name="install" depends="jar">
1.85 + <mkdir dir="${inst.dir}/lib"/>
1.86 + <mkdir dir="${inst.dir}/bin"/>
1.87 + <mkdir dir="${inst.dir}/helpers"/>
1.88 + <copy todir="${inst.dir}/lib">
1.89 + <fileset dir="lib">
1.90 + <include name="*.jar"/>
1.91 + </fileset>
1.92 + <fileset dir="${build.dir}">
1.93 + <include name="*.jar"/>
1.94 + </fileset>
1.95 + </copy>
1.96 + <copy todir="${inst.dir}/bin">
1.97 + <fileset dir="bin">
1.98 + <include name="*.sh"/>
1.99 + </fileset>
1.100 + </copy>
1.101 + <chmod perm="755">
1.102 + <fileset dir="${inst.dir}/bin">
1.103 + <include name="*.sh"/>
1.104 + </fileset>
1.105 + </chmod>
1.106 + <copy todir="${inst.dir}/helpers">
1.107 + <fileset dir="helpers">
1.108 + <include name="*"/>
1.109 + </fileset>
1.110 + </copy>
1.111 + </target>
1.112 +
1.113 + <!-- clean up -->
1.114 + <target name="clean" depends="prepare">
1.115 + <delete includeEmptyDirs="true">
1.116 + <fileset dir="${build.class}">
1.117 + <patternset>
1.118 + <include name="**/*.class"/>
1.119 + <include name="**/*.properties"/>
1.120 + </patternset>
1.121 + </fileset>
1.122 + <fileset dir="${build.dir}">
1.123 + <patternset>
1.124 + <include name="**/*.jar"/>
1.125 + </patternset>
1.126 + </fileset>
1.127 + </delete>
1.128 + </target>
1.129 +</project>