Now we have a pretty dynamic build process. To clean it up a bit, we can remove the property declarations and place them in a separate file.
You can remove these lines from the build.xml file:
<property
name="dir.lib"
value="lib"/>
<property name="dir.src" value="src/main/java"/>
<property name="dir.build" value="build"/>
<property name="dir.build.source" value="${dir.build}/classes"/>
<property name="dir.build.tests" value="${dir.build}/tests"/>
<property name="dir.build.tests" value="${dir.build}/tests"/>
<property name="dir.build.tests.classes" value="${dir.build.tests}/classes"/>
<property name="dir.build.tests.reports" value="${dir.build.tests}/reports"/>
<property name="dir.build.tests.reports.raw" value="${dir.build.tests.reports}/raw"/>
<property name="dir.build.tests.reports.html" value="${dir.build.tests.reports}/html"/>
<property name="dir.build.docs" value="${dir.build}/docs"/>
<property name="dir.build.docs.tests" value="${dir.build.docs}/tests"/>
<property name="dir.build.docs.api" value="${dir.build.docs}/api"/>
<property name="doc.title" value="Java Persistence Project"/>
<property name="doc.copyright" value="Copyright © 2009 Travis Osterman. All Rights Reserved."/>
<property name="dir.build.jar" value="${dir.build}/jar"/>
<property name="jar.name" value="${ant.project.name}.jar"/>
<property name="main.class" value="net.wsor.osterman.javapersistence.Main"/>
<property name="dir.deploy" value="${basedir}/deploy"/>
<property name="dir.deploy.temp" value="${dir.build}/deploy"/>
<property name="dir.deploy.temp.doc" value="${dir.deploy.temp}/doc"/>
<property name="dir.deploy.temp.doc.api" value="${dir.deploy.temp.doc}/api"/>
<property name="dir.deploy.temp.doc.tests" value="${dir.deploy.temp.doc}/tests"/>
<property name="dir.deploy.temp.jar" value="${dir.deploy.temp}/jar"/>
<property name="package.name" value="${ant.project.name}.zip"/>
<property name="dir.src" value="src/main/java"/>
<property name="dir.build" value="build"/>
<property name="dir.build.source" value="${dir.build}/classes"/>
<property name="dir.build.tests" value="${dir.build}/tests"/>
<property name="dir.build.tests" value="${dir.build}/tests"/>
<property name="dir.build.tests.classes" value="${dir.build.tests}/classes"/>
<property name="dir.build.tests.reports" value="${dir.build.tests}/reports"/>
<property name="dir.build.tests.reports.raw" value="${dir.build.tests.reports}/raw"/>
<property name="dir.build.tests.reports.html" value="${dir.build.tests.reports}/html"/>
<property name="dir.build.docs" value="${dir.build}/docs"/>
<property name="dir.build.docs.tests" value="${dir.build.docs}/tests"/>
<property name="dir.build.docs.api" value="${dir.build.docs}/api"/>
<property name="doc.title" value="Java Persistence Project"/>
<property name="doc.copyright" value="Copyright © 2009 Travis Osterman. All Rights Reserved."/>
<property name="dir.build.jar" value="${dir.build}/jar"/>
<property name="jar.name" value="${ant.project.name}.jar"/>
<property name="main.class" value="net.wsor.osterman.javapersistence.Main"/>
<property name="dir.deploy" value="${basedir}/deploy"/>
<property name="dir.deploy.temp" value="${dir.build}/deploy"/>
<property name="dir.deploy.temp.doc" value="${dir.deploy.temp}/doc"/>
<property name="dir.deploy.temp.doc.api" value="${dir.deploy.temp.doc}/api"/>
<property name="dir.deploy.temp.doc.tests" value="${dir.deploy.temp.doc}/tests"/>
<property name="dir.deploy.temp.jar" value="${dir.deploy.temp}/jar"/>
<property name="package.name" value="${ant.project.name}.zip"/>
and create a file JP/build.properties
dir.lib = lib
dir.src = src/main/java
dir.build = build
dir.build.source = ${dir.build}/classes
dir.build.tests = ${dir.build}/tests
dir.build.tests.classes = ${dir.build.tests}/classes
dir.build.tests.reports = ${dir.build.tests}/reports
dir.build.tests.reports.raw = ${dir.build.tests.reports}/raw
dir.build.tests.reports.html = ${dir.build.tests.reports}/html
dir.build.docs = ${dir.build}/docs
dir.build.docs.tests = ${dir.build.docs}/tests
dir.build.docs.api = ${dir.build.docs}/api
dir.build.jar = ${dir.build}/jar
dir.deploy = ${basedir}/deploy
dir.deploy.temp = ${dir.build}/deploy
dir.deploy.temp.doc = ${dir.deploy.temp}/doc
dir.deploy.temp.doc.api = ${dir.deploy.temp.doc}/api
dir.deploy.temp.doc.tests = ${dir.deploy.temp.doc}/tests
dir.deploy.temp.jar = ${dir.deploy.temp}/jar
doc.title = Java Persistence Project
doc.copyright = Copyright © 2009 Travis Osterman. All Rights Reserved.
jar.name = ${ant.project.name}.jar
main.class = net.wsor.osterman.javapersistence.Main
package.name = ${ant.project.name}.zip
dir.src = src/main/java
dir.build = build
dir.build.source = ${dir.build}/classes
dir.build.tests = ${dir.build}/tests
dir.build.tests.classes = ${dir.build.tests}/classes
dir.build.tests.reports = ${dir.build.tests}/reports
dir.build.tests.reports.raw = ${dir.build.tests.reports}/raw
dir.build.tests.reports.html = ${dir.build.tests.reports}/html
dir.build.docs = ${dir.build}/docs
dir.build.docs.tests = ${dir.build.docs}/tests
dir.build.docs.api = ${dir.build.docs}/api
dir.build.jar = ${dir.build}/jar
dir.deploy = ${basedir}/deploy
dir.deploy.temp = ${dir.build}/deploy
dir.deploy.temp.doc = ${dir.deploy.temp}/doc
dir.deploy.temp.doc.api = ${dir.deploy.temp.doc}/api
dir.deploy.temp.doc.tests = ${dir.deploy.temp.doc}/tests
dir.deploy.temp.jar = ${dir.deploy.temp}/jar
doc.title = Java Persistence Project
doc.copyright = Copyright © 2009 Travis Osterman. All Rights Reserved.
jar.name = ${ant.project.name}.jar
main.class = net.wsor.osterman.javapersistence.Main
package.name = ${ant.project.name}.zip
Finally, add this line near the top of the build file
<?xml
...>
<project ...>
<property file="build.properties"/>
<project ...>
<property file="build.properties"/>
> ant all
Make sure everything still works.
> ant svn
commit
Ant Properties File