<!-- ============================================= --> <!-- 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="buildClient.dir" value="build/Client"/> <property name="buildServer.dir" value="build/Server"/> <property name="buildJBoss.dir" value="build/JBoss"/> <property name="buildOracle.dir" value="build/Oracle"/> <property name="buildDB2.dir" value="build/DB2"/> <property name="buildDerby.dir" value="build/Derby"/> <property name="buildTDS.dir" value="build/MSSQL"/> <property name="buildPostgreSQL.dir" value="build/PostgreSQL"/> <property name="jboss.dir" value="../jboss"/> <property name="dist.dir" value="../lib"/> <property environment="env"/> <!-- 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> <!-- ============================================= --> <!-- 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}"/> <mkdir dir="${buildClient.dir}"/> <mkdir dir="${buildServer.dir}"/> <mkdir dir="${buildJBoss.dir}"/> <mkdir dir="${buildOracle.dir}"/> <mkdir dir="${buildDB2.dir}"/> <mkdir dir="${buildDerby.dir}"/> <mkdir dir="${buildTDS.dir}"/> <mkdir dir="${buildPostgreSQL.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"> <!-- JBoss Client --> <unjar src="${jboss.dir}/client/jboss-client.jar" dest="${buildJBoss.dir}" overwrite="no"/> <unjar src="${jboss.dir}/client/jboss-common-client.jar" dest="${buildJBoss.dir}" overwrite="no"/> <unjar src="${jboss.dir}/client/jboss-j2ee.jar" dest="${buildJBoss.dir}" overwrite="no"/> <unjar src="${jboss.dir}/client/jbosssx-client.jar" dest="${buildJBoss.dir}" overwrite="no"/> <unjar src="${jboss.dir}/client/jnp-client.jar" dest="${buildJBoss.dir}" overwrite="no"/> <unjar src="${jboss.dir}/client/jmx-invoker-adaptor-client.jar" dest="${buildJBoss.dir}" overwrite="no"/> <unjar src="${jboss.dir}/client/jboss-transaction-client.jar" dest="${buildJBoss.dir}" overwrite="no"/> <!-- Clean up --> <delete> <fileset dir="${buildJBoss.dir}" includes="build.xml"/> <fileset dir="${buildJBoss.dir}/META-INF" casesensitive="no" includes="*.mf,*.sf,*.rsa,*.dsa"/> </delete> <!-- Create jboss.jar file --> <jar jarfile="${dist.dir}/jboss.jar"> <fileset dir="${buildJBoss.dir}"/> <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"> <!-- Oracle Lib --> <unjar src="lib/ojdbc14.jar" dest="${buildOracle.dir}"/> <unjar src="lib/ocrs12.jar" dest="${buildOracle.dir}"/> <!-- Clean up --> <delete> <fileset dir="${buildOracle.dir}" includes="build.xml"/> <fileset dir="${buildOracle.dir}/META-INF" casesensitive="no" includes="*.mf,*.sf,*.rsa,*.dsa"/> </delete> <!-- Create oracle.jar file --> <jar jarfile="${dist.dir}/oracle.jar"> <fileset dir="${buildOracle.dir}"/> <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> <!-- DB/2 Lib --> <unjar src="lib/db2jcc.jar" dest="${buildDB2.dir}"> <patternset> <exclude name="COM/**"/> </patternset> </unjar> <unjar src="lib/db2jcc_license_cu.jar" dest="${buildDB2.dir}"/> <!-- Clean up --> <delete> <fileset dir="${buildDB2.dir}" includes="build.xml"/> <fileset dir="${buildDB2.dir}/META-INF" casesensitive="no" includes="*.mf,*.sf,*.rsa,*.dsa"/> </delete> <!-- Create ibm.jar file --> <jar jarfile="${dist.dir}/db2.jar"> <fileset dir="${buildDB2.dir}"/> <manifest> <attribute name="Specification-Title" value="DB/2 JDBC"/> <attribute name="Specification-Version" value="8.2"/> <attribute name="Specification-Vendor" value="IBM"/> <attribute name="Implementation-Title" value="ibm ${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> <!-- Derby Lib --> <unjar src="../derby/derbyclient.jar" dest="${buildDerby.dir}"/> <!-- Clean up --> <!-- Create derby.jar file --> <jar jarfile="${dist.dir}/derby.jar"> <fileset dir="${buildDerby.dir}"/> <manifest> <attribute name="Specification-Title" value="Derby DB - IBM"/> <attribute name="Specification-Version" value="10.1.2.1"/> <attribute name="Specification-Vendor" value="IBM"/> <attribute name="Implementation-Title" value="Derby ${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> <!-- Microsoft Lib --> <unjar src="lib/jtds-1.0.jar" dest="${buildTDS.dir}"/> <!-- Clean up --> <!-- Create sqlServer file --> <jar jarfile="${dist.dir}/sqlServer.jar"> <fileset dir="${buildTDS.dir}"/> <manifest> <attribute name="Specification-Title" value="jTDS for MS SQL JDBC"/> <attribute name="Specification-Version" value="jTDS 1.0"/> <attribute name="Specification-Vendor" value="jTDS"/> <attribute name="Implementation-Title" value="sqlServer ${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> <!-- PostgreSQL Lib --> <unjar src="lib/postgresql.jar" dest="${buildPostgreSQL.dir}"/> <!-- Clean up --> <!-- Create postgresql.jar file --> <jar jarfile="${dist.dir}/postgresql.jar"> <fileset dir="${buildPostgreSQL.dir}"/> <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"> <!-- Unjar libraries for CSTools ***** --> <!-- JSTL --> <unjar src="lib/jstl.jar" dest="${buildServer.dir}" /> <unjar src="lib/standard.jar" dest="${buildServer.dir}" /> <!-- ECS, etc --> <copy todir="${buildServer.dir}/org/apache/ecs"> <fileset dir="${build.dir}/org/apache/ecs" /> </copy> <!-- Payment Processors --> <unjar src="lib/Verisign.jar" dest="${buildServer.dir}" /> <unjar src="lib/jpayment.jar" dest="${buildServer.dir}" /> <!-- Log4J, jnlp --> <unjar src="lib/log4j.jar" dest="${buildServer.dir}"/> <unjar src="lib/jnlp.jar" dest="${buildServer.dir}"/> <!-- Barcode, ftp --> <unjar src="lib/barbecue-1.0.6d.jar" dest="${buildServer.dir}"/> <unjar src="lib/commons-net-1.4.0.jar" dest="${buildServer.dir}"/> <!-- Derby Server --> <unjar src="../derby/derby.jar" dest="${buildServer.dir}"/> <unjar src="../derby/derbynet.jar" dest="${buildServer.dir}"/> <unjar src="../derby/derbytools.jar" dest="${buildServer.dir}"/> <!-- Adempiere look and feel --> <unjar src="lib/looks-2.0.4.jar" dest="${buildServer.dir}"/> <!-- Clean up --> <delete file="${buildServer.dir}/META-INF/MANIFEST.MF" failonerror="false"/> <!-- Create CSTools jar --> <jar jarfile="${dist.dir}/CSTools.jar"> <fileset dir="${buildServer.dir}" /> <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"> <!-- Unjar libraries for CCTools ***** --> <!-- Mail --> <unjar src="lib/activation.jar" dest="${buildClient.dir}" /> <unjar src="lib/mail.jar" dest="${buildClient.dir}" /> <!-- Bean Shell --> <unjar src="lib/bsh-1.3.0.jar" dest="${buildClient.dir}" /> <!-- Payment Processors --> <unjar src="lib/Verisign.jar" dest="${buildClient.dir}" /> <unjar src="lib/jpayment.jar" dest="${buildClient.dir}" /> <!-- Log4J, jnlp --> <unjar src="lib/log4j.jar" dest="${buildClient.dir}"/> <unjar src="lib/jnlp.jar" dest="${buildClient.dir}"/> <!-- Barcode, ftp --> <unjar src="lib/barbecue-1.0.6d.jar" dest="${buildClient.dir}"/> <unjar src="lib/commons-net-1.4.0.jar" dest="${buildClient.dir}"/> <!-- JFreeChart --> <unjar src="lib/jfreechart-1.0.2.jar" dest="${buildClient.dir}"/> <unjar src="lib/jcommon-1.0.5.jar" dest="${buildClient.dir}"/> <!-- Graph --> <unjar src="lib/jgraph.jar" dest="${buildClient.dir}"/> <!-- Adempeire Look and Feal --> <unjar src="lib/looks-2.0.4.jar" dest="${buildClient.dir}"/> <!-- jars for 2pack --> <unjar src="lib/ant.jar" dest="${buildClient.dir}"/> <unjar src="lib/xercesImpl.jar" dest="${buildClient.dir}"/> <!-- Clean up --> <delete> <fileset dir="${buildClient.dir}" includes="build.xml"/> <fileset dir="${buildClient.dir}/META-INF" casesensitive="no" includes="*.mf,*.sf,*.rsa,*.dsa"/> </delete> <!-- Create CCTools.jar file --> <jar jarfile="${dist.dir}/CCTools.jar"> <fileset dir="${build.dir}" includes="**/ecs/**" /> <fileset dir="${buildClient.dir}"/> <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}/db2.jar" failonerror="false"/> <delete file="${dist.dir}/derby.jar" failonerror="false"/> <delete file="${dist.dir}/sqlServer.jar" failonerror="false"/> </target> </project>