Changeset 507 for trunk/build.xml
- Timestamp:
- 11/19/13 12:22:19 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/build.xml
r501 r507 1 <!-- 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <project basedir="." default="build" name="Expeditee"> 2 3 3 ANT build script for both the Apollo and Expeditee project. 4 <tstamp> 5 <format property="TODAY_EXP" pattern="yy.MM.dd"/> 6 </tstamp> 4 7 5 Originally created for the apollo project - but can be used for 6 creating expeditee distributions. 8 <property environment="env"/> 7 9 8 This does not include the lib jars within the distributed jar - 9 such resources would have to be handled specially in code 10 (i.e. jar loaders...). 10 <property name="dist.dir.exp" location="releases" /> 11 <property name="dist.filename.exp" value="Exp.${TODAY_EXP}.jar" /> 12 <property name="dist.filename.6.exp" value="Exp.${TODAY_EXP}-1.6.jar" /> 13 <property name="build.dir.exp" location="bin" /> 14 <property name="build.dir.6.exp" location="bin-1.6" /> 11 15 12 --> 13 <project name="Expeditee" default="fresh_dist_exp"> 16 <union id="dist.includes.exp"> 17 <zipfileset excludes="META-INF/*.SF" src="releases/jars/junit.jar"/> 18 <zipfileset excludes="META-INF/*.SF" src="releases/jars/activation.jar"/> 19 <zipfileset excludes="META-INF/*.SF" src="releases/jars/cobra.jar"/> 20 <zipfileset excludes="META-INF/*.SF" src="releases/jars/iText-2.1.3.jar"/> 21 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jcommon-1.0.13.jar"/> 22 <zipfileset excludes="META-INF/*.SF" src="releases/jars/JEP.jar"/> 23 <zipfileset excludes="META-INF/*.SF" src="releases/jars/JFreeCharts.jar"/> 24 <zipfileset excludes="META-INF/*.SF" src="releases/jars/js.jar"/> 25 <zipfileset excludes="META-INF/*.SF" src="releases/jars/lobo.jar"/> 26 <zipfileset excludes="META-INF/*.SF" src="releases/jars/lobo-pub.jar"/> 27 <zipfileset excludes="META-INF/*.SF" src="releases/jars/mail.jar"/> 28 <zipfileset excludes="META-INF/*.SF" src="releases/jars/xercesImpl.jar"/> 29 <zipfileset excludes="META-INF/*.SF" src="releases/jars/jazzy-core.jar"/> 30 <zipfileset excludes="META-INF/*.SF" src="releases/jars/PDFRenderer-0.9.1.jar"/> 31 </union> 32 33 34 <path id="Expeditee.classpath"> 35 <pathelement location="releases/jars/junit.jar"/> 36 <pathelement location="releases/jars/activation.jar"/> 37 <pathelement location="releases/jars/cobra.jar"/> 38 <pathelement location="releases/jars/iText-2.1.3.jar"/> 39 <pathelement location="releases/jars/jcommon-1.0.13.jar"/> 40 <pathelement location="releases/jars/JEP.jar"/> 41 <pathelement location="releases/jars/JFreeCharts.jar"/> 42 <pathelement location="releases/jars/js.jar"/> 43 <pathelement location="releases/jars/lobo.jar"/> 44 <pathelement location="releases/jars/lobo-pub.jar"/> 45 <pathelement location="releases/jars/mail.jar"/> 46 <pathelement location="releases/jars/xercesImpl.jar"/> 47 <pathelement location="releases/jars/jazzy-core.jar"/> 48 <pathelement location="releases/jars/PDFRenderer-0.9.1.jar"/> 49 </path> 50 51 <target name="clean"> 52 <!-- delete only the class files built by expeditee --> 53 <delete dir="${build.dir.exp}/org"/> 54 <delete dir="${build.dir.6.exp}/org"/> 55 </target> 56 <target depends="clean" name="cleanall"/> 57 58 14 59 15 <tstamp> 16 <format property="TODAY" pattern="d-MMMM-yyyy"/> 17 <format property="TODAY_EXP" pattern="ddMMMyyyy"/> 18 </tstamp> 19 20 <!-- Expeditee must be compatible run on Java 1.6" --> 21 <property name="sourcelevel" value="1.6" /> 22 <property name="targetlevel" value="1.6" /> 23 24 <property name="resources.dir.apollo" location="resources_apollo" /> <!-- resources files for apollo --> 25 26 <property name="src.dir.exp" location="src" /> <!-- source files for expeditee --> 27 <property name="src.dir.apollo" location="src_apollo" /> <!-- source files for apollo --> 28 29 <property name="build.dir" location="bin" /> <!-- compiled class files directory --> 30 31 <property name="lib.dir.exp" location="releases/jars" /> <!-- external dependencies --> 32 <property name="lib.dir.apollo" location="jars_apollo" /> <!-- external dependencies --> 33 34 <property name="dist.dir.exp" location="releases" /> <!-- Put the output jar file into the same directory as the others. The manifest file needs to be edited with relative dependencies if another directory structure is desired. --> 35 <property name="dist.dir.apollo" location="releases/apollo" /> <!-- Put the output jar file into the same directory as the others. The manifest file needs to be edited with relative dependencies if another directory structure is desired. --> 36 37 <property name="dist.filename.exp" value="Exp${TODAY_EXP}A.jar" /> 38 <property name="dist.filename.apollo" value="Apollo_jvm${targetlevel}-${TODAY}.jar" /> 39 40 <property name="manifest.path.exp" value="makeFiles/Manifest.txt" /> 41 <property name="manifest.path.apollo" value="makeFiles/apollo_manifest.mf" /> 42 <property name="manifest.path.apollo-applet" value="makeFiles/apollo_applet_manifest.mf" /> 43 44 <path id="classpath.exp"> 45 <!-- link with all jar files we can find in our defined lib directory --> 46 <fileset dir="${lib.dir.exp}"> 47 <include name="*.jar" /> 48 </fileset> 49 </path> 50 51 <path id="classpath.apollo"> 52 <!-- link with all jar files we can find in our defined lib directory --> 53 <fileset dir="${lib.dir.exp}"> 54 <include name="*.jar" /> 55 <exclude name="jnmp2p.jar"/> <!-- This is a zero-sized file! Its totally invalid and will fail any builds - omitting !--> 56 <exclude name="jxta.jar"/> <!-- Ditto !--> 57 </fileset> 58 <fileset dir="${lib.dir.apollo}"> 59 <include name="*.jar" /> 60 </fileset> 61 </path> 62 63 64 <!-- TARGETS --> 65 <target name="clean" description="Deletes contents of build directory."> 66 <delete dir="${build.dir}" /> 67 <mkdir dir="${build.dir}" /> 60 <!-- JAVA 1.7 --> 61 <target name="init"> 62 <echo message="${ant.project.name}: ${ant.file}"/> 63 <mkdir dir="${build.dir.exp}"/> 64 <copy includeemptydirs="false" todir="${build.dir.exp}"> 65 <fileset dir="src"> 66 <exclude name="**/*.java"/> 67 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/> 68 </fileset> 69 </copy> 70 <copy includeemptydirs="false" todir="${build.dir.exp}"> 71 <fileset dir="tests"> 72 <exclude name="**/*.java"/> 73 </fileset> 74 </copy> 68 75 </target> 69 70 71 <!-- Set up directories that are needed for building." --> 72 <target name="init_expeditee"> 73 <mkdir dir="${build.dir}" /> 74 <mkdir dir="${lib.dir.exp}" /> 75 </target> 76 77 <target name="init_apollo" depends="init_expeditee"> 78 <mkdir dir="${lib.dir.apollo}" /> 79 </target> 80 81 82 <!-- Do the actual compilation." --> 83 <target name="compile_exp" depends="init_expeditee"> 84 <javac srcdir="${src.dir.exp}" 85 destdir="${build.dir}" 86 debug="true" 87 optimize="on" 88 source="${sourcelevel}" 89 target="${targetlevel}" 90 compiler="modern" 91 92 listfiles="true"> 93 <classpath refid="classpath.exp" /> 94 <compilerarg value="-Xlint:unchecked"/> 76 <target depends="init" name="build"> 77 <javac debug="false" destdir="${build.dir.exp}" includeantruntime="false" source="1.7" target="1.7"> 78 <src path="src"/> 79 <src path="tests"/> 80 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/> 81 <classpath refid="Expeditee.classpath"/> 95 82 </javac> 96 83 </target> 97 98 <target name="compile_apollo" depends="init_apollo, compile_exp"> 99 <javac srcdir="${src.dir.apollo}" 100 destdir="${build.dir}" 101 debug="true" 102 optimize="on" 103 source="${sourcelevel}" 104 target="${targetlevel}" 105 compiler="modern" 106 listfiles="true"> 107 <classpath refid="classpath.apollo" /> 108 <compilerarg value="-Xlint:unchecked"/> 84 <target depends="build" name="jar"> 85 <jar destfile="${dist.dir.exp}/${dist.filename.exp}" filesetmanifest="mergewithoutmain"> 86 <manifest> 87 <attribute name="Main-Class" value="org.expeditee.gui.Browser"/> 88 <attribute name="Class-Path" value="."/> 89 </manifest> 90 <fileset dir="${build.dir.exp}"> 91 <exclude name="src/**"/> 92 </fileset> 93 <resources refid="dist.includes.exp" /> 94 </jar> 95 <symlink overwrite="true" link="${dist.dir.exp}/Expeditee.jar" resource="${dist.filename.exp}" /> 96 </target> 97 <target name="run"> 98 <java classname="org.expeditee.gui.Browser" failonerror="true" fork="yes"> 99 <classpath refid="Expeditee.classpath"> 100 <pathelement location="${build.dir.exp}"/> 101 </classpath> 102 </java> 103 </target> 104 105 <!-- JAVA 1.6 --> 106 <target name="init6"> 107 <echo message="${ant.project.name}: ${ant.file}"/> 108 <mkdir dir="${build.dir.6.exp}"/> 109 <copy includeemptydirs="false" todir="${build.dir.6.exp}"> 110 <fileset dir="src"> 111 <exclude name="**/*.java"/> 112 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/> 113 </fileset> 114 </copy> 115 <copy includeemptydirs="false" todir="${build.dir.6.exp}"> 116 <fileset dir="tests"> 117 <exclude name="**/*.java"/> 118 </fileset> 119 </copy> 120 </target> 121 <target depends="init6" name="build6"> 122 <javac debug="false" destdir="${build.dir.6.exp}" includeantruntime="false" source="1.6" target="1.6"> 123 <src path="src"/> 124 <src path="tests"/> 125 <exclude name="org/expeditee/items/widgets/WebBrowser.java"/> 126 <classpath refid="Expeditee.classpath"/> 109 127 </javac> 110 128 </target> 111 112 113 <!-- Jaring up the projects." --> 114 <target name="lazy_dist_exp" depends="compile_exp" description="Warning: Does not clean before compile."> 115 <jar destfile="${dist.dir.exp}/${dist.filename.exp}" manifest="${manifest.path.exp}"> 116 <fileset dir="${build.dir}"/> 117 </jar> 118 119 <!-- Now, with the most generic name possible, make a jar that is always the latest --> 120 <copy file="${dist.dir.exp}/${dist.filename.exp}" toFile="${dist.dir.exp}/Expeditee.jar"/> 129 <target depends="build6" name="jar6"> 130 <jar destfile="${dist.dir.exp}/${dist.filename.6.exp}" filesetmanifest="mergewithoutmain"> 131 <manifest> 132 <attribute name="Main-Class" value="org.expeditee.gui.Browser"/> 133 <attribute name="Class-Path" value="."/> 134 </manifest> 135 <fileset dir="${build.dir.6.exp}"> 136 <exclude name="src/**"/> 137 </fileset> 138 <resources refid="dist.includes.exp" /> 139 </jar> 140 <symlink overwrite="true" link="${dist.dir.exp}/Expeditee-1.6.jar" resource="${dist.filename.6.exp}" /> 121 141 </target> 122 123 <target name="fresh_dist_exp" depends="clean, lazy_dist_exp"/> 124 125 <target name="lazy_dist_apollo" depends="compile_apollo" description="Warning: Does not clean before compile."> 126 127 <!-- Now, with the most generic name possible, make a jar that is always the latest --> 128 <jar destfile="${dist.dir.apollo}/${dist.filename.apollo}" manifest="${manifest.path.apollo}"> 129 <fileset dir="${build.dir}"/> 130 <fileset dir="${resources.dir.apollo}"/> 131 <fileset dir="releases" includes="jars/*,jars/*/*"/> 132 <fileset dir="." includes="jars_apollo/*"/> 133 </jar> 134 135 <!-- Now, with the most generic name possible, make a jar that is always the latest --> 136 <copy file="${dist.dir.apollo}/${dist.filename.apollo}" toFile="${dist.dir.apollo}/Apollo.jar"/> 137 </target> 138 139 <target name="lazy_dist_apollo_applet" depends="compile_apollo"> 140 141 <jar destfile="${dist.dir.apollo}/ApolloApplet.jar" manifest="${manifest.path.apollo-applet}"> 142 <fileset dir="${build.dir}"/> 143 <fileset dir="${resources.dir.apollo}"/> 144 <fileset dir="unjarred-for-expeditee-applet" includes="*/"/> 145 <fileset dir="unjarred-for-apollo-applet" includes="*/"/> 146 </jar> 147 148 <exec executable="./MAKE-APOLLO-SIGNED-JAR.sh" osfamily="unix" /> 149 <exec executable="MAKE-APOLLO-SIGNED-JAR.bat" osfamily="windows"/> 142 <target name="run6"> 143 <java classname="org.expeditee.gui.Browser" failonerror="true" fork="yes"> 144 <classpath refid="Expeditee.classpath"> 145 <pathelement location="${build.dir.6.exp}"/> 146 </classpath> 147 </java> 150 148 </target> 151 152 <target name="sign-test">153 <exec executable="dev/bin/script/MAKE-APOLLO-SIGNED-JAR.sh" osfamily="unix" />154 <exec executable="dev/bin/script/MAKE-APOLLO-SIGNED-JAR.bat" osfamily="windows"/>155 </target>156 157 <target name="fresh_dist_apollo" depends="clean, lazy_dist_apollo, lazy_dist_apollo_applet"/>158 159 149 </project>
Note:
See TracChangeset
for help on using the changeset viewer.