Refactored pit-cli build process to work with JDB common build.

This commit is contained in:
Jonathan Bernard 2011-11-21 03:03:52 -06:00
parent 447e74f956
commit c26ba17dbb
6 changed files with 30 additions and 101 deletions

View File

@ -11,4 +11,13 @@
<echo message="GROOVY_HOME: ${env.GROOVY_HOME}"/> <echo message="GROOVY_HOME: ${env.GROOVY_HOME}"/>
</target> </target>
<target name="release" depends="build">
<mkdir dir="${release.dir}/lib"/>
<copy file="${build.dir}/${name}-${version}.${build.number}.jar"
tofile="${release.dir}/${name}-${version}.jar"/>
<copy todir="${release.dir}/lib">
<fileset dir="${build.dir}/lib/runtime/jar"/>
</copy>
</target>
</project> </project>

View File

@ -1,11 +1,12 @@
#Sun, 20 Nov 2011 15:56:02 -0600 #Mon, 21 Nov 2011 01:12:20 -0600
#Sat Apr 24 17:08:00 CDT 2010 #Sat Apr 24 17:08:00 CDT 2010
build.dir=build build.dir=build
src.dir=src src.dir=src
lib.shared.dir=../shared-libs lib.shared.dir=../shared-libs
test.dir=test test.dir=test
build.number=19 build.number=24
expected.application.version=3.0.0 version=3.0.0
name=libpit
lib.dir=lib lib.dir=lib
lib.local=true lib.local=true
release.dir=release release.dir=release

View File

@ -1,40 +1,8 @@
<project name="Personal Issue Tracker CLI"> <project name="Personal Issue Tracker CLI">
<property file="../version.properties"/>
<property file="project.properties"/> <property file="project.properties"/>
<property environment="env" />
<path id="groovy.libs"> <import file="../jdb-build-1.6.xml"/>
<fileset dir="${env.GROOVY_HOME}/lib">
<include name="**/*.jar"/>
</fileset>
</path>
<path id="groovy.embeddable">
<fileset dir="${env.GROOVY_HOME}/embeddable">
<include name="**/*.jar"/>
</fileset>
</path>
<path id="project.libs">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
</path>
<path id="groovyc.classpath">
<path refid="groovy.libs"/>
<path refid="project.libs"/>
</path>
<path id="package.jars">
<path refid="groovy.embeddable"/>
<path refid="project.libs"/>
</path>
<taskdef name="groovyc"
classname="org.codehaus.groovy.ant.Groovyc"
classpathref="groovy.libs"/>
<target name="init"> <target name="init">
<fail <fail
@ -42,77 +10,26 @@
message="GROOVY_HOME environment variable is not set."/> message="GROOVY_HOME environment variable is not set."/>
<echo message="GROOVY_HOME: ${env.GROOVY_HOME}"/> <echo message="GROOVY_HOME: ${env.GROOVY_HOME}"/>
<fail message="Could not find PIT ${application.version} library."> <fail message="Could not find PIT ${version} library.">
<condition> <condition>
<not> <not>
<available <available
file="${lib.dir}/pit-${application.version}.jar"/> file="${basedir}/../libpit/release/libpit-${version}.jar"/>
</not> </not>
</condition> </condition>
</fail> </fail>
<echo message="PIT library found at ${lib.dir}/pit-${application.version}.jar"/>
<fail message="The PIT project is at version ${application.version} but pit-cli is versioned as ${expected.application.version}. Ensure that pit-cli is updated tp reflect the changes in libpit and then run the 'upgrade-version' task to sync the pit-vli subproject with the PIT project.">
<condition>
<not>
<equals
arg1="${application.version}"
arg2="${expected.application.version}"/>
</not>
</condition>
</fail>
<echo message="Application version: ${application.version}"/>
</target> </target>
<target name="upgrade-version"> <target name="lib">
<propertyfile file="project.properties"> <copy todir="${build.dir}/lib/compile/jar"
<entry file="${basedir}/../libpit/release/libpit-${version}.jar"/>
key="expected.application.version" <copy todir="${build.dir}/lib/runtime/jar"
value="${application.version}"/> file="${basedir}/../libpit/release/libpit-${version}.jar"/>
<entry key="build.number" value="0"/>
</propertyfile>
<echo message="pit-cli version upgraded to ${application.version}"/>
</target>
<target name="increment-build-number" depends="init">
<propertyfile file="project.properties">
<entry key="build.number" operation="+" type="int" default="0"/>
</propertyfile>
</target>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile" depends="init,increment-build-number">
<mkdir dir="${build.dir}/classes"/>
<groovyc
srcdir="${src.dir}"
destdir="${build.dir}/classes"
classpathref="groovyc.classpath"/>
</target>
<target name="build" depends="compile">
<mkdir dir="${build.dir}/jar"/>
<unjar dest="${build.dir}/classes">
<path refid="package.jars"/>
</unjar>
<jar
destfile="${build.dir}/jar/${build.jar}"
basedir="${build.dir}/classes"
compress="on">
<manifest>
<attribute name="Main-Class" value="${main.class}"/>
</manifest>
</jar>
</target> </target>
<target name="release" depends="build"> <target name="release" depends="build">
<delete dir="${release.dir}"/> <mkdir dir="${release.dir}/lib"/>
<mkdir dir="${release.dir}"/> <copy tofile="${release.dir}/${name}-${version}.jar"
<copy file="${build.dir}/jar/${build.jar}" file="${build.dir}/${name}-${version}.${build.number}.jar"/>
tofile="${release.dir}/${release.jar}"/>
</target> </target>
</project> </project>

View File

@ -1,10 +1,12 @@
#Thu, 03 Nov 2011 02:35:29 -0500 #Mon, 21 Nov 2011 02:48:35 -0600
build.dir=build build.dir=build
src.dir=src src.dir=src
build.jar=pit-cli-${application.version}.${build.number}.jar build.jar=pit-cli-${application.version}.${build.number}.jar
build.number=0 build.number=2
expected.application.version=3.0.0 version=3.0.0
name=pit-cli
lib.dir=lib lib.dir=lib
lib.local=true
release.dir=release release.dir=release
release.jar=pit-cli-${application.version}.jar release.jar=pit-cli-${application.version}.jar
main.class=com.jdbernard.pit.PersonalIssueTrackerCLI main.class=com.jdbernard.pit.PersonalIssueTrackerCLI