You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-dev@ws.apache.org by dl...@apache.org on 2002/08/07 04:50:00 UTC
cvs commit: xml-rpc build.xml
dlr 2002/08/06 19:50:00
Modified: . build.xml
Log:
Reverting to CVS revision 1.13 (pre-Maven). Maven users should not need this file (Jason, Martin, correct me if I am wrong here). This build file will be removed upon first stable release of Maven.
Revision Changes Path
1.15 +415 -62 xml-rpc/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/xml-rpc/build.xml,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -u -r1.14 -r1.15
--- build.xml 3 Jun 2002 16:03:51 -0000 1.14
+++ build.xml 7 Aug 2002 02:50:00 -0000 1.15
@@ -1,93 +1,446 @@
<?xml version="1.0"?>
-<project name="maven" default="maven:jar" basedir=".">
-
- <!-- Give user a chance to override without editing this file
- (and without typing -D each time they invoke a target) -->
+<project name="xmlrpc" default="jar" basedir=".">
<!-- Allow any user specific values to override the defaults -->
<property file="${user.home}/build.properties" />
- <!-- Allow user defaults for this project -->
- <property file="build.properties" />
+
<!-- Set default values for the build -->
- <property file="project.properties" />
+ <property file="build.properties" />
- <!-- maven:start -->
+ <property name="build.src" value="${build.dir}/src"/>
+ <property name="build.dest" value="${build.dir}/classes"/>
+ <property name="final.name" value="${project}-${version}"/>
+ <property name="final.dir" value="../${final.name}/"/>
+
+ <!-- Construct compile classpath -->
+ <path id="classpath">
+ <pathelement location="${jsse.jar}"/>
+ <pathelement location="${jnet.jar}"/>
+ <pathelement location="${jcert.jar}"/>
+ <pathelement location="${servlet.jar}"/>
+ <pathelement location="${junit.jar}"/>
+ </path>
+
+ <!-- ================================================================== -->
+ <!-- E N V I R O N M E N T -->
+ <!-- ================================================================== -->
+ <target name="env">
+ <echo message="java.home = ${java.home}"/>
+ <echo message="user.home = ${user.home}"/>
+ <echo message="jsse.jar = ${jsse.jar}"/>
+ <echo message="jnet.jar = ${jnet.jar}"/>
+ <echo message="jcert.jar = ${jcert.jar}"/>
+ <echo message="servlet.jar = ${servlet.jar}"/>
+ <echo message="junit.jar = ${junit.jar}"/>
+ </target>
+
<!-- ================================================================== -->
- <!-- D E L E G A T O R S -->
+ <!-- U S A G E -->
<!-- ================================================================== -->
-
- <target
- name="maven:site">
- <ant antfile="${maven.home}/build-docs.xml" target="site"/>
+
+ <target name="usage">
+ <echo message="use -projecthelp to see the available targets"/>
</target>
-
- <target
- name="maven:jar">
- <ant antfile="${maven.home}/build-maven.xml" target="jar"/>
+
+ <!-- ================================================================== -->
+ <!-- I N I T -->
+ <!-- ================================================================== -->
+
+ <target name="init" depends="env">
+ <available
+ classname="com.sun.net.ssl.SSLContext"
+ property="jsse.present"
+ classpathref="classpath"
+ />
+
+ <available
+ classname="javax.servlet.Servlet"
+ property="servlet.present"
+ classpathref="classpath"
+ />
+
+ <available
+ classname="org.apache.xerces.parsers.SAXParser"
+ property="xerces.present"
+ classpathref="classpath"
+ />
+
+ <available
+ classname="junit.framework.TestCase"
+ property="junit.present"
+ classpathref="classpath"
+ />
+
</target>
-
- <target
- name="maven:install-jar">
- <ant antfile="${maven.home}/build-maven.xml" target="install-jar"/>
+
+ <!-- ================================================================== -->
+ <!-- P R O P E R T Y C H E C K S A N D W A R N I N G S -->
+ <!-- ================================================================== -->
+
+ <!-- No additional classes are required to compile the
+ core package. If you wish to use the SSL extensions
+ or the XmlRpcProxyServlet than you can make the
+ necessary properties changes. -->
+
+ <target name="check.jsse" unless="jsse.present">
+ <antcall target="property-warning">
+ <param name="name" value="jsse.jar"/>
+ <param name="value" value="${jsse.jar}"/>
+ </antcall>
</target>
-
- <target
- name="maven:env">
- <ant antfile="${maven.home}/build-maven.xml" target="env"/>
+
+ <target name="check.junit" unless="junit.present">
+ <antcall target="property-warning">
+ <param name="name" value="junit.jar"/>
+ <param name="value" value="${junit.jar}"/>
+ </antcall>
</target>
-
- <target
- name="maven:docs">
- <ant antfile="${maven.home}/build-docs.xml" target="docs"/>
+
+ <target name="property-warning">
+ <echo>
+ +----------------------------------------------------------------+
+ + F A I L E D R E Q U I R E M E N T |
+ +----------------------------------------------------------------+
+ | You must define the following property in order |
+ | to build XML-RPC: |
+ | |
+ | ${name} = ${value}
+ | |
+ | You can set this property in the provided build.properties |
+ | file, or you may set this property in your |
+ | ${user.home}/build.properties file.
+ +----------------------------------------------------------------+
+ </echo>
+ <fail message="Failed Requirement"/>
</target>
-
- <target
- name="maven:test">
- <ant antfile="${maven.home}/build-test.xml" target="test"/>
+
+ <!-- =================================================================== -->
+ <!-- P R E P A R E -->
+ <!-- =================================================================== -->
+
+ <target name="prepare" depends="init">
+ <mkdir dir="${build.dir}"/>
+ <mkdir dir="${build.dest}"/>
+ <mkdir dir="${build.src}"/>
+
+ <!--
+ We don't care about the javascript interpreter or the
+ the applet code so we'll just exclude it from the
+ build. All we want is the client and server code.
+ -->
+
+ <copy todir="${build.src}">
+ <fileset dir="${src.dir}">
+ <include name="**/*.java"/>
+ <exclude name="**/fesi/**"/>
+ <exclude name="**/secure/**" unless="jsse.present"/>
+ <exclude name="**/XmlRpcProxyServlet.java" unless="servlet.present"/>
+ <exclude name="**/test/**"/>
+ </fileset>
+ </copy>
+
</target>
-
- <target
- name="maven:clean">
- <ant antfile="${maven.home}/build-maven.xml" target="clean"/>
+
+ <!-- ================================================================== -->
+ <!-- C O M P I L E -->
+ <!-- ================================================================== -->
+
+ <target name="compile" depends="prepare">
+ <javac
+ srcdir="${build.src}"
+ destdir="${build.dest}"
+ debug="${debug}"
+ deprecation="${deprecation}"
+ optimize="${optimize}"
+ >
+ <classpath refid="classpath"/>
+ </javac>
</target>
-
- <target
- name="maven:metrics">
- <ant antfile="${maven.home}/build-metrics.xml" target="metrics"/>
+
+ <!-- ================================================================== -->
+ <!-- J A R -->
+ <!-- ================================================================== -->
+
+ <target name="jar" depends="compile"
+ description="Builds the two JAR files from source">
+
+ <jar jarfile="${build.dir}/${final.name}.jar">
+ <fileset dir="${build.dest}" excludes="**/applet/*"/>
+ </jar>
+ <jar jarfile="${build.dir}/${final.name}-applet.jar">
+ <fileset dir="${build.dest}"
+ excludes="**/xmlrpc/*,**/fesi/*,**/secure/*"/>
+ </jar>
</target>
-
- <target
- name="maven:dist">
- <ant antfile="${maven.home}/build-maven.xml" target="dist"/>
+
+ <!-- ================================================================== -->
+ <!-- J A V A D O C S -->
+ <!-- ================================================================== -->
+
+ <target name="javadocs" depends="prepare">
+ <mkdir dir="${javadoc.destdir}"/>
+ <javadoc
+ sourcepath="${build.src}/java"
+ packagenames="org.apache.xmlrpc.*"
+ destdir="${javadoc.destdir}"
+ author="true"
+ private="true"
+ version="true"
+ use="true"
+ windowtitle="${name} ${version} API"
+ doctitle="${name} ${version} API"
+ bottom="Copyright © ${year} Apache Software Foundation. All Rights Reserved."
+ >
+ <classpath refid="classpath"/>
+ </javadoc>
</target>
-
- <target
- name="maven:deploy-site">
- <ant antfile="${maven.home}/build-docs.xml" target="deploy-site"/>
+
+ <!-- ================================================================== -->
+ <!-- C L E A N -->
+ <!-- ================================================================== -->
+
+ <target name="clean">
+ <delete file="${final.name}.tar.gz"/>
+ <delete file="${final.name}.zip"/>
+ <delete dir="${build.dir}"/>
+ <delete dir="${test.reportsDirectory}"/>
</target>
-
- <target
- name="maven:gump-descriptor">
- <ant antfile="${maven.home}/build-maven.xml" target="gump-descriptor"/>
+
+ <!-- ================================================================== -->
+ <!-- T E S T -->
+ <!-- ================================================================== -->
+
+ <target name="compile-tests"
+ depends="init,check.junit,compile"
+ description="Compiles testing source code">
+
+ <mkdir dir="${build.test.dest}"/>
+
+ <javac srcdir="${src.test.dir}"
+ destdir="${build.test.dest}"
+ includes="**/*Test.java"
+ excludes="**/package.html"
+ debug="${debug}"
+ deprecation="${deprecation}"
+ optimize="${optimize}">
+ <classpath refid="classpath"/>
+ <classpath>
+ <pathelement path="${build.dest}"/>
+ </classpath>
+ </javac>
+
</target>
-
+
+ <target name="test"
+ depends="compile-tests"
+ description="Runs unit and run-time tests">
+
+ <echo>
+ Running all JUnit tests
+ </echo>
+
+ <delete dir="${test.reportsDirectory}"/>
+ <mkdir dir="${test.reportsDirectory}"/>
+
+ <junit printSummary="yes">
+ <formatter type="plain"/>
+ <classpath refid="classpath"/>
+ <classpath>
+ <!-- <pathelement location="${xerces.jar}"/> -->
+ <pathelement path="${build.dest}"/>
+ <pathelement location="${junit.jar}"/>
+ <pathelement path="${build.test.dest}"/>
+ </classpath>
+ <batchtest todir="${test.reportsDirectory}">
+ <fileset dir="${build.test.dest}">
+ <include name="**/*Test.class"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- D O C S -->
+ <!-- ================================================================== -->
+
<target
- name="maven:javadocs">
- <ant antfile="${maven.home}/build-docs.xml" target="javadocs"/>
+ name="check_for_jdom">
+
+ <available
+ property="jdom.present"
+ classname="org.jdom.JDOMException">
+ <classpath>
+ <pathelement location="${jakarta.site2}/lib/${jdom.jar}"/>
+ </classpath>
+ </available>
</target>
-
+
<target
- name="maven:compile">
- <ant antfile="${maven.home}/build-maven.xml" target="compile"/>
+ depends="check_for_jdom"
+ name="docs-prepare-error"
+ unless="jdom.present">
+
+ <echo>
+ The Jakarta-Site2 module is not present! Please check
+ to make sure that you have checked it out from CVS.
+
+ <http://jakarta.apache.org/site/jakarta-site2.html>
+ </echo>
</target>
<target
- name="maven:update-jars">
- <ant antfile="${maven.home}/build-maven.xml" target="update-jars"/>
+ name="docs"
+ depends="docs-prepare-error,javadocs"
+ description="Generates the HTML documentation (including JavaDoc)"
+ if="jdom.present">
+
+ <taskdef
+ name="anakia"
+ classname="org.apache.velocity.anakia.AnakiaTask">
+ <classpath>
+ <fileset dir="${jakarta.site2}/lib">
+ <include name="*.jar"/>
+ </fileset>
+ </classpath>
+ </taskdef>
+
+ <anakia
+ basedir="${docs.src}"
+ destdir="${docs.dest}/"
+ extension=".html"
+ style="./site.vsl"
+ projectFile="stylesheets/project.xml"
+ excludes="**/stylesheets/** empty.xml"
+ includes="**/*.xml"
+ lastModifiedCheck="true"
+ templatePath="${docs.src}/stylesheets">
+ </anakia>
+
+ <copy
+ todir="${docs.dest}/images"
+ filtering="no">
+
+ <fileset dir="${docs.src}/images">
+ <include name="**/*.gif"/>
+ <include name="**/*.jpeg"/>
+ <include name="**/*.jpg"/>
+ </fileset>
+ </copy>
</target>
+
+ <!-- ================================================================== -->
+ <!-- I N S T A L L J A R -->
+ <!-- ================================================================== -->
+
+ <target name="install-jar" depends="jar"
+ description="Installs .jar file in ${lib.repo}">
+
+ <copy todir="${lib.repo}" filtering="no">
+ <fileset dir="${build.dir}">
+ <include name="${final.name}.jar"/>
+ <include name="${final.name}-applet.jar"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- D I S T R I B U T I O N S -->
+ <!-- ================================================================== -->
+
+ <target
+ name="dist"
+ depends="jar,javadocs,docs">
+
+ <property name="distDir" value="${build.dir}/${final.name}"/>
+
+ <!-- B I N A R Y D I S T R I B U T I O N -->
+
+ <echo>
+ +-------------------------------------------------------+
+ | C R E A T I N G B I N A R Y D I S T R I B U T I O N |
+ +-------------------------------------------------------+
+ </echo>
+
+ <mkdir dir="${distDir}"/>
+
+ <!-- Copy README and LICENSE -->
+ <copy todir="${distDir}" file="README.txt"/>
+ <copy todir="${distDir}" file="LICENSE"/>
+
+ <!-- Copy Jars -->
+ <copy todir="${distDir}">
+ <fileset dir="${build.dir}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </copy>
+
+ <!-- Copy documentation -->
+ <copy todir="${distDir}/docs">
+ <fileset dir="${docs.dest}">
+ <include name="**"/>
+ </fileset>
+ </copy>
+
+ <!-- Create a tar.gz file -->
+ <tar longfile="gnu" tarfile="${final.name}.tar">
+ <tarfileset dir="${build.dir}">
+ <include name="${final.name}/**"/>
+ </tarfileset>
+ </tar>
- <!-- maven:end -->
+ <gzip zipfile="${final.name}.tar.gz" src="${final.name}.tar"/>
+ <delete file="${final.name}.tar"/>
+
+ <!-- Create a zip file -->
+ <zip zipfile="${final.name}.zip">
+ <zipfileset dir="${build.dir}">
+ <include name="${final.name}/**"/>
+ </zipfileset>
+ </zip>
+
+ <!-- S O U R C E D I S T R I B U T I O N -->
+
+ <echo>
+ +-------------------------------------------------------+
+ | C R E A T I N G S O U R C E D I S T R I B U T I O N |
+ +-------------------------------------------------------+
+ </echo>
+
+ <delete>
+ <fileset dir="${distDir}">
+ <include name="**/*.jar"/>
+ </fileset>
+ </delete>
+
+ <copy todir="${distDir}" file="build.properties"/>
+ <copy todir="${distDir}" file="build.xml"/>
+
+ <!-- Copy Source -->
+ <copy todir="${distDir}/src">
+ <fileset dir="${src.dir}">
+ <include name="**/*.java"/>
+ </fileset>
+ </copy>
+
+ <!-- Create a tar.gz file -->
+ <tar longfile="gnu" tarfile="${final.name}-src.tar">
+ <tarfileset dir="${build.dir}">
+ <include name="${final.name}/**"/>
+ </tarfileset>
+ </tar>
+
+ <gzip zipfile="${final.name}-src.tar.gz" src="${final.name}-src.tar"/>
+ <delete file="${final.name}-src.tar"/>
+
+ <!-- Create a zip file -->
+ <zip zipfile="${final.name}-src.zip">
+ <zipfileset dir="${build.dir}">
+ <include name="${final.name}/**"/>
+ </zipfileset>
+ </zip>
+
+ </target>
</project>