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>