geirm 01/05/07 15:38:02 Added: jjar/examples/boot-build README.txt boot.sh build.properties build.xml Log: initial commit Revision Changes Path 1.1 jakarta-commons-sandbox/jjar/examples/boot-build/README.txt Index: README.txt =================================================================== Simple example of how we can 'bootstrap' a project for a new user, to fetch jars that are needed to build. FIRST : build the jjar.jar and put it in this dir. the boot.sh script expects it In this example, we get ant and it's dependencies into the lib directory, and build. 1.1 jakarta-commons-sandbox/jjar/examples/boot-build/boot.sh Index: boot.sh =================================================================== #!/bin/bash java -jar jjar.jar fetch -vi -p ant -j ant.jar -d lib java -jar jjar.jar fetch -vi -p junit -v 3.2 -j junit-3.2.jar -d lib ${JAVA_HOME}/bin/java -cp ${JAVA_HOME}/lib/tools.jar:lib/ant.jar:lib/jaxp-1.0.jar:lib/jaxp-parser-1.0.jar:. org.apache.tools.ant.Main -buildfile build.xml test 1.1 jakarta-commons-sandbox/jjar/examples/boot-build/build.properties Index: build.properties =================================================================== # junit.jar - JUnit 3.2+ Classpath junit.jar=lib/junit-3.2.jar 1.1 jakarta-commons-sandbox/jjar/examples/boot-build/build.xml Index: build.xml =================================================================== <!-- $Id: build.xml,v 1.1 2001/05/07 22:38:01 geirm Exp $ --> <project name="commons-collections" default="test" basedir="."> <!-- patternset describing files to be copied from the doc directory --> <patternset id="patternset-doc"/> <!-- patternset describing test classes --> <patternset id="patternset-test-classes"> <include name="**/Test*.class"/> </patternset> <!-- patternset describing non test classes --> <patternset id="patternset-non-test-classes"> <include name="**/*.class"/> <exclude name="**/Test*.class"/> </patternset> <!-- patternset describing non test source files (*.java, *html, etc.) --> <patternset id="patternset-javadocable-sources"> <include name="**/*"/> <exclude name="**/Test*.java"/> </patternset> <!-- ######################################################### --> <target name="init"> <tstamp/> <!-- read properties from the build.properties, if any --> <property name="component-propfile" value="${basedir}/build.properties"/> <property file="${component-propfile}"/> <!-- read properties from the commons build.properties, if any --> <property name="commons-propfile" value="${basedir}/../build.properties"/> <property file="${commons-propfile}"/> <!-- read properties from the ${user.home}/propfile, if any --> <property name="user-propfile" value="${user.home}/build.properties"/> <property file="${user-propfile}"/> <!-- command line classpath, if any --> <property name="cp" value=""/> <!-- now combine the classpaths --> <property name="classpath" value="${cp}:${junit.jar}"/> <property name="name" value="commons-collections"/> <property name="Name" value="Commons-Collections"/> <property name="Name-Long" value="Jakarta Commons Collections Package"/> <!-- The current version number of this component --> <property name="component.version" value="0.02-dev"/> <property name="test.entry" value="org.apache.commons.collections.TestAll"/> <property name="test.failonerror" value="true" /> <property name="test.runner" value="junit.textui.TestRunner" /> <property name="workdir" value="${java.io.tmpdir}/buildtemp_${DSTAMP}${TSTAMP}"/> <property name="source" value="${basedir}"/> <property name="source.src" value="${basedir}/src"/> <property name="source.src.java" value="${source.src}/java"/> <property name="source.src.test" value="${source.src}/test"/> <property name="source.doc" value="${basedir}/doc"/> <property name="dest" value="${basedir}/dist"/> <property name="dest.classes" value="${dest}/classes"/> <property name="dest.doc" value="${dest}/docs"/> <property name="dest.doc.api" value="${dest.doc}/api"/> <property name="dest.jardir" value="${dest}"/> <property name="dest.jardir.jar" value="${dest.jardir}/${name}.jar"/> <available property="available-doc" file="${source.doc}"/> <!-- does this module have docs? --> <available property="available-src-java" file="${source.src.java}"/> <!-- does this module have java src? --> <available property="available-src-test" file="${source.src.test}"/> <!-- does this module have test src? --> </target> <!-- ######################################################### --> <target name="copy-javadoc-source" depends="init" if="available-src-java"> <mkdir dir="${javadoc-source-dir}"/> <copy todir="${javadoc-source-dir}" filtering="no"> <fileset dir="${source.src.java}"> <patternset refid="patternset-javadocable-sources"/> </fileset> </copy> </target> <target name="copy-doc" depends="init" if="available-doc"> <mkdir dir="${doc-source-dir}/${name}"/> <copy todir="${doc-source-dir}/${name}" filtering="no"> <fileset dir="${source.doc}"> <patternset refid="patternset-doc"/> </fileset> </copy> </target> <!-- ######################################################### --> <target name="clean" depends="init" description="removes generated files"> <delete dir="${dest}"/> </target> <target name="clean-doc" depends="init,clean-javadoc"> <delete dir="${dest.doc}"/> </target> <target name="clean-javadoc" depends="init"> <delete dir="${dest.doc.api}"/> </target> <target name="clean-build" depends="init"> <delete dir="${dest.classes}"/> </target> <target name="clean-dist" depends="init"> <delete file="${dest.jardir.jar}"/> </target> <!-- ######################################################### --> <target name="doc" depends="init,doc-top,doc-copy,doc-javadoc" description="generates javadocs and other documentation"> </target> <target name="doc-top" depends="init"> <mkdir dir="${dest}"/> <copy todir="${dest}" file="../LICENSE"/> </target> <target name="doc-copy" depends="init" if="available-doc"> <mkdir dir="${dest.doc}"/> <copy todir="${dest.doc}"> <fileset dir="${source.doc}"> <patternset refid="patternset-doc"/> </fileset> </copy> </target> <target name="doc-javadoc" depends="init" if="available-src-java"> <!-- copy all the non-test sources out to the work directory and javadoc that --> <mkdir dir="${workdir}"/> <copy todir="${workdir}"> <fileset dir="${source.src.java}"> <patternset refid="patternset-javadocable-sources"/> </fileset> </copy> <mkdir dir="${dest.doc.api}"/> <javadoc packagenames="org.*" sourcepath="${workdir}" classpath="${classpath}" destdir="${dest.doc.api}" windowtitle="${Name-Long}" doctitle="${Name-Long}" bottom="<small>Copyright &copy; 2001 Apache Software Foundation. Documenation generated ${TODAY}</small>." public="true" version="true" author="true" splitindex="false" nodeprecated="true" nodeprecatedlist="true" notree="true" noindex="false" nohelp="true" nonavbar="false" serialwarn="false"> </javadoc> <delete dir="${workdir}"/> </target> <!-- ######################################################### --> <target name="build" depends="init,build-java" description="compiles source files"/> <target name="build-java" depends="init" if="available-src-java"> <mkdir dir="${dest.classes}"/> <javac destdir="${dest.classes}" srcdir="${source.src.java}" classpath="${classpath}" debug="false" deprecation="true" optimize="true"/> </target> <target name="build-test" depends="init,build-java" if="available-src-test"> <mkdir dir="${dest.classes}"/> <javac destdir="${dest.classes}" srcdir="${source.src.test}" classpath="${classpath}" debug="false" deprecation="true" optimize="true"/> </target> <!-- ######################################################### --> <target name="test" depends="build-test" if="test.entry" description="runs (junit) unit tests"> <!-- <junit printsummary="yes" fork="on" haltonfailure="yes"> <formatter type="plain" usefile="false"/> <test name="${test.entry}"/> <classpath> <pathelement location="${dest.classes}" /> <pathelement path="${classpath}" /> <pathelement path="${java.class.path}" /> </classpath> </junit> --> <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}"> <arg value="${test.entry}"/> <classpath> <pathelement location="${dest.classes}" /> <pathelement path="${classpath}" /> <pathelement path="${java.class.path}" /> </classpath> </java> </target> <!-- ######################################################### --> <target name="dist" depends="dist-jar,doc" description="builds binary distribution"/> <target name="dist-jar" depends="build"> <mkdir dir="${dest.jardir}"/> <mkdir dir="${workdir}"/> <copy todir="${workdir}"> <fileset dir="${dest.classes}"> <patternset refid="patternset-non-test-classes"/> </fileset> </copy> <jar jarfile="${dest.jardir.jar}" manifest="${source.src}/conf/MANIFEST.MF"> <fileset dir="${workdir}"/> </jar> <delete dir="${workdir}"/> </target> <!-- ######################################################### --> </project>