<!-- ============================================= --> <!-- Tools --> <!-- ============================================= --> <!-- $Header: /cvs/adempiere/tools/build.xml,v 1.4 2006/07/03 23:23:31 jjanke Exp $ --> <project name="tools" default="toolsDistribution" basedir="."> <description> The resulting CCTools.jar and CSTools.jar repackage all third party libraries in a single jar for simplified start and version control. The resuling Server CSTools.jar is added to EARs </description> <!-- set global properties for this build --> <property name="src" value="src"/> <property name="build.dir" value="build"/> <property name="jboss.dir" value="../jboss"/> <property name="dist.dir" value="../lib"/> <!--<property environment="env"/>--> <import file="../utils_dev/properties.xml"/> <!-- set path to include the necessary jar files for javac --> <path id="project.class.path"> <pathelement path="${classpath}"/> <pathelement path="lib/jstl.jar"/> <pathelement path="lib/jsp-api.jar"/> <pathelement path="lib/servlet-api.jar"/> <pathelement path="lib/standard.jar"/> </path> <patternset id="manifest.exclude"> <exclude name="META-INF/*.DSA"/> <exclude name="META-INF/*.RSA"/> <exclude name="META-INF/*.SF"/> <exclude name="META-INF/MANIFEST.MF"/> <exclude name="META-INF/INDEX.LIST"/> </patternset> <!-- ============================================= --> <!-- Init --> <!-- ============================================= --> <target name="toolsInit" description="initialization target"> <echo message="=========== Build Tools ${env.ADEMPIERE_VERSION}"/> <!-- create the time stamp --> <tstamp/> <!-- create the build directory structure used by compile --> <mkdir dir="${build.dir}"/> <!-- check for the distribution directory --> <mkdir dir="${dist.dir}"/> <uptodate property="jars.uptodate" targetfile="${dist.dir}/CCTools.jar"> <srcfiles dir="${src}" includes="**/*.java"/> </uptodate> </target> <!-- ============================================= --> <!-- Compile ECS --> <!-- ============================================= --> <target name="toolsCompile" depends="toolsInit" unless="jars.uptodate"> <!-- compile the java code from ${src} into ${build.dir}S --> <javac srcdir="${src}" destdir="${build.dir}" deprecation="on" debug="on"> <classpath refid="project.class.path"/> </javac> <!-- copy all image & sound files from src to the build directory --> <copy todir="${build.dir}"> <fileset dir="${src}"> <include name="**/images/*"/> <include name="**/*.gif"/> <include name="**/*.jpg"/> <include name="**/*.wav"/> <include name="**/*.htm"/> <include name="**/*.html"/> <include name="**/*.properties"/> <exclude name="**/package.html"/> </fileset> </copy> </target> <!-- ============================================= --> <!-- Buld Apps Server Client Jars --> <!-- ============================================= --> <target name="toolsAppsServer" depends="toolsCompile" unless="jars.uptodate" description="Create JBoss Client jar"> <!-- Create jboss.jar file --> <jar jarfile="${dist.dir}/jboss.jar" duplicate="preserve"> <zipfileset src="${jboss.dir}/client/jboss-client.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="${jboss.dir}/client/jboss-common-client.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="${jboss.dir}/client/jboss-j2ee.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="${jboss.dir}/client/jbosssx-client.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="${jboss.dir}/client/jnp-client.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="${jboss.dir}/client/jmx-invoker-adaptor-client.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="${jboss.dir}/client/jboss-transaction-client.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <manifest> <attribute name="Specification-Title" value="Adempiere JBoss Client"/> <attribute name="Specification-Version" value="${env.ADEMPIERE_VERSION}"/> <attribute name="Specification-Vendor" value="Adempiere, Inc."/> <attribute name="Implementation-Title" value="jboss ${env.ADEMPIERE_VERSION}"/> <attribute name="Implementation-Version" value="${env.ADEMPIERE_VERSION} ${DSTAMP}-${TSTAMP}"/> <attribute name="Implementation-Vendor" value="${env.ADEMPIERE_VENDOR}"/> <attribute name="Implementation-URL" value="http://www.adempiere.com"/> </manifest> </jar> </target> <!-- ============================================= --> <!-- Buld Database Jars --> <!-- ============================================= --> <target name="toolsDatabase" depends="toolsCompile" unless="jars.uptodate" description="Create db jars"> <!-- Create oracle.jar file --> <jar jarfile="${dist.dir}/oracle.jar" duplicate="preserve"> <zipfileset src="lib/ojdbc14.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/ocrs12.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <manifest> <attribute name="Specification-Title" value="Oracle JDBC"/> <attribute name="Specification-Version" value="10g"/> <attribute name="Specification-Vendor" value="Oracle"/> <attribute name="Implementation-Title" value="oracle ${env.ADEMPIERE_VERSION}"/> <attribute name="Implementation-Version" value="${env.ADEMPIERE_VERSION} ${DSTAMP}-${TSTAMP}"/> <attribute name="Implementation-Vendor" value="${env.ADEMPIERE_VENDOR}"/> <attribute name="Implementation-URL" value="http://www.adempiere.org"/> </manifest> </jar> <!-- Create postgresql.jar file --> <jar jarfile="${dist.dir}/postgresql.jar"> <zipfileset src="lib/postgresql.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <manifest> <attribute name="Specification-Title" value="PostgreSQL JDBC"/> <attribute name="Specification-Version" value="postgresql"/> <attribute name="Specification-Vendor" value="postgresql"/> <attribute name="Implementation-Title" value="postgresql ${env.ADEMPIERE_VERSION}"/> <attribute name="Implementation-Version" value="${env.ADEMPIERE_VERSION} ${DSTAMP}-${TSTAMP}"/> <attribute name="Implementation-Vendor" value="${env.ADEMPIERE_VENDOR}"/> <attribute name="Implementation-URL" value="http://www.adempiere.org"/> </manifest> </jar> </target> <!-- ============================================= --> <!-- Buld Server Jar --> <!-- ============================================= --> <target name="toolsServer" depends="toolsCompile" unless="jars.uptodate" description="Create CSTools.jar"> <!-- Create CSTools jar --> <jar jarfile="${dist.dir}/CSTools.jar" duplicate="preserve"> <!-- JSTL --> <zipfileset src="lib/jstl.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/standard.jar"> <patternset refid="manifest.exclude"/> </zipfileset> <!-- ECS --> <fileset dir="${build.dir}"> <include name="**/apache/ecs/**"/> </fileset> <!-- Payment Processors --> <zipfileset src="lib/Verisign.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/jpayment.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Log4J, jnlp --> <zipfileset src="lib/log4j.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/jnlp.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Barcode, ftp --> <zipfileset src="lib/barbecue-1.1.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/commons-net-1.4.0.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Adempiere look and feel --> <zipfileset src="lib/looks-2.0.4.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- PDF --> <zipfileset src="lib/jpedal.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/itext-1.4.8.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- C3P0 connection pool --> <zipfileset src="lib/c3p0-0.9.1.2.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/c3p0-oracle-thin-extras-0.9.1.2.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <manifest> <attribute name="Specification-Title" value="Adempiere Server Tools"/> <attribute name="Specification-Version" value="${env.ADEMPIERE_VERSION}"/> <attribute name="Specification-Vendor" value="Adempiere, Inc."/> <attribute name="Implementation-Title" value="CSTools ${env.ADEMPIERE_VERSION}"/> <attribute name="Implementation-Version" value="${env.ADEMPIERE_VERSION} ${DSTAMP}-${TSTAMP}"/> <attribute name="Implementation-Vendor" value="${env.ADEMPIERE_VENDOR}"/> <attribute name="Implementation-URL" value="http://www.adempiere.org"/> </manifest> </jar> </target> <!-- ============================================= --> <!-- Buld Client Jar --> <!-- ============================================= --> <target name="toolsClient" depends="toolsCompile" unless="jars.uptodate" description="Create CCTools.jar"> <!-- Create CCTools.jar file --> <jar jarfile="${dist.dir}/CCTools.jar" duplicate="preserve"> <!-- ECS --> <fileset dir="${build.dir}"> <include name="**/apache/ecs/**"/> </fileset> <!-- Mail --> <zipfileset src="lib/activation.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/mail.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Bean Shell --> <zipfileset src="lib/bsh-1.3.0.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Payment Processors --> <zipfileset src="lib/Verisign.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/jpayment.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Log4J, jnlp --> <zipfileset src="lib/log4j.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/jnlp.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Barcode, ftp --> <zipfileset src="lib/barbecue-1.1.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/commons-net-1.4.0.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- JFreeChart --> <zipfileset src="lib/jfreechart-1.0.2.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/jcommon-1.0.5.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Graph --> <zipfileset src="lib/jgraph.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- Adempeire Look and Feal --> <zipfileset src="lib/looks-2.0.4.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- jars for 2pack --> <zipfileset src="lib/ant.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/xercesImpl.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- PDF --> <zipfileset src="lib/jpedal.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/itext-1.4.8.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/swingx-0.9.0.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <!-- C3P0 connection pool --> <zipfileset src="lib/c3p0-0.9.1.2.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <zipfileset src="lib/c3p0-oracle-thin-extras-0.9.1.2.jar" > <patternset refid="manifest.exclude"/> </zipfileset> <manifest> <attribute name="Specification-Title" value="Adempiere Client Tools"/> <attribute name="Specification-Version" value="${env.ADEMPIERE_VERSION}"/> <attribute name="Specification-Vendor" value="Adempiere, Inc."/> <attribute name="Implementation-Title" value="CCTools ${env.ADEMPIERE_VERSION}"/> <attribute name="Implementation-Version" value="${env.ADEMPIERE_VERSION} ${DSTAMP}-${TSTAMP}"/> <attribute name="Implementation-Vendor" value="${env.ADEMPIERE_VENDOR}"/> <attribute name="Implementation-URL" value="http://www.adempiere.org"/> </manifest> </jar> </target> <!-- ============================================= --> <!-- Buld Jars --> <!-- ============================================= --> <target name="toolsDistribution" depends="toolsServer, toolsClient, toolsAppsServer, toolsDatabase" unless="jars.uptodate" description="Create jars"> </target> <!-- ============================================= --> <!-- Clean up --> <!-- ============================================= --> <target name="clean"> <!-- Delete the ${build.dir} directory trees --> <delete dir="${build.dir}"/> <delete file="${dist.dir}/CCTools.jar" failonerror="false"/> <delete file="${dist.dir}/CSTools.jar" failonerror="false"/> <delete file="${dist.dir}/jboss.jar" failonerror="false"/> <delete file="${dist.dir}/oracle.jar" failonerror="false"/> <delete file="${dist.dir}/postgresql.jar" failonerror="false"/> </target> </project>