summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorJaikiran Pai <jaikiran@apache.org>2018-10-11 15:19:55 +0530
committerJaikiran Pai <jaikiran@apache.org>2018-10-29 18:48:37 +0530
commitb3f55a2422173e89deb92e0f417f27a63cb06cf4 (patch)
tree7a4fae0f809762259cb6e38ade50378bbf23a68a /build.xml
parent0cb9d22b77dda1dcabba91d4c2a1616d0042d16c (diff)
downloadant-b3f55a2422173e89deb92e0f417f27a63cb06cf4.tar.gz
[junitlauncher] Add a check in the build to ensure that the junitlauncher classes in "confined" package do not depend on classes they aren't meant to
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml28
1 files changed, 28 insertions, 0 deletions
diff --git a/build.xml b/build.xml
index 543d00e6f..b34bbca8e 100644
--- a/build.xml
+++ b/build.xml
@@ -600,6 +600,7 @@
destdir="${build.classes}"
debug="${debug}"
deprecation="${deprecation}"
+ excludes="${optional.package}/junitlauncher/confined/**"
target="${javac.target}"
source="${javac.source}"
optimize="${optimize}">
@@ -639,6 +640,33 @@
</selector>
</javac>
+ <!-- Builds and verifies that the classes belonging in the confined package of
+ junitlauncher task do not depend on classes they aren't meant to -->
+ <!-- first wipe out the "confined" package that might have been built already
+ due to the javac above -->
+ <delete dir="${build.classes}/${optional.package}/junitlauncher/confined/"/>
+ <javac srcdir="${java.dir}"
+ includeantruntime="false"
+ destdir="${build.classes}"
+ debug="${debug}"
+ deprecation="${deprecation}"
+ includes="${optional.package}/junitlauncher/confined/**"
+ target="${javac.target}"
+ source="${javac.source}"
+ optimize="${optimize}">
+ <classpath>
+ <!-- A very limited classpath which only doesn't include optional libraries,
+ which the classes in confined package aren't meant to depend on -->
+ <fileset dir="${build.classes}">
+ <!-- exclude the org/apache/tools/ant/taskdefs/optional/junitlauncher package
+ from the classpath, since the confined package isn't meant to depend on
+ classes in this package -->
+ <exclude name="org/apache/tools/ant/taskdefs/optional/junitlauncher/*"/>
+ </fileset>
+ </classpath>
+
+ </javac>
+
<copy todir="${build.classes}">
<fileset dir="${java.dir}">
<include name="**/*.properties"/>