Skip to content

Commit f0540f5

Browse files
committed
Move more towards Ivy, using configurations.
1 parent fc6829e commit f0540f5

2 files changed

Lines changed: 31 additions & 33 deletions

File tree

build.xml

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,21 @@
1414
<property name="build.classes.dir" value="${build.dir}/classes"/>
1515
<property name="test.classes.dir" value="${build.dir}/test"/>
1616
<property name="dist.dir" value="dist"/>
17-
<property name="lib.dir" value="lib"/>
18-
19-
<!-- Project classpath -->
20-
<path id="build.classpath">
21-
<fileset dir="${lib.dir}">
22-
<include name="*.jar"/>
23-
</fileset>
24-
</path>
2517

2618
<!-- Targets -->
2719

28-
<target name="init">
29-
<available file="${lib.dir}" property="lib.present"/>
30-
<mkdir dir="${build.classes.dir}"/>
31-
<mkdir dir="${dist.dir}"/>
32-
</target>
33-
34-
<target name="resolve" unless="lib.present"
35-
description="Retrieve dependencies with ivy.">
36-
<ivy:retrieve type="jar,bundle"/>
20+
<target name="resolve" description="Retrieve dependencies with Ivy.">
21+
<ivy:resolve log="quiet"/>
22+
<ivy:cachepath conf="build" pathid="build.classpath"/>
23+
<ivy:cachepath conf="default" pathid="runtime.classpath"/>
24+
<ivy:cachefileset conf="default" setid="runtime.fileset"/>
25+
<ivy:cachepath conf="test" pathid="test.classpath"/>
3726
</target>
3827

39-
<target name="compile" depends="init,resolve"
40-
description="Compile all source files.">
28+
<target name="compile" depends="resolve" description="Compile all sources.">
29+
<mkdir dir="${build.classes.dir}"/>
4130
<javac srcdir="${src.dir}" destdir="${build.classes.dir}"
42-
optimize="on" debug="on" deprecation="on"
43-
includeantruntime="false">
31+
optimize="on" debug="on" deprecation="on" includeantruntime="no">
4432
<compilerarg value="-Xlint"/>
4533
<classpath refid="build.classpath"/>
4634
</javac>
@@ -59,7 +47,7 @@
5947
</jar>
6048
<jar destfile="${dist.dir}/${base.name}-all.jar"
6149
basedir="${build.classes.dir}">
62-
<zipgroupfileset dir="${lib.dir}" includes="*.jar"/>
50+
<zipgroupfileset refid="runtime.fileset"/>
6351
<manifest>
6452
<attribute name="Main-Class" value="${main.class}"/>
6553
</manifest>
@@ -117,10 +105,11 @@
117105
</apply>
118106
</target>
119107

120-
<target name="check">
121-
<taskdef resource="checkstyletask.properties"/>
108+
<target name="check" depends="resolve">
109+
<taskdef resource="checkstyletask.properties"
110+
classpathref="build.classpath"/>
122111
<checkstyle config="checkstyle.xml">
123-
<fileset dir="src" includes="**/*.java"/>
112+
<fileset dir="${src.dir}" includes="**/*.java"/>
124113
</checkstyle>
125114
</target>
126115

@@ -135,27 +124,26 @@
135124

136125
<!-- Unit testing (JUnit) -->
137126

138-
<target name="test-compile" depends="compile"
139-
description="Compile all of the unit tests.">
127+
<target name="test-compile" depends="compile">
140128
<mkdir dir="${test.classes.dir}"/>
141129
<javac srcdir="${test.dir}" destdir="${test.classes.dir}"
142130
optimize="on" debug="on" deprecation="on"
143-
classpath="${build.classes.dir}" includeantruntime="yes">
131+
classpath="${build.classes.dir}" includeantruntime="no">
144132
<compilerarg value="-Xlint"/>
145133
<classpath refid="build.classpath"/>
134+
<classpath refid="test.classpath"/>
146135
</javac>
147136
<copy todir="${test.classes.dir}">
148137
<fileset dir="${test.dir}" excludes="**/*.java"/>
149138
</copy>
150139
</target>
151140

152-
<target name="test" depends="test-compile"
153-
description="Run all of the unit tests.">
154-
<junit>
141+
<target name="test" depends="test-compile" description="Run the unit tests.">
142+
<junit fork="yes">
155143
<classpath>
156144
<pathelement path="${build.classes.dir}"/>
157145
<pathelement path="${test.classes.dir}"/>
158-
<path refid="build.classpath"/>
146+
<path refid="test.classpath"/>
159147
</classpath>
160148
<batchtest>
161149
<formatter type="brief" usefile="false"/>

ivy.xml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
<?xml version="1.0"?>
22
<ivy-module version="2.0">
33
<info organisation="com.nullprogram" module="sample-java-project"/>
4+
<configurations>
5+
<conf name="default"/>
6+
<conf name="build" extends="default" visibility="private"/>
7+
<conf name="test" extends="build" visibility="private"/>
8+
</configurations>
49
<dependencies>
5-
<dependency org="commons-cli" name="commons-cli" rev="1.2"/>
10+
<dependency org="commons-cli" name="commons-cli" rev="1.2"
11+
conf="default->default"/>
12+
<dependency org="junit" name="junit" rev="4.10"
13+
conf="test->default"/>
14+
<dependency org="com.puppycrawl.tools" name="checkstyle" rev="5.5"
15+
conf="build->default"/>
616
</dependencies>
717
</ivy-module>

0 commit comments

Comments
 (0)