diff options
author | mattinger <[email protected]> | 2006-07-06 21:53:00 +0000 |
---|---|---|
committer | mattinger <[email protected]> | 2006-07-06 21:53:00 +0000 |
commit | 1159111b7a71b72eb04326df33211e1733f7e742 (patch) | |
tree | f0a80c384f633e521649654ab78e6239cf5e0d6f /test/resources |
Initial addition into subversion with build script changes
git-svn-id: file:///home/sven/projects/JOGL/temp/ant-contrib/svn/ant-contrib-code/trunk/ant-contrib@5 32d7a393-a5a9-423c-abd3-5d954feb1f2f
Diffstat (limited to 'test/resources')
115 files changed, 3714 insertions, 0 deletions
diff --git a/test/resources/antclipse/.classpath b/test/resources/antclipse/.classpath new file mode 100644 index 0000000..8a55b01 --- /dev/null +++ b/test/resources/antclipse/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <!-- this is an awfully hacked Eclipse classpath file, must find a way to test libs--> + <classpathentry kind="src" path="../../../src"/> + <classpathentry kind="src" path="../../../test/src"/> + <classpathentry kind="src" path="../../../test/resources"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="output" path="."/> +</classpath> diff --git a/test/resources/antclipse/antclipsetest.xml b/test/resources/antclipse/antclipsetest.xml new file mode 100644 index 0000000..460bbad --- /dev/null +++ b/test/resources/antclipse/antclipsetest.xml @@ -0,0 +1,42 @@ +<?xml version="1.0"?> +<project default="everything" name="Antclipse test xml file" basedir="."> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + +<target name="make.fs.output"> + <!-- creates a fileset including all the files from the output directory, called ecl1-bin if your binary directory is bin/ --> + <antclipse produce="fileset" idcontainer="ecl1" includeoutput="true" includesource="false" + includelibs="false" verbose="true"/> +</target> + +<target name="make.fs.sources"> + <!-- creates a fileset for each source directory, called ecl2-*source-dir-name*/ --> + <antclipse produce="fileset" idcontainer="ecl2" includeoutput="false" includesource="true" + includelibs="false" verbose="true"/> +</target> + +<target name="make.fs.libs"> + <!-- creates a fileset sontaining all your project libs called ecl3/ --> + <antclipse produce="fileset" idcontainer="ecl3" verbose="true"/> +</target> + +<target name="make.cp"> + <!-- creates a fileset sontaining all your project libs called ecl3/ --> + <antclipse produce="classpath" idcontainer="eclp" verbose="true" includeoutput="true"/> +</target> + +<target name="everything" depends="make.fs.libs, make.fs.output, make.fs.sources, make.cp"> + <echo message="The output path is ${ecl1outpath}"/> + <echo message="The source path is ${ecl2srcpath}"/> + <!-- makes a jar file with the content of the output directory --> + <zip destfile="out.jar"><fileset refid="ecl1-${ecl1outpath}"/></zip> + <!-- makes a zip file with all your sources (supposing you have only source directory) --> + <zip destfile="src.zip"><fileset refid="ecl2-${ecl2srcpath}"/></zip> + <!-- makes a big zip file with all your project libraries --> + <zip destfile="libs.zip"><fileset refid="ecl3"/></zip> + <!-- imports the classpath into a property then echoes the property --> + <property name="cpcontent" refid="eclp"/> + <echo>The newly created classpath is ${cpcontent}</echo> +</target> +</project>
\ No newline at end of file diff --git a/test/resources/antserver/antservertest.xml b/test/resources/antserver/antservertest.xml new file mode 100644 index 0000000..77f8db0 --- /dev/null +++ b/test/resources/antserver/antservertest.xml @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="Project" default="default" basedir="."> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"/> + + <property name="server.host" value="localhost" /> + <property name="server.port" value="17000" /> + + <target name="default"> + </target> + + <!-- =============================================== --> + <!-- TEST 1 --> + <!-- =============================================== --> + <target name="test1_remote"> + <echo message="Test1 Successfully Called" /> + </target> + + <target name="dotest1"> + <remoteant machine="${server.host}" port="${server.port}"> + <runtarget target="test1_remote"> + </runtarget> + </remoteant> + </target> + + <target name="test1"> + <antcall target="run.test.with.server"> + <param name="test.target" value="dotest1" /> + </antcall> + </target> + + <!-- =============================================== --> + <!-- TEST 2 --> + <!-- =============================================== --> + <target name="test2_remote"> + <echo message="${message}" /> + </target> + + <target name="dotest2"> + <remoteant machine="${server.host}" port="${server.port}"> + <runtarget target="test2_remote"> + <property name="message" value="Test2 Successfully Called" /> + </runtarget> + </remoteant> + </target> + + <target name="test2"> + <antcall target="run.test.with.server"> + <param name="test.target" value="dotest2" /> + </antcall> + </target> + + <!-- =============================================== --> + <!-- TEST 3 --> + <!-- =============================================== --> + <target name="test3_remote"> + <touch file="E:/test3.txt" /> + <echo message="Test3 Successfully Called" /> + </target> + + <target name="dotest3"> + <remoteant machine="${server.host}" port="${server.port}"> + <runant target="test3_remote" antfile="${ant.file}"> + </runant> + </remoteant> + </target> + + <target name="test3"> + <antcall target="run.test.with.server"> + <param name="test.target" value="dotest3" /> + </antcall> + </target> + + <!-- =============================================== --> + <!-- TEST 4 --> + <!-- =============================================== --> + <target name="test4_remote"> + <echo message="${message}" /> + </target> + + <target name="dotest4"> + <remoteant machine="${server.host}" port="${server.port}"> + <runant target="test4_remote" antfile="${ant.file}"> + <property name="message" value="Test4 Successfully Called" /> + </runant> + </remoteant> + </target> + + <target name="test4"> + <antcall target="run.test.with.server"> + <param name="test.target" value="dotest4" /> + </antcall> + </target> + + <target name="dotest5"> + <mkdir dir="servertests" /> + <remoteant machine="${server.host}" port="${server.port}"> + <sendfile file="clientfile.txt" todir="servertests" /> + </remoteant> + <available property="file.available" + file="servertests/clientfile.txt" /> + <fail unless="file.available" /> + </target> + + <target name="cleanup"> + <delete quiet="yes" dir="servertests"/> + </target> + + <target name="test5"> + <antcall target="run.test.with.server"> + <param name="test.target" value="dotest5" /> + </antcall> + </target> + <target name="run.test.with.server"> + <parallel> + <antserver port="${server.port}" /> + + <sequential> + <waitfor checkevery="500" checkeveryunit="millisecond"> + <socket port="${server.port}" server="${server.host}" /> + </waitfor> + + <trycatch> + <try> + <antcall target="${test.target}" /> + </try> + <finally> + <remoteant machine="${server.host}" port="${server.port}"> + <shutdown /> + </remoteant> + </finally> + </trycatch> + </sequential> + </parallel> + </target> + + +</project> diff --git a/test/resources/antserver/clientfile.txt b/test/resources/antserver/clientfile.txt new file mode 100644 index 0000000..68f4931 --- /dev/null +++ b/test/resources/antserver/clientfile.txt @@ -0,0 +1 @@ +This is the file from the client. diff --git a/test/resources/design/designfiles/arraydepend.xml b/test/resources/design/designfiles/arraydepend.xml new file mode 100644 index 0000000..cdd0aeb --- /dev/null +++ b/test/resources/design/designfiles/arraydepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.arraydepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/arraydepend2.xml b/test/resources/design/designfiles/arraydepend2.xml new file mode 100644 index 0000000..ab8d8e4 --- /dev/null +++ b/test/resources/design/designfiles/arraydepend2.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.arraydepend2"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/arraydepend3.xml b/test/resources/design/designfiles/arraydepend3.xml new file mode 100644 index 0000000..1e30b7c --- /dev/null +++ b/test/resources/design/designfiles/arraydepend3.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.arraydepend3"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/badxml.xml b/test/resources/design/designfiles/badxml.xml new file mode 100644 index 0000000..63c82f0 --- /dev/null +++ b/test/resources/design/designfiles/badxml.xml @@ -0,0 +1,6 @@ +<design + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.arraydepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/castdepend.xml b/test/resources/design/designfiles/castdepend.xml new file mode 100644 index 0000000..ac16d41 --- /dev/null +++ b/test/resources/design/designfiles/castdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.castdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/catchdepend.xml b/test/resources/design/designfiles/catchdepend.xml new file mode 100644 index 0000000..2ff6387 --- /dev/null +++ b/test/resources/design/designfiles/catchdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.catchdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/declarejavautil.xml b/test/resources/design/designfiles/declarejavautil.xml new file mode 100644 index 0000000..e2fb08e --- /dev/null +++ b/test/resources/design/designfiles/declarejavautil.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.declarejavautil"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/declarejavautilfail.xml b/test/resources/design/designfiles/declarejavautilfail.xml new file mode 100644 index 0000000..fd43256 --- /dev/null +++ b/test/resources/design/designfiles/declarejavautilfail.xml @@ -0,0 +1,8 @@ +<design> +<!-- needdeclarations is by default true, so we don't need that here --> +<package name="javautil" package="java.util"/> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.declarejavautil"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/declarejavax.xml b/test/resources/design/designfiles/declarejavax.xml new file mode 100644 index 0000000..f2b7d13 --- /dev/null +++ b/test/resources/design/designfiles/declarejavax.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.declarejavax"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/declarejavaxpass.xml b/test/resources/design/designfiles/declarejavaxpass.xml new file mode 100644 index 0000000..7e55849 --- /dev/null +++ b/test/resources/design/designfiles/declarejavaxpass.xml @@ -0,0 +1,7 @@ +<design> +<package name="swing" package="javax.swing" needdeclarations="false"/> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.declarejavax"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/fielddepend.xml b/test/resources/design/designfiles/fielddepend.xml new file mode 100644 index 0000000..409427c --- /dev/null +++ b/test/resources/design/designfiles/fielddepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.fielddepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/fieldrefdepend.xml b/test/resources/design/designfiles/fieldrefdepend.xml new file mode 100644 index 0000000..3a04f6a --- /dev/null +++ b/test/resources/design/designfiles/fieldrefdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.fieldrefdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/innerclassdepend.xml b/test/resources/design/designfiles/innerclassdepend.xml new file mode 100644 index 0000000..2be90f6 --- /dev/null +++ b/test/resources/design/designfiles/innerclassdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.innerclassdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/instanceofdepend.xml b/test/resources/design/designfiles/instanceofdepend.xml new file mode 100644 index 0000000..2e9a3f8 --- /dev/null +++ b/test/resources/design/designfiles/instanceofdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.instanceofdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/interfacedepend.xml b/test/resources/design/designfiles/interfacedepend.xml new file mode 100644 index 0000000..9f11581 --- /dev/null +++ b/test/resources/design/designfiles/interfacedepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.interfacedepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/localvardepend.xml b/test/resources/design/designfiles/localvardepend.xml new file mode 100644 index 0000000..518bae1 --- /dev/null +++ b/test/resources/design/designfiles/localvardepend.xml @@ -0,0 +1,9 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="factory" package="mod.temp" depends="dummy"/> +<package name="client" package="mod.localvardepend"> + <depends>factory</depends> +</package> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/localvarrefdepend.xml b/test/resources/design/designfiles/localvarrefdepend.xml new file mode 100644 index 0000000..6160330 --- /dev/null +++ b/test/resources/design/designfiles/localvarrefdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.localvarrefdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/missingattribute.xml b/test/resources/design/designfiles/missingattribute.xml new file mode 100644 index 0000000..5397c51 --- /dev/null +++ b/test/resources/design/designfiles/missingattribute.xml @@ -0,0 +1,6 @@ +<design> + +<package package="mod.dummy"/> +<package name="client" package="mod.arraydepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/multipleerrors.xml b/test/resources/design/designfiles/multipleerrors.xml new file mode 100644 index 0000000..3c6780d --- /dev/null +++ b/test/resources/design/designfiles/multipleerrors.xml @@ -0,0 +1,7 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.arraydepend"/> +<package name="client2" package="mod.catchdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/newdepend.xml b/test/resources/design/designfiles/newdepend.xml new file mode 100644 index 0000000..b924645 --- /dev/null +++ b/test/resources/design/designfiles/newdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.newdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/newdepend2.xml b/test/resources/design/designfiles/newdepend2.xml new file mode 100644 index 0000000..4efc5bf --- /dev/null +++ b/test/resources/design/designfiles/newdepend2.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.newdepend2"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/nodebugoption.xml b/test/resources/design/designfiles/nodebugoption.xml new file mode 100644 index 0000000..8ab00b7 --- /dev/null +++ b/test/resources/design/designfiles/nodebugoption.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.nodebugoption"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/nojar.xml b/test/resources/design/designfiles/nojar.xml new file mode 100644 index 0000000..cdd0aeb --- /dev/null +++ b/test/resources/design/designfiles/nojar.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.arraydepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/paramdepend.xml b/test/resources/design/designfiles/paramdepend.xml new file mode 100644 index 0000000..4c24f4f --- /dev/null +++ b/test/resources/design/designfiles/paramdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.paramdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/passlocaldepend.xml b/test/resources/design/designfiles/passlocaldepend.xml new file mode 100644 index 0000000..8544ed5 --- /dev/null +++ b/test/resources/design/designfiles/passlocaldepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.passlocaldepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/pathelementpath.xml b/test/resources/design/designfiles/pathelementpath.xml new file mode 100644 index 0000000..84bd103 --- /dev/null +++ b/test/resources/design/designfiles/pathelementpath.xml @@ -0,0 +1,7 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client1" package="mod.putstatic"/> +<package name="client2" package="mod.arraydepend2"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/putstatic.xml b/test/resources/design/designfiles/putstatic.xml new file mode 100644 index 0000000..92464e0 --- /dev/null +++ b/test/resources/design/designfiles/putstatic.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.putstatic"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/recursion.xml b/test/resources/design/designfiles/recursion.xml new file mode 100644 index 0000000..9aedd9e --- /dev/null +++ b/test/resources/design/designfiles/recursion.xml @@ -0,0 +1,6 @@ +<design> + +<package name="temp" package="mod.recursion.rec" subpackages="include"/> +<package name="client" package="mod.recursion.client" depends="temp"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/recursion2.xml b/test/resources/design/designfiles/recursion2.xml new file mode 100644 index 0000000..94b41cd --- /dev/null +++ b/test/resources/design/designfiles/recursion2.xml @@ -0,0 +1,6 @@ +<design> + +<package name="temp" package="mod.recursion2.dependency"/> +<package name="client" package="mod.recursion2.rec" depends="temp" subpackages="include"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/recursion3.xml b/test/resources/design/designfiles/recursion3.xml new file mode 100644 index 0000000..7fef148 --- /dev/null +++ b/test/resources/design/designfiles/recursion3.xml @@ -0,0 +1,5 @@ +<design> + +<package name="recursion" package="mod.recursion3" subpackages="include"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/returnvaldepend.xml b/test/resources/design/designfiles/returnvaldepend.xml new file mode 100644 index 0000000..d1abdab --- /dev/null +++ b/test/resources/design/designfiles/returnvaldepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.returnvaldepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/signatureexceptiondepend.xml b/test/resources/design/designfiles/signatureexceptiondepend.xml new file mode 100644 index 0000000..446333e --- /dev/null +++ b/test/resources/design/designfiles/signatureexceptiondepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.signatureexceptiondepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/staticdepend.xml b/test/resources/design/designfiles/staticdepend.xml new file mode 100644 index 0000000..94e41c8 --- /dev/null +++ b/test/resources/design/designfiles/staticdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.staticdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/staticfield2depend.xml b/test/resources/design/designfiles/staticfield2depend.xml new file mode 100644 index 0000000..69a1e4f --- /dev/null +++ b/test/resources/design/designfiles/staticfield2depend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.staticfield2depend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/staticfielddepend.xml b/test/resources/design/designfiles/staticfielddepend.xml new file mode 100644 index 0000000..d477496 --- /dev/null +++ b/test/resources/design/designfiles/staticfielddepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.staticfielddepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/staticfinaldepend.xml b/test/resources/design/designfiles/staticfinaldepend.xml new file mode 100644 index 0000000..a264547 --- /dev/null +++ b/test/resources/design/designfiles/staticfinaldepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.staticfinaldepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/superdepend.xml b/test/resources/design/designfiles/superdepend.xml new file mode 100644 index 0000000..153ee2b --- /dev/null +++ b/test/resources/design/designfiles/superdepend.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.superdepend"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/warfailure.xml b/test/resources/design/designfiles/warfailure.xml new file mode 100644 index 0000000..daf5368 --- /dev/null +++ b/test/resources/design/designfiles/warfailure.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.warfailure"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/designfiles/warsuccess.xml b/test/resources/design/designfiles/warsuccess.xml new file mode 100644 index 0000000..3e100e9 --- /dev/null +++ b/test/resources/design/designfiles/warsuccess.xml @@ -0,0 +1,6 @@ +<design> + +<package name="dummy" package="mod.dummy"/> +<package name="client" package="mod.warsuccess" depends="dummy"/> + +</design>
\ No newline at end of file diff --git a/test/resources/design/src/mod/arraydepend/ClassDependsOnArray.java b/test/resources/design/src/mod/arraydepend/ClassDependsOnArray.java new file mode 100644 index 0000000..ed4b01c --- /dev/null +++ b/test/resources/design/src/mod/arraydepend/ClassDependsOnArray.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 9, 2005 + */ +package mod.arraydepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnArray { + + public void something() { + Object[] o = new DummyClass[5]; + } +} diff --git a/test/resources/design/src/mod/arraydepend2/ClassDependsOnArray.java b/test/resources/design/src/mod/arraydepend2/ClassDependsOnArray.java new file mode 100644 index 0000000..4d65a7a --- /dev/null +++ b/test/resources/design/src/mod/arraydepend2/ClassDependsOnArray.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 9, 2005 + */ +package mod.arraydepend2; + + + +/** + * + * @author dhiller + */ +public class ClassDependsOnArray { + + public void testArray() throws Exception { + Class c = String[].class; + } +} diff --git a/test/resources/design/src/mod/arraydepend3/ClassDependsOnArray.java b/test/resources/design/src/mod/arraydepend3/ClassDependsOnArray.java new file mode 100644 index 0000000..2ff6d67 --- /dev/null +++ b/test/resources/design/src/mod/arraydepend3/ClassDependsOnArray.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 9, 2005 + */ +package mod.arraydepend3; + +import mod.dummy.DummyClass; + + + +/** + * + * @author dhiller + */ +public class ClassDependsOnArray { + + public void testArray() throws Exception { + Class c = DummyClass[].class; + } +} diff --git a/test/resources/design/src/mod/castdepend/ClassDependsOnCast.java b/test/resources/design/src/mod/castdepend/ClassDependsOnCast.java new file mode 100644 index 0000000..b6ad33a --- /dev/null +++ b/test/resources/design/src/mod/castdepend/ClassDependsOnCast.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.castdepend; + +import mod.dummy.DummyInterface; + +/** + * + * @author dhiller + */ +public class ClassDependsOnCast { + + public void getSomething(Object obj) { + Object o = (DummyInterface)obj; + } +} diff --git a/test/resources/design/src/mod/catchdepend/ClassDependsOnCatch.java b/test/resources/design/src/mod/catchdepend/ClassDependsOnCatch.java new file mode 100644 index 0000000..a103240 --- /dev/null +++ b/test/resources/design/src/mod/catchdepend/ClassDependsOnCatch.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.catchdepend; + +import mod.dummy.DummyRuntimeException; + +/** + * + * @author dhiller + */ +public class ClassDependsOnCatch { + + public void doNothing() { + try { + int x = 0; + int y = x+4; + } catch(DummyRuntimeException e) { + + } + } +} diff --git a/test/resources/design/src/mod/declarejavautil/ClassDependsOnJavaUtil.java b/test/resources/design/src/mod/declarejavautil/ClassDependsOnJavaUtil.java new file mode 100644 index 0000000..077da65 --- /dev/null +++ b/test/resources/design/src/mod/declarejavautil/ClassDependsOnJavaUtil.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 19, 2005 + */ +package mod.declarejavautil; + +import java.util.List; + +/** + * + * @author dhiller + */ +public class ClassDependsOnJavaUtil { + + public List list; +} diff --git a/test/resources/design/src/mod/declarejavax/ClassDependsOnJavax.java b/test/resources/design/src/mod/declarejavax/ClassDependsOnJavax.java new file mode 100644 index 0000000..cd79675 --- /dev/null +++ b/test/resources/design/src/mod/declarejavax/ClassDependsOnJavax.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 19, 2005 + */ +package mod.declarejavax; + +import javax.swing.JButton; + +/** + * + * @author dhiller + */ +public class ClassDependsOnJavax { + + public JButton b = null; + +} diff --git a/test/resources/design/src/mod/dummy/DummyClass.java b/test/resources/design/src/mod/dummy/DummyClass.java new file mode 100644 index 0000000..f2f48df --- /dev/null +++ b/test/resources/design/src/mod/dummy/DummyClass.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.dummy; + +/** + * + * @author dhiller + */ +public class DummyClass { + + public static final String CONSTANT = "asdf"; + public static String staticField = "xxxx"; + + public static String returnSomething() { + return "Xxx"; + } +} diff --git a/test/resources/design/src/mod/dummy/DummyException.java b/test/resources/design/src/mod/dummy/DummyException.java new file mode 100644 index 0000000..3884fc1 --- /dev/null +++ b/test/resources/design/src/mod/dummy/DummyException.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.dummy; + +/** + * + * @author dhiller + */ +public class DummyException extends Exception { + +} diff --git a/test/resources/design/src/mod/dummy/DummyInterface.java b/test/resources/design/src/mod/dummy/DummyInterface.java new file mode 100644 index 0000000..e7432fa --- /dev/null +++ b/test/resources/design/src/mod/dummy/DummyInterface.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.dummy; + +/** + * + * @author dhiller + */ +public interface DummyInterface { + +} diff --git a/test/resources/design/src/mod/dummy/DummyRuntimeException.java b/test/resources/design/src/mod/dummy/DummyRuntimeException.java new file mode 100644 index 0000000..53cb35a --- /dev/null +++ b/test/resources/design/src/mod/dummy/DummyRuntimeException.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.dummy; + +/** + * + * @author dhiller + */ +public class DummyRuntimeException extends RuntimeException { + +} diff --git a/test/resources/design/src/mod/fielddepend/ClassDependsOnField.java b/test/resources/design/src/mod/fielddepend/ClassDependsOnField.java new file mode 100644 index 0000000..226003b --- /dev/null +++ b/test/resources/design/src/mod/fielddepend/ClassDependsOnField.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.fielddepend; + +import mod.dummy.DummyClass; + +/** + * This class depends on a field in another package. + * + * @author dhiller + */ +public class ClassDependsOnField { + + private DummyClass f; +} diff --git a/test/resources/design/src/mod/fieldrefdepend/ClassDependsOnReferenceInFieldDeclaration.java b/test/resources/design/src/mod/fieldrefdepend/ClassDependsOnReferenceInFieldDeclaration.java new file mode 100644 index 0000000..8329bfc --- /dev/null +++ b/test/resources/design/src/mod/fieldrefdepend/ClassDependsOnReferenceInFieldDeclaration.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.fieldrefdepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnReferenceInFieldDeclaration { + + private Class c = DummyClass.class; + +} diff --git a/test/resources/design/src/mod/innerclassdepend/InnerClassDependsOnSuper.java b/test/resources/design/src/mod/innerclassdepend/InnerClassDependsOnSuper.java new file mode 100644 index 0000000..ee882e5 --- /dev/null +++ b/test/resources/design/src/mod/innerclassdepend/InnerClassDependsOnSuper.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.innerclassdepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class InnerClassDependsOnSuper { + + private class Inner extends DummyClass { + + } +} diff --git a/test/resources/design/src/mod/instanceofdepend/ClassDependsOnInstanceOf.java b/test/resources/design/src/mod/instanceofdepend/ClassDependsOnInstanceOf.java new file mode 100644 index 0000000..55a78bb --- /dev/null +++ b/test/resources/design/src/mod/instanceofdepend/ClassDependsOnInstanceOf.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.instanceofdepend; + +import mod.dummy.DummyInterface; + +/** + * + * @author dhiller + */ +public class ClassDependsOnInstanceOf { + + public void getSomething(Object o) { + int x = 0; + if(o instanceof DummyInterface) { + x = 4; + } + } +} diff --git a/test/resources/design/src/mod/interfacedepend/ClassDependsOnInterfaceMod2.java b/test/resources/design/src/mod/interfacedepend/ClassDependsOnInterfaceMod2.java new file mode 100644 index 0000000..6713b1c --- /dev/null +++ b/test/resources/design/src/mod/interfacedepend/ClassDependsOnInterfaceMod2.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.interfacedepend; + +import mod.dummy.DummyInterface; + +/** + * This class depends on an interface in another package creating a dependency + * between packages. + * + * @author dhiller + */ +public class ClassDependsOnInterfaceMod2 implements DummyInterface { + +} diff --git a/test/resources/design/src/mod/localvardepend/ClassDependsOnLocalVar.java b/test/resources/design/src/mod/localvardepend/ClassDependsOnLocalVar.java new file mode 100644 index 0000000..cd177da --- /dev/null +++ b/test/resources/design/src/mod/localvardepend/ClassDependsOnLocalVar.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.localvardepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnLocalVar { + + public String doNothing() { + DummyClass c = null; + + return ""+c; + } +} diff --git a/test/resources/design/src/mod/localvarrefdepend/ClassDependsOnLocalVariableReference.java b/test/resources/design/src/mod/localvarrefdepend/ClassDependsOnLocalVariableReference.java new file mode 100644 index 0000000..8e77433 --- /dev/null +++ b/test/resources/design/src/mod/localvarrefdepend/ClassDependsOnLocalVariableReference.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.localvarrefdepend; + +import mod.dummy.DummyInterface; + +/** + * + * @author dhiller + */ +public class ClassDependsOnLocalVariableReference { + + public void doNothing() { + Class c = DummyInterface.class; + } +} diff --git a/test/resources/design/src/mod/newdepend/ClassDependsOnNew.java b/test/resources/design/src/mod/newdepend/ClassDependsOnNew.java new file mode 100644 index 0000000..efcaa49 --- /dev/null +++ b/test/resources/design/src/mod/newdepend/ClassDependsOnNew.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.newdepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnNew { + + public void doNothing() { + new DummyClass(); + } +} diff --git a/test/resources/design/src/mod/newdepend2/ClassDependsOnNewInField.java b/test/resources/design/src/mod/newdepend2/ClassDependsOnNewInField.java new file mode 100644 index 0000000..d76ade3 --- /dev/null +++ b/test/resources/design/src/mod/newdepend2/ClassDependsOnNewInField.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.newdepend2; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnNewInField { + + public Object o = new DummyClass(); +} diff --git a/test/resources/design/src/mod/nodebugoption/ClassDependsOnLocalVar.java b/test/resources/design/src/mod/nodebugoption/ClassDependsOnLocalVar.java new file mode 100644 index 0000000..bb65e63 --- /dev/null +++ b/test/resources/design/src/mod/nodebugoption/ClassDependsOnLocalVar.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 13, 2005 + */ +package mod.nodebugoption; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnLocalVar { + + public void doSomething() { + DummyClass c = null; + //without debug option enabled, the type DummyClass is lost so we + //must fail with the error saying class wasn't compiled with -g option + //enabled in javac. + } +} diff --git a/test/resources/design/src/mod/paramdepend/ClassDependsOnParameter.java b/test/resources/design/src/mod/paramdepend/ClassDependsOnParameter.java new file mode 100644 index 0000000..12866b1 --- /dev/null +++ b/test/resources/design/src/mod/paramdepend/ClassDependsOnParameter.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.paramdepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnParameter { + + public void setSomething(String dummy, DummyClass c) { + + } +} diff --git a/test/resources/design/src/mod/passlocaldepend/ClassDependsOnClassInSamePackage.java b/test/resources/design/src/mod/passlocaldepend/ClassDependsOnClassInSamePackage.java new file mode 100644 index 0000000..a2ae720 --- /dev/null +++ b/test/resources/design/src/mod/passlocaldepend/ClassDependsOnClassInSamePackage.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 13, 2005 + */ +package mod.passlocaldepend; + +/** + * + * @author dhiller + */ +public class ClassDependsOnClassInSamePackage { + + public void doSomething(FakeClass c) { + + } +} diff --git a/test/resources/design/src/mod/passlocaldepend/FakeClass.java b/test/resources/design/src/mod/passlocaldepend/FakeClass.java new file mode 100644 index 0000000..ed35025 --- /dev/null +++ b/test/resources/design/src/mod/passlocaldepend/FakeClass.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 13, 2005 + */ +package mod.passlocaldepend; + +/** + * + * @author dhiller + */ +public class FakeClass { + +} diff --git a/test/resources/design/src/mod/putstatic/ClassDependsOnNothing.java b/test/resources/design/src/mod/putstatic/ClassDependsOnNothing.java new file mode 100644 index 0000000..fbedddf --- /dev/null +++ b/test/resources/design/src/mod/putstatic/ClassDependsOnNothing.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 13, 2005 + */ +package mod.putstatic; + + +/** + * + * @author dhiller + */ +public class ClassDependsOnNothing { + + private static String s; + public static void setJarLocator(String l) { + s = l; + } +} diff --git a/test/resources/design/src/mod/recursion/client/ClassDependsOnSubPackage.java b/test/resources/design/src/mod/recursion/client/ClassDependsOnSubPackage.java new file mode 100644 index 0000000..ce95d9c --- /dev/null +++ b/test/resources/design/src/mod/recursion/client/ClassDependsOnSubPackage.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 13, 2005 + */ +package mod.recursion.client; + +import mod.recursion.rec.a.FakeClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnSubPackage { + + public FakeClass getSoemthing() { + return null; + } +} diff --git a/test/resources/design/src/mod/recursion/rec/a/FakeClass.java b/test/resources/design/src/mod/recursion/rec/a/FakeClass.java new file mode 100644 index 0000000..ada6615 --- /dev/null +++ b/test/resources/design/src/mod/recursion/rec/a/FakeClass.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 13, 2005 + */ +package mod.recursion.rec.a; + +/** + * + * @author dhiller + */ +public class FakeClass { + +} diff --git a/test/resources/design/src/mod/recursion2/dependency/Dependency.java b/test/resources/design/src/mod/recursion2/dependency/Dependency.java new file mode 100644 index 0000000..dc9b594 --- /dev/null +++ b/test/resources/design/src/mod/recursion2/dependency/Dependency.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 13, 2005 + */ +package mod.recursion2.dependency; + +/** + * + * @author dhiller + */ +public class Dependency { + +} diff --git a/test/resources/design/src/mod/recursion2/rec/client/SubpackageClassDependsOnPackage.java b/test/resources/design/src/mod/recursion2/rec/client/SubpackageClassDependsOnPackage.java new file mode 100644 index 0000000..57dc96a --- /dev/null +++ b/test/resources/design/src/mod/recursion2/rec/client/SubpackageClassDependsOnPackage.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 16, 2005 + */ +package mod.recursion2.rec.client; + +import mod.recursion2.dependency.Dependency; + +/** + * + * @author dhiller + */ +public class SubpackageClassDependsOnPackage { + + public Dependency doNothing() { + return null; + } +} diff --git a/test/resources/design/src/mod/recursion3/client/SubpackageClassDependsOnSubpackage.java b/test/resources/design/src/mod/recursion3/client/SubpackageClassDependsOnSubpackage.java new file mode 100644 index 0000000..64dd1ce --- /dev/null +++ b/test/resources/design/src/mod/recursion3/client/SubpackageClassDependsOnSubpackage.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 16, 2005 + */ +package mod.recursion3.client; + +import mod.recursion3.svc.DependencyClass; + +/** + * + * @author dhiller + */ +public class SubpackageClassDependsOnSubpackage { + + public void doSomething(DependencyClass c) { + + } +} diff --git a/test/resources/design/src/mod/recursion3/svc/DependencyClass.java b/test/resources/design/src/mod/recursion3/svc/DependencyClass.java new file mode 100644 index 0000000..e3bc462 --- /dev/null +++ b/test/resources/design/src/mod/recursion3/svc/DependencyClass.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 16, 2005 + */ +package mod.recursion3.svc; + +/** + * + * @author dhiller + */ +public class DependencyClass { + +} diff --git a/test/resources/design/src/mod/returnvaldepend/ClassDependsOnReturnValue.java b/test/resources/design/src/mod/returnvaldepend/ClassDependsOnReturnValue.java new file mode 100644 index 0000000..61f00ae --- /dev/null +++ b/test/resources/design/src/mod/returnvaldepend/ClassDependsOnReturnValue.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.returnvaldepend; + +import mod.dummy.DummyInterface; + +/** + * + * @author dhiller + */ +public class ClassDependsOnReturnValue { + + public DummyInterface getSomething() { + return null; + } +} diff --git a/test/resources/design/src/mod/signatureexceptiondepend/ClassDependsOnExceptionInMethodSignature.java b/test/resources/design/src/mod/signatureexceptiondepend/ClassDependsOnExceptionInMethodSignature.java new file mode 100644 index 0000000..a235e12 --- /dev/null +++ b/test/resources/design/src/mod/signatureexceptiondepend/ClassDependsOnExceptionInMethodSignature.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.signatureexceptiondepend; + +import mod.dummy.DummyException; + +/** + * + * @author dhiller + */ +public class ClassDependsOnExceptionInMethodSignature { + + public String doNothing() throws DummyException { + return null; + } +} diff --git a/test/resources/design/src/mod/staticdepend/ClassDependsOnStatic.java b/test/resources/design/src/mod/staticdepend/ClassDependsOnStatic.java new file mode 100644 index 0000000..60b1f53 --- /dev/null +++ b/test/resources/design/src/mod/staticdepend/ClassDependsOnStatic.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.staticdepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnStatic { + + public String getSomething() { + return DummyClass.returnSomething(); + } +} diff --git a/test/resources/design/src/mod/staticfield2depend/ClassDependsOnStaticField.java b/test/resources/design/src/mod/staticfield2depend/ClassDependsOnStaticField.java new file mode 100644 index 0000000..6d2a587 --- /dev/null +++ b/test/resources/design/src/mod/staticfield2depend/ClassDependsOnStaticField.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 9, 2005 + */ +package mod.staticfield2depend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnStaticField { + + public static DummyClass x = null; + + +} diff --git a/test/resources/design/src/mod/staticfielddepend/ClassDependsOnStaticField.java b/test/resources/design/src/mod/staticfielddepend/ClassDependsOnStaticField.java new file mode 100644 index 0000000..67f35db --- /dev/null +++ b/test/resources/design/src/mod/staticfielddepend/ClassDependsOnStaticField.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 9, 2005 + */ +package mod.staticfielddepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnStaticField { + + public void doNothing() { + String s = DummyClass.staticField; + } +} diff --git a/test/resources/design/src/mod/staticfinaldepend/ClassDependsOnConstant.java b/test/resources/design/src/mod/staticfinaldepend/ClassDependsOnConstant.java new file mode 100644 index 0000000..6273c9a --- /dev/null +++ b/test/resources/design/src/mod/staticfinaldepend/ClassDependsOnConstant.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 9, 2005 + */ +package mod.staticfinaldepend; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class ClassDependsOnConstant { + + public void doNothing() { + String s = ""+DummyClass.CONSTANT; + } +} diff --git a/test/resources/design/src/mod/superdepend/ClassDependsOnSuperMod2.java b/test/resources/design/src/mod/superdepend/ClassDependsOnSuperMod2.java new file mode 100644 index 0000000..880f757 --- /dev/null +++ b/test/resources/design/src/mod/superdepend/ClassDependsOnSuperMod2.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.superdepend; + +import mod.dummy.DummyClass; + +/** + * This class depends on a superclass in another package creating a dependency + * between packages. + * @author dhiller + */ +public class ClassDependsOnSuperMod2 extends DummyClass { + +} diff --git a/test/resources/design/src/mod/temp/Factory.java b/test/resources/design/src/mod/temp/Factory.java new file mode 100644 index 0000000..a05622e --- /dev/null +++ b/test/resources/design/src/mod/temp/Factory.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Jan 13, 2005 + */ +package mod.temp; + +import mod.dummy.DummyClass; + +/** + * + * @author dhiller + */ +public class Factory { + + public static DummyClass create() { + return new DummyClass(); + } +} diff --git a/test/resources/design/src/mod/warfailure/ClassDependsOnSuperMod2.java b/test/resources/design/src/mod/warfailure/ClassDependsOnSuperMod2.java new file mode 100644 index 0000000..3ee27c7 --- /dev/null +++ b/test/resources/design/src/mod/warfailure/ClassDependsOnSuperMod2.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.warfailure; + +import mod.dummy.DummyClass; + +/** + * This class depends on a superclass in another package creating a dependency + * between packages. + * @author dhiller + */ +public class ClassDependsOnSuperMod2 extends DummyClass { + +} diff --git a/test/resources/design/src/mod/warsuccess/ClassDependsOnSuperMod2.java b/test/resources/design/src/mod/warsuccess/ClassDependsOnSuperMod2.java new file mode 100644 index 0000000..da5e8a2 --- /dev/null +++ b/test/resources/design/src/mod/warsuccess/ClassDependsOnSuperMod2.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2001-2004 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * Created on Dec 29, 2004 + */ +package mod.warsuccess; + +import mod.dummy.DummyClass; + +/** + * This class depends on a superclass in another package creating a dependency + * between packages. + * @author dhiller + */ +public class ClassDependsOnSuperMod2 extends DummyClass { + +} diff --git a/test/resources/design/verifydesign.xml b/test/resources/design/verifydesign.xml new file mode 100644 index 0000000..53d7d17 --- /dev/null +++ b/test/resources/design/verifydesign.xml @@ -0,0 +1,440 @@ +<project name="test_verifydesign" basedir="." default="cleanup"> + <property name="output" value="build"/> + <property name="classes" value="${output}/classes"/> + <property name="jardir" value="${output}/jar"/> + <property name="jar" value="${jardir}/test.jar"/> + <property name="war" value="${jardir}/test.war"/> + <property name="src" value="src"/> + <property name="mod" value="mod"/> + <property name="dummy" value="dummy"/> + <property name="designs" value="designfiles"/> + <property name="webxml" value="web.xml"/> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <target name="cleanup"> + <delete quiet="yes" dir="${output}"/> + </target> + + <target name="init"> + <mkdir dir="${jardir}"/> + </target> + + <target name="templateTest"> + <delete dir="${classes}"/> + <mkdir dir="${classes}"/> + <javac srcdir="${src}" debug="true" destdir="${classes}"> + <include name="${mod}/${dummy}/**"/> + <include name="${mod}/${package.under.test}/**"/> + </javac> + <jar destfile="${jar}" basedir="${classes}"/> + </target> + + <target name="templateWar"> + <delete dir="${classes}"/> + <mkdir dir="${classes}"/> + <javac srcdir="${src}" debug="true" destdir="${classes}"> + <include name="${mod}/${dummy}/**"/> + <include name="${mod}/${package.under.test}/**"/> + </javac> + + <war destfile="${war}" webxml="${webxml}"> + <classes dir="${classes}"/> + </war> + </target> + + <target name="testArrayDepend" depends="init"> + <property name="package" value="arraydepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testArrayDepend2" depends="init"> + <property name="package" value="arraydepend2"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testArrayDepend3" depends="init"> + <property name="package" value="arraydepend3"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testBadXML" depends="init"> + <property name="package" value="badxml"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testCastDepend" depends="init"> + <property name="package" value="castdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testCatchDepend" depends="init"> + <property name="package" value="catchdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testClassFiles" depends="init"> + <property name="package" value="castdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign design="${designs}/${package}.xml"> + <path> + <fileset dir="${classes}"> + <include name="**/*.class"/> + </fileset> + </path> + </verifydesign> + </target> + + <target name="testDeclareJavaUtil" depends="init"> + <property name="package" value="declarejavautil"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testDeclareJavaUtilFail" depends="init"> + <property name="package" value="declarejavautil"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}fail.xml"/> + </target> + + <target name="testDeclareJavax" depends="init"> + <property name="package" value="declarejavax"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testDeclareJavaxPass" depends="init"> + <property name="package" value="declarejavax"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}pass.xml"/> + </target> + + <target name="testFieldDepend" depends="init"> + <property name="package" value="fielddepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testFieldRefDepend" depends="init"> + <property name="package" value="fieldrefdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testInnerClassDepend" depends="init"> + <property name="package" value="innerclassdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testInstanceOfDepend" depends="init"> + <property name="package" value="instanceofdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testInterfaceDepend" depends="init"> + <property name="package" value="interfacedepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testLocalVarDepend" depends="init"> + <property name="package" value="localvardepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testLocalVarRefDepend" depends="init"> + <property name="package" value="localvarrefdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testMissingAttribute" depends="init"> + <property name="package" value="missingattribute"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testMultipleErrors" depends="init"> + <property name="package" value="multipleerrors"/> + + <delete dir="${classes}"/> + <mkdir dir="${classes}"/> + <javac srcdir="${src}" debug="true" destdir="${classes}"> + <include name="${mod}/${dummy}/**"/> + <include name="${mod}/arraydepend/**"/> + <include name="${mod}/castdepend/**"/> + <include name="${mod}/catchdepend/**"/> + </javac> + <jar destfile="${jar}" basedir="${classes}"/> + + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testNewDepend" depends="init"> + <property name="package" value="newdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testNewDepend2" depends="init"> + <property name="package" value="newdepend2"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testNoDebugOption" depends="init"> + <property name="package" value="nodebugoption"/> + + <delete dir="${classes}"/> + <mkdir dir="${classes}"/> + <javac srcdir="${src}" debug="true" destdir="${classes}"> + <include name="${mod}/${dummy}/**"/> + </javac> + <javac srcdir="${src}" debug="false" destdir="${classes}"> + <include name="${mod}/${package}/**"/> + </javac> + + <jar destfile="${jar}" basedir="${classes}"/> + + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testNoJar" depends="init"> + <property name="package" value="nojar"/> + + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testParamDepend" depends="init"> + <property name="package" value="paramdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testPassLocalDepend" depends="init"> + <property name="package" value="passlocaldepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testPathElementLocation" depends="init"> + <property name="package" value="putstatic"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign design="${designs}/${package}.xml"> + <path> + <pathelement location="${classes}"/> + </path> + </verifydesign> + </target> + + <target name="testPathElementPath" depends="init"> + <property name="package" value="pathelementpath"/> + <property name="classes2" value="${output}/classes2"/> + <property name="classes3" value="${output}/classes3"/> + <mkdir dir="${classes}"/> + <mkdir dir="${classes2}"/> + <mkdir dir="${classes3}"/> + + <javac srcdir="${src}" debug="true" destdir="${classes}"> + <include name="${mod}/${dummy}/**"/> + </javac> + + <javac srcdir="${src}" debug="true" destdir="${classes2}" classpath="${classes}"> + <include name="${mod}/putstatic/**"/> + </javac> + + <javac srcdir="${src}" debug="true" destdir="${classes3}" classpath="${classes}"> + <include name="${mod}/arraydepend2/**"/> + </javac> + + <jar destfile="${jar}" basedir="${classes3}"/> + + <verifydesign design="${designs}/${package}.xml"> + <path> + <pathelement path="${classes2}:${jar}:${classes}"/> + </path> + </verifydesign> + </target> + + <target name="testPutStatic" depends="init"> + <property name="package" value="putstatic"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testRecursion" depends="init"> + <property name="package" value="recursion"/> + + <delete dir="${classes}"/> + <mkdir dir="${classes}"/> + <javac srcdir="${src}" debug="true" destdir="${classes}"> + <include name="${mod}/${package}/**"/> + </javac> + + <jar destfile="${jar}" basedir="${classes}"/> + + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testRecursion2" depends="init"> + <property name="package" value="recursion2"/> + + <delete dir="${classes}"/> + <mkdir dir="${classes}"/> + <javac srcdir="${src}" debug="true" destdir="${classes}"> + <include name="${mod}/${package}/**"/> + </javac> + + <jar destfile="${jar}" basedir="${classes}"/> + + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testRecursion3" depends="init"> + <property name="package" value="recursion3"/> + + <delete dir="${classes}"/> + <mkdir dir="${classes}"/> + <javac srcdir="${src}" debug="true" destdir="${classes}"> + <include name="${mod}/${package}/**"/> + </javac> + + <jar destfile="${jar}" basedir="${classes}"/> + + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testReturnValDepend" depends="init"> + <property name="package" value="returnvaldepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testSignatureExceptionDepend" depends="init"> + <property name="package" value="signatureexceptiondepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testStaticDepend" depends="init"> + <property name="package" value="staticdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testStaticField2Depend" depends="init"> + <property name="package" value="staticfield2depend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testStaticFieldDepend" depends="init"> + <property name="package" value="staticfielddepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testStaticFinalDepend" depends="init"> + <property name="package" value="staticfinaldepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml"/> + </target> + + <target name="testSuperDepend" depends="init"> + <property name="package" value="superdepend"/> + <antcall target="templateTest"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${jar}" design="${designs}/${package}.xml" + deletefiles="true"/> + </target> + + <target name="testWarSuccess" depends="init"> + <property name="package" value="warsuccess"/> + <antcall target="templateWar"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${war}" design="${designs}/${package}.xml"/> + </target> + + <target name="testWarFailure" depends="init"> + <property name="package" value="warfailure"/> + <antcall target="templateWar"> + <param name="package.under.test" value="${package}"/> + </antcall> + <verifydesign jar="${war}" design="${designs}/${package}.xml"/> + </target> +</project> diff --git a/test/resources/design/web.xml b/test/resources/design/web.xml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/resources/design/web.xml diff --git a/test/resources/logic/antcallbacktest.xml b/test/resources/logic/antcallbacktest.xml new file mode 100644 index 0000000..7f165c8 --- /dev/null +++ b/test/resources/logic/antcallbacktest.xml @@ -0,0 +1,54 @@ +<?xml version="1.0"?> + +<project name="antcallbacktest" basedir="." default="test1"> + <description> + test build file for the AntCallBack task + </description> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + + <target name="test1"> + <antcallback target="setProperty" return="prop1"/> + </target> + + <target name="test2"> + <antcallback target="setProperties" return="prop1,prop2,prop3"/> + </target> + + <target name="test3"> + <antcallback target="setProperties" return="prop1, prop2, prop3"/> + </target> + + <target name="test4"> + <antcallback target="setTwoProperties" return="prop1, prop2, prop3"/> + </target> + + <target name="test5"> + <!-- the beauty of unit testing is this test for checking that a property + won't get overwritten also revealed that params weren't supported. + AntCallBack is actually based on the ant task, not antcall. --> + <antcallback target="setProperties" return="prop1, prop2, prop3"> + <param name="prop1" value="blah"/> + </antcallback> + </target> + + <target name="setProperty"> + <property name="prop1" value="prop1"/> + </target> + + <target name="setTwoProperties"> + <property name="prop2" value="prop2"/> + <property name="prop3" value="prop3"/> + </target> + + <target name="setProperties"> + <property name="prop1" value="prop1"/> + <property name="prop2" value="prop2"/> + <property name="prop3" value="prop3"/> + </target> + + <target name="setNoProperties"/> +</project> diff --git a/test/resources/logic/asserttest.xml b/test/resources/logic/asserttest.xml new file mode 100644 index 0000000..2e920e2 --- /dev/null +++ b/test/resources/logic/asserttest.xml @@ -0,0 +1,86 @@ +<?xml version="1.0"?> + +<project name="asserttest" basedir="." default="test1"> + <description> + test build file for the Assert task + </description> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + <property name="ant.enable.asserts" value="true"/> + + <target name="test1"> + <property name="testprop" value="true"/> + <assert name="testprop"/> + <assert name="testprop" value="true"/> + </target> + + <target name="test2"> + <assert name="testprop"/> + </target> + + <target name="test3"> + <property name="testprop" value="true"/> + <assert name="testprop" value="12"/> + </target> + + <!-- test boolean conditions --> + <target name="test4"> + <assert> + <bool> + <isgreaterthan arg1="6.02" arg2="4"/> + </bool> + </assert> + <assert> + <bool> + <isgreaterthan arg1="Many" arg2="Less"/> + </bool> + </assert> + </target> + <target name="test5"> + <assert> + <bool> + <islessthan arg1="6.02" arg2="23.456"/> + </bool> + </assert> + <assert> + <bool> + <islessthan arg1="least" arg2="most"/> + </bool> + </assert> + </target> + <target name="test6"> + <property name="testprop" value="false"/> + <assert> + <bool> + <ispropertyfalse property="testprop"/> + </bool> + </assert> + </target> + <target name="test7"> + <property name="testprop" value="no"/> + <assert> + <bool> + <ispropertytrue property="testprop"/> + </bool> + </assert> + </target> + <target name="test8"> + <property name="testprop" value="yes"/> + <assert> + <bool> + <ispropertytrue property="testprop"/> + </bool> + </assert> + </target> + <target name="test9"> + <property name="testprop" value="on"/> + <assert> + <bool> + <ispropertyfalse property="testprop"/> + </bool> + </assert> + </target> + +</project> diff --git a/test/resources/logic/foreach.xml b/test/resources/logic/foreach.xml new file mode 100644 index 0000000..00e8c8a --- /dev/null +++ b/test/resources/logic/foreach.xml @@ -0,0 +1,104 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <target name="setup"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + </target> + + <target name="teardown"> + <delete dir="foreachtest"/> + </target> + + <target name="echo"> + <echo>Called with param: ${param}</echo> + </target> + + <target name="convert-bar" unless="param"> + <property name="param" refid="bar"/> + </target> + + <target name="echoFilename" depends="convert-bar"> + <basename file="${param}" property="param2"/> + <echo>Called with param: ${param2}</echo> + </target> + + <target name="simpleList" depends="setup"> + <foreach list="1,2,3" target="echo" param="param"/> + </target> + + <target name="delimiter" depends="setup"> + <foreach list="1/2/3" target="echo" param="param" delimiter="/"/> + </target> + + <target name="fileset" depends="setup"> + <mkdir dir="foreachtest"/> + <touch file="foreachtest/1"/> + <touch file="foreachtest/2"/> + <touch file="foreachtest/3"/> + <foreach target="echoFilename" param="param"> + <fileset dir="foreachtest"/> + </foreach> + </target> + + <target name="filesetAndList" depends="setup"> + <mkdir dir="foreachtest"/> + <touch file="foreachtest/3"/> + <foreach list="1,2" target="echoFilename" param="param"> + <fileset dir="foreachtest"/> + </foreach> + </target> + + <target name="noList" depends="setup"> + <foreach target="echo" param="param"/> + </target> + + <target name="noTarget" depends="setup"> + <foreach list="1,2,3" param="param"/> + </target> + + <target name="noParam" depends="setup"> + <foreach list="1,2,3" target="echo"/> + </target> + + <target name="nestedParam" depends="setup"> + <foreach list="1" target="echo" param="who-cares"> + <param name="param" value="rincewind"/> + </foreach> + </target> + + <target name="nestedReference" depends="setup"> + <path id="foo"> + <pathelement location="twoflower"/> + </path> + <foreach list="1" target="echoFilename" param="who-cares"> + <reference refid="foo" torefid="bar"/> + </foreach> + </target> + + <target name="path" depends="setup"> + <mkdir dir="foreachtest"/> + <touch file="foreachtest/1"/> + <touch file="foreachtest/2"/> + <touch file="foreachtest/3"/> + <foreach target="echoFilename" param="param"> + <path> + <fileset dir="foreachtest"/> + </path> + </foreach> + </target> + + <target name="pathAndList" depends="setup"> + <mkdir dir="foreachtest"/> + <touch file="foreachtest/3"/> + <foreach list="1,2" target="echoFilename" param="param"> + <path> + <fileset dir="foreachtest"/> + </path> + </foreach> + </target> + +</project>
\ No newline at end of file diff --git a/test/resources/logic/if.xml b/test/resources/logic/if.xml new file mode 100644 index 0000000..f9c23c4 --- /dev/null +++ b/test/resources/logic/if.xml @@ -0,0 +1,146 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <target name="setup"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + </target> + + <target name="noCondition" depends="setup"> + <if> + <then> + <echo>Foo</echo> + </then> + </if> + </target> + + <target name="twoConditions" depends="setup"> + <if> + <isset property="1"/> + <isset property="2"/> + <then> + <echo>Foo</echo> + </then> + </if> + </target> + + <target name="nothingToDo" depends="setup"> + <if> + <isset property="antcontrib.jar"/> + </if> + </target> + + <target name="twoThens" depends="setup"> + <if> + <isset property="antcontrib.jar"/> + <then/> + <then/> + </if> + </target> + + <target name="twoElses" depends="setup"> + <if> + <isset property="antcontrib.jar"/> + <else/> + <else/> + </if> + </target> + + <target name="normalOperation" depends="setup"> + <if> + <isset property="antcontrib.jar"/> + <then> + <echo>In then</echo> + <property name="inner" value="some value"/> + <echo>${inner}</echo> + </then> + <else> + <echo>In else</echo> + </else> + </if> + </target> + + <target name="normalOperation2" depends="setup"> + <if> + <not> + <isset property="antcontrib.jar"/> + </not> + <then> + <echo>In then</echo> + </then> + <else> + <echo>In else</echo> + </else> + </if> + </target> + + <target name="noConditionInElseif" depends="setup"> + <if> + <isset property="1"/> + <elseif> + <then> + <echo>Foo</echo> + </then> + </elseif> + </if> + </target> + + <target name="twoConditionsInElseif" depends="setup"> + <if> + <isset property="1"/> + <elseif> + <isset property="1"/> + <isset property="2"/> + <then> + <echo>Foo</echo> + </then> + </elseif> + </if> + </target> + + <target name="normalOperationElseif" depends="setup"> + <if> + <not> + <isset property="antcontrib.jar"/> + </not> + <then> + <echo>In then</echo> + </then> + <elseif> + <isset property="antcontrib.jar"/> + <then> + <echo>In elseif</echo> + </then> + </elseif> + <else> + <echo>In else-branch</echo> + </else> + </if> + </target> + + <target name="normalOperationElseif2" depends="setup"> + <if> + <not> + <isset property="antcontrib.jar"/> + </not> + <then> + <echo>In then</echo> + </then> + <elseif> + <not> + <isset property="antcontrib.jar"/> + </not> + <then> + <echo>In elseif</echo> + </then> + </elseif> + <else> + <echo>In else-branch</echo> + </else> + </if> + </target> + +</project> diff --git a/test/resources/logic/limittest.xml b/test/resources/logic/limittest.xml new file mode 100644 index 0000000..bd3917f --- /dev/null +++ b/test/resources/logic/limittest.xml @@ -0,0 +1,65 @@ +<?xml version="1.0"?> + +<project name="limittest" basedir="." default="test1"> + <description> + test build file for the Limit task + </description> + + <target name="init"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + </target> + + <target name="test1" depends="init"> + <!-- should stop 'sleep' task, no failure message --> + <limit maxwait="1"> + <sleep seconds="5"/> + <echo>_failed_</echo> + <fail/> + </limit> + </target> + + <property name="ant.enable.asserts" value="true"/> + <target name="test2" depends="init"> + <!-- should not stop 'sleep' task, should print out '_passed_' --> + <stopwatch name="limit"/> + <limit maxwait="5"> + <sleep seconds="1"/> + <echo>_passed_</echo> + </limit> + <stopwatch name="limit" action="total"/> + <assert message="Too much time."> + <bool> + <islessthan arg1="${limit}" arg2="2"/> + </bool> + </assert> + </target> + + <target name="test3" depends="init"> + <!-- test failonerror attribute, build should fail --> + <limit maxwait="3" failonerror="true"> + <fail message="_failed_"/> + </limit> + </target> + + <target name="test4" depends="init"> + <!-- test failonerror attribute, build should not fail --> + <limit maxwait="3"> + <fail message="_failed_"/> + </limit> + </target> + + <target name="test5" depends="init"> + <limit maxwait="1" unit="minute"> + <sleep seconds="65"/> + </limit> + </target> + + <target name="test6" depends="init"> + <limit seconds="6"> + <sleep seconds="7"/> + </limit> + </target> + +</project> diff --git a/test/resources/logic/outofdate.xml b/test/resources/logic/outofdate.xml new file mode 100644 index 0000000..8442152 --- /dev/null +++ b/test/resources/logic/outofdate.xml @@ -0,0 +1,155 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <target name="cleanup"> + <delete quiet="yes" dir="targets"/> + <delete quiet="yes" dir="sources"/> + </target> + + <target name="init"> + <mkdir dir="targets"/> + <mkdir dir="sources"/> + + <touch file="sources/s1" millis="100000"/> + <touch file="targets/t1" millis="100"/> + <touch file="targets/t2" millis="1000000"/> + <path id="sources" path="sources/s1"/> + <path id="targets"> + <fileset dir="targets"/> + </path> + </target> + + <target name="simple" depends="init"> + <outofdate> + <sourcefiles refid="sources"/> + <targetfiles refid="targets"/> + <sequential> + <property name="simple.called" value=""/> + </sequential> + </outofdate> + <fail unless="simple.called">Simple seq not triggered</fail> + </target> + + <target name="verbose" depends="init"> + <outofdate verbose="true"> + <sourcefiles refid="sources"/> + <targetfiles refid="targets"/> + </outofdate> + </target> + + <target name="delete" depends="init"> + <outofdate> + <sourcefiles refid="sources"/> + <targetfiles refid="targets"/> + <deletetargets/> + </outofdate> + <if> + <available file="targets/t1"/> + <then> + <fail>delete failed</fail> + </then> + </if> + <if> + <available file="targets/t2"/> + <else> + <fail>delete too much</fail> + </else> + </if> + </target> + + <target name="delete-all" depends="init"> + <outofdate> + <sourcefiles refid="sources"/> + <targetfiles refid="targets"/> + <deletetargets all="true"/> + </outofdate> + <if> + <available file="targets/t1"/> + <then> + <fail>delete failed</fail> + </then> + </if> + <if> + <available file="targets/t2"/> + <then> + <fail>delete all failed</fail> + </then> + </if> + </target> + + <target name="delete-quiet"> + <outofdate> + <sourcefiles refid="sources"/> + <targetfiles refid="targets"/> + <deletetargets quiet="yes"/> + </outofdate> + </target> + + <target name="outofdate.init"> + <!-- generated --> + <mkdir dir="outofdate/gen/1/2/3"/> + <touch file="outofdate/gen/index.done"/> + <touch file="outofdate/gen/1/2/file.done"/> + <touch file="outofdate/gen/1/done.c"/> + <touch file="outofdate/gen/1/done.h"/> + <touch file="outofdate/gen/1/partial.c"/> + + <!-- sources --> + <mkdir dir="outofdate/source/1/2/3"/> + <touch file="outofdate/source/newer.text"/> + <touch file="outofdate/source/1/2/file.notdone"/> + <touch file="outofdate/source/1/2/file.done"/> + <touch file="outofdate/source/1/done.y"/> + <touch file="outofdate/source/1/partial.y"/> + + </target> + + <target name="outofdate.test" depends="outofdate.init"> + <outofdate + outputsources="outofdate.sources" + outputtargets="outofdate.targets" + alltargets="outofdate.alltargets" + outputsourcespath="outofdate.sources.path" + outputtargetspath="outofdate.targets.path" + > + <sourcefiles> + <fileset dir="outofdate/source"/> + <pathelement path="outofdate.xml"/> + </sourcefiles> + <targetfiles path="outofdate/gen/index.done"/> + <mapper type="glob" from="outofdate/source/1/2/*" + to="outofdate/gen/1/2/*"/> + <mapper type="glob" + from="outofdate/source/*.y" + to="outofdate/gen/*.c"/> + <mapper type="glob" + from="outofdate/source/*.y" + to="outofdate/gen/*.h"/> + <mapper type="glob" + from="outofdate/source/newer.text" + to="outofdate.xml"/> + <sequential> + <echo message="outofdate triggered"/> + </sequential> + </outofdate> + <delete dir="outofdate"/> + </target> + + <target name="empty-sources" depends="init"> + <outofdate> + <sourcefiles/> + <targetfiles path="THIS IS NOT PRESENT"/> + <sequential> + <property name="empty-sources.called" value=""/> + </sequential> + </outofdate> + <fail unless="empty-sources.called">Empty sources seq not triggered</fail> + </target> + +</project> diff --git a/test/resources/logic/switch.xml b/test/resources/logic/switch.xml new file mode 100644 index 0000000..fbf8bef --- /dev/null +++ b/test/resources/logic/switch.xml @@ -0,0 +1,87 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <target name="setup"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + </target> + + <target name="noValue" depends="setup"> + <switch/> + </target> + + <target name="noChildren" depends="setup"> + <switch value="foo"/> + </target> + + <target name="twoDefaults" depends="setup"> + <switch value="foo"> + <default/> + <default/> + </switch> + </target> + + <target name="noMatch" depends="setup"> + <switch value="foo"> + <case value="bar"/> + </switch> + </target> + + <target name="caseNoValue" depends="setup"> + <switch value="foo"> + <case/> + </switch> + </target> + + <target name="testDefault" depends="setup"> + <switch value="foo"> + <case value="bar"> + <echo>In case</echo> + </case> + <default> + <echo>In default</echo> + <property name="inner" value="baz"/> + <echo>${inner}</echo> + </default> + </switch> + </target> + + <target name="testCase" depends="setup"> + <switch value="foo"> + <case value="foo"> + <echo>In case</echo> + <property name="inner" value="baz"/> + <echo>${inner}</echo> + </case> + <default> + <echo>In default</echo> + </default> + </switch> + </target> + + <target name="testCaseSensitive" depends="setup"> + <switch value="FOO"> + <case value="foo"> + <echo>In case</echo> + </case> + <default> + <echo>In default</echo> + </default> + </switch> + </target> + + <target name="testCaseInSensitive" depends="setup"> + <switch value="FOO" caseinsensitive="true"> + <case value="foo"> + <echo>In case</echo> + </case> + <default> + <echo>In default</echo> + </default> + </switch> + </target> + +</project> diff --git a/test/resources/logic/throw.xml b/test/resources/logic/throw.xml new file mode 100644 index 0000000..0bea062 --- /dev/null +++ b/test/resources/logic/throw.xml @@ -0,0 +1,15 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <target name="setup"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + </target> + + <target name="useRefid" depends="setup"> + <throw refid="testref"/> + </target> +</project>
\ No newline at end of file diff --git a/test/resources/logic/timestampselector.xml b/test/resources/logic/timestampselector.xml new file mode 100644 index 0000000..dd92eb3 --- /dev/null +++ b/test/resources/logic/timestampselector.xml @@ -0,0 +1,76 @@ +<project default="init"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <property name="test.dir" value="timestampselector"/> + <property name="test.file1" location="${test.dir}/file1.txt" /> + <property name="test.file2" location="${test.dir}/file2.txt" /> + <property name="test.dir1" location="${test.dir}/dir1" /> + <property name="test.dir2" location="${test.dir}/dir2" /> + + <fileset id="test.files" dir="${test.dir}"> + <include name="*.txt" /> + </fileset> + + <path id="test.files.path"> + <fileset refid="test.files" /> + </path> + + <dirset id="test.dirs" dir="${test.dir}"> + <include name="dir*" /> + </dirset> + + <path id="test.dirs.path"> + <dirset refid="test.dirs" /> + </path> + + <target name="init"> + <delete quiet ="yes" dir="${test.dir}"/> + <mkdir dir="${test.dir}"/> + <touch file="${test.dir}/file1.txt" /> + <touch file="${test.dir}/file2.txt" /> + <mkdir dir="${test.dir}/dir1"/> + <mkdir dir="${test.dir}/dir2"/> + </target> + + <target name="teardown"> + <delete quiet="yes" dir="${test.dir}" /> + </target> + + <target name="filestamp.fl" depends="init"> + <timestampselector property="latest.fl.tstamp"> + <path> + <fileset refid="test.files" /> + </path> + </timestampselector> + + <echo message="${latest.fl.tstamp}" /> + </target> + + <target name="filestamp.pr" depends="init"> + <timestampselector property="latest.pr.tstamp" + pathref="test.files.path" /> + + <echo message="${latest.pr.tstamp}" /> + </target> + + <target name="dirstamp.dl" depends="init"> + <timestampselector property="latest.dl.tstamp"> + <path> + <dirset refid="test.dirs" /> + </path> + </timestampselector> + + <echo message="${latest.dl.tstamp}" /> + + </target> + + <target name="dirstamp.pr" depends="init"> + <timestampselector property="latest.pr.tstamp" + pathref="test.dirs.path" /> + + <echo message="${latest.pr.tstamp}" /> + </target> + +</project> diff --git a/test/resources/logic/trycatch.xml b/test/resources/logic/trycatch.xml new file mode 100644 index 0000000..b8f020d --- /dev/null +++ b/test/resources/logic/trycatch.xml @@ -0,0 +1,108 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <target name="setup"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + </target> + + <target name="fullTest" depends="setup"> + <trycatch property="foo" reference="bar"> + <try> + <fail>Tada!</fail> + </try> + + <catch> + <echo>In <catch>.</echo> + </catch> + + <finally> + <echo>In <finally>.</echo> + </finally> + </trycatch> + </target> + + <target name="twoCatches" depends="setup"> + <trycatch> + <try> + <fail>Tada!</fail> + </try> + + <catch> + <echo>In <catch>.</echo> + </catch> + + <catch> + <echo>In <catch2>.</echo> + </catch> + </trycatch> + </target> + + <target name="twoFinallys" depends="setup"> + <trycatch> + <try> + <fail>Tada!</fail> + </try> + + <finally> + <echo>In <finally>.</echo> + </finally> + + <finally> + <echo>In <finally2>.</echo> + </finally> + </trycatch> + </target> + + <target name="twoTrys" depends="setup"> + <trycatch> + <try> + <fail>Tada!</fail> + </try> + + <try> + <fail>Tada!</fail> + </try> + + <catch> + <echo>In <catch>.</echo> + </catch> + + <finally> + <echo>In <finally>.</echo> + </finally> + </trycatch> + </target> + + <target name="noTry" depends="setup"> + <trycatch> + <catch> + <echo>In <catch>.</echo> + </catch> + + <finally> + <echo>In <finally>.</echo> + </finally> + </trycatch> + </target> + + <target name="noException" depends="setup"> + <trycatch property="foo" reference="bar"> + <try> + <echo>Tada!</echo> + </try> + + <catch> + <echo>In <catch>.</echo> + </catch> + + <finally> + <echo>In <finally>.</echo> + </finally> + </trycatch> + </target> + +</project>
\ No newline at end of file diff --git a/test/resources/math/mathtest.xml b/test/resources/math/mathtest.xml new file mode 100644 index 0000000..df4d731 --- /dev/null +++ b/test/resources/math/mathtest.xml @@ -0,0 +1,22 @@ +<?xml version="1.0"?> + +<project name="mathtest" basedir="." default="test1"> + <description> + test build file for the Math task + </description> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <target name="test1"> + <var name="op1" value="12"/> + <var name="op2" value="6"/> + <var name="op" value="+"/> + + <!-- demo plus --> + <math result="result" operand1="${op1}" + operation="${op}" operand2="${op2}" datatype="int"/> + <echo>${op1} ${op} ${op2} = ${result}</echo> + </target> +</project> diff --git a/test/resources/platform/osfamily.xml b/test/resources/platform/osfamily.xml new file mode 100644 index 0000000..c90b07f --- /dev/null +++ b/test/resources/platform/osfamily.xml @@ -0,0 +1,20 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <target name="consistency"> + <osfamily property="foo"/> + <condition property="consistent"> + <os family="${foo}"/> + </condition> + </target> + + <target name="missingProperty"> + <osfamily/> + </target> +</project> diff --git a/test/resources/platform/shellscript.xml b/test/resources/platform/shellscript.xml new file mode 100644 index 0000000..fc00d91 --- /dev/null +++ b/test/resources/platform/shellscript.xml @@ -0,0 +1,108 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <!-- targets used to check if a shell exists --> + <target name="hassh"> <shellscript shell="sh"/> </target> + <target name="hasbash"> <shellscript shell="bash"/> </target> + <target name="hasperl"> <shellscript shell="perl"/> </target> + <target name="haspython"> <shellscript shell="python"/> </target> + <target name="hassed"> + <!-- Temporary hack, since SED is hanging the tests on windows --> + <fail /> + <shellscript shell="sed"/> + </target> + <target name="hascmd"> + <shellscript shell="cmd.exe" tmpsuffix=".bat"> + <arg value="/C" /> + echo a + </shellscript> + </target> + + <target name="sh.hello"> + <shellscript shell="sh"> + echo "hello world" + </shellscript> + </target> + + <target name="bash.hello"> + <shellscript shell="bash"> + echo "hello world" + </shellscript> + </target> + + <!-- python needs to start on the first col --> + <target name="python.hello"> + <shellscript shell="python"> +print "hello world" + </shellscript> + </target> + + <target name="perl.hello"> + <shellscript shell="perl"> + print STDOUT "hello world\n"; + </shellscript> + </target> + + <target name="noshell"> + <shellscript shell="!!!!^^^a shell that should not exist^^^^^!!!!"/> + </target> + + + <target name="sh.inputstring"> + <shellscript shell="sh" inputstring="echo hello world"/> + </target> + + <target name="sed.test"> + <shellscript shell="sed" > + <arg value="-e"/> + <arg value="s/FOO/BAR/g"/> + FOO bar bar bar FOO bar bar + </shellscript> + </target> + + <target name="sh.property"> + <property name="my.sh.property" value="this is a property"/> + <shellscript executable="sh"> + echo ${my.sh.property} + </shellscript> + </target> + + <target name="sh.set.property"> + <shellscript shell="sh" outputproperty="sh.set.property"> + echo hello world + </shellscript> + </target> + + <target name="sh.tmp.suffix"> + <shellscript shell="sh" tmpsuffix=".bat"> + echo $0 + </shellscript> + </target> + + <target name="cmd.test"> + <shellscript shell="cmd.exe" tmpsuffix=".bat"> + <arg value="/C"/> + <arg value="call"/> + echo hello world + </shellscript> + </target> + + <target name="dir.test"> + <mkdir dir="subdir"/> + <shellscript shell="sh" dir="subdir" outputproperty="dir.test.property"> + current=`pwd` + echo "dir is $current" + </shellscript> + <delete dir="subdir"/> + </target> + + <target name="command.test"> + <shellscript command="this should not work"/> + </target> +</project> diff --git a/test/resources/property/pathtofileset.xml b/test/resources/property/pathtofileset.xml new file mode 100644 index 0000000..b330cdf --- /dev/null +++ b/test/resources/property/pathtofileset.xml @@ -0,0 +1,45 @@ +<project default="simple"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <target name="cleanup"> + <delete quiet ="yes" dir="${test.dir}"/> + </target> + + <target name="init"> + <property name="test.dir" value="pathtofilesset"/> + <mkdir dir="${test.dir}/0/0"/> + <mkdir dir="${test.dir}/0/1"/> + <mkdir dir="${test.dir}/1/0"/> + <mkdir dir="${test.dir}/1/1"/> + <touch file="${test.dir}/0/0/0.java"/> + <touch file="${test.dir}/0/1/1.java"/> + <touch file="${test.dir}/1/0/2.java"/> + <touch file="${test.dir}/1/1/3.java"/> + </target> + + <target name="simple" depends="init"> + <path id="simple"> + <fileset dir="${test.dir}/0" includes="**/*.java"/> + <fileset dir="${test.dir}/1" includes="**/*.java"/> + </path> + <pathtofileset dir="${test.dir}/0" pathrefid="simple" + ignoreNonRelative="yes" name="simple.0.fileset"/> + <pathconvert targetos="unix" refid="simple.0.fileset" property="simple.0.property"/> + + <pathtofileset dir="${test.dir}/1" pathrefid="simple" + ignoreNonRelative="yes" name="simple.1.fileset"/> + <pathconvert targetos="unix" refid="simple.1.fileset" property="simple.1.property"/> + </target> + + <target name="simple-exception" depends="init"> + <path id="simple"> + <fileset dir="${test.dir}/0" includes="**/*.java"/> + <fileset dir="${test.dir}/1" includes="**/*.java"/> + </path> + <pathtofileset dir="${test.dir}/0" pathrefid="simple" + name="simple.0.fileset"/> + </target> + +</project> diff --git a/test/resources/property/propertycopy.xml b/test/resources/property/propertycopy.xml new file mode 100644 index 0000000..9425416 --- /dev/null +++ b/test/resources/property/propertycopy.xml @@ -0,0 +1,33 @@ +<project default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <target name="setup"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + </target> + + <target name="missingName" depends="setup"> + <propertycopy from="foo"/> + </target> + + <target name="missingFrom" depends="setup"> + <propertycopy name="foo"/> + </target> + + <target name="nonSilent" depends="setup"> + <propertycopy name="foo" from="bar"/> + </target> + + <target name="silent" depends="setup"> + <propertycopy name="foo" from="bar" silent="true"/> + </target> + + <target name="normal" depends="setup"> + <property name="org" value="MyOrg" /> + <property name="org.MyOrg.DisplayName" value="My Organiziation" /> + <propertycopy name="displayName" from="org.${org}.DisplayName" /> + </target> +</project>
\ No newline at end of file diff --git a/test/resources/property/propertyselector.properties b/test/resources/property/propertyselector.properties new file mode 100644 index 0000000..8df9c0e --- /dev/null +++ b/test/resources/property/propertyselector.properties @@ -0,0 +1,7 @@ +#Module 1 Properties +module.Module1.id=1 +module.Module1.name=Module 1 + +#Module 2 Properties +module.Module2.id=2 +module.Module2.name=Module 2 diff --git a/test/resources/property/propertyselector.xml b/test/resources/property/propertyselector.xml new file mode 100644 index 0000000..d03eea0 --- /dev/null +++ b/test/resources/property/propertyselector.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="Project" default="build" basedir="."> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties" /> + + <property file="propertyselector.properties" /> + + <target name="init"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + <property file="propertyselector.properties" /> + </target> + + <target name="select.test.grouping.0" depends="init"> + <propertyselector property="module.list" + match="module\.([^\.]*)\.id" + delimiter="," + casesensitive="false" /> + + <echo message="${module.list}" /> + </target> + + <target name="select.test.grouping.1" depends="init"> + <propertyselector property="module.list" + match="module\.([^\.]*)\.id" + select="\1" + delimiter="," + casesensitive="false" /> + + <echo message="${module.list}" /> + </target> + +</project> diff --git a/test/resources/property/variabletest.xml b/test/resources/property/variabletest.xml new file mode 100644 index 0000000..534743e --- /dev/null +++ b/test/resources/property/variabletest.xml @@ -0,0 +1,82 @@ +<?xml version="1.0"?> + +<project name="variabletest" basedir="." default="test1"> + <description> + test build file for the Variable task + </description> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <!-- use like a standard property --> + <target name="test1"> + <var name="x" value="6" /> + </target> + + <!-- use like a standard property --> + <target name="test2"> + <var name="x" value="12" /> + </target> + + <!-- can append to itself --> + <target name="test3"> + <var name="x" value="12" /> + <var name="x" value="6 + ${x}" /> <!-- 6 + 12 --> + </target> + + <!-- property can't override --> + <target name="test4"> + <var name="x" value="6" /> + <property name="x" value="12" /> + </target> + + <!-- can append multiple times --> + <target name="test5"> + <var name="str" value="I" /> + <var name="str" value="${str} am" /> + <var name="str" value="${str} a" /> + <var name="str" value="${str} string." /> + <!-- I am a string. --> + </target> + + <!-- property can't override --> + <target name="test6"> + <var name="x" value="blue" /> + <tstamp> + <format property="x" pattern="EEEE" /> + </tstamp> + <var name="x" value="Today is ${x}."/> + <!-- Today is blue. --> + </target> + + <!-- can override property --> + <target name="test7"> + <property name="x" value="12" /> + <var name="x" value="6" /> + </target> + + <!-- TODO: uses the Antelope <if>, need to adjust to use ant-contrib <if> + <target name="test8"> + <var name="x" value="6"/> + <if name="x" value="6"> + <var name="x" value="12"/> + <else> + <var name="x" value="13"/> + </else> + </if> + <echo>${x}</echo> + </target> + --> + + <target name="test9"> + <property name="i" value="2"/> + <var name="i" unset="true"/> + </target> + + <target name="test10"> + <var name="x" value="test"/> + <var name="x" unset="true"/> + <property name="x" value="xxx"/> + </target> +</project> diff --git a/test/resources/walls/compilewithwalls.xml b/test/resources/walls/compilewithwalls.xml new file mode 100644 index 0000000..6298d76 --- /dev/null +++ b/test/resources/walls/compilewithwalls.xml @@ -0,0 +1,237 @@ +<project name="test_compilewithwalls" basedir="." default="cleanup"> + <property name="test.dir" value="compilewithwalls"/> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + + <target name="cleanup"> + <delete quiet="yes" dir="${test.dir}"/> + </target> + + <target name="init"> + </target> + + <target name="testTooManyNestedWallElements" depends="init"> + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <walls /> + <walls /> + <javac /> + </compilewithwalls> + </target> + + <target name="testTooManyNestedJavacElements" depends="init"> + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <walls /> + <javac /> + <javac /> + </compilewithwalls> + </target> + + <target name="testNoWallElement" depends="init"> + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <javac /> + </compilewithwalls> + </target> + + <target name="testNoJavacElement" depends="init"> + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <walls /> + </compilewithwalls> + </target> + + <target name="testNoSrcDirInJavac" depends="init"> + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <walls> + <package name="modA" package="biz.xsoftware" /> + </walls> + + <javac> + </javac> + </compilewithwalls> + </target> + + <target name="testIntermediaryDirAndDestDirSame" depends="init"> + <mkdir dir="${test.dir}/dir1" /> + <compilewithwalls intermediaryBuildDir="${test.dir}/dir1"> + <walls> + </walls> + + <javac srcdir="${test.dir}/dir1" destdir="${test.dir}/dir1"> + </javac> + </compilewithwalls> + </target> + + <target name="testIntermediaryDirInsideDestDir" depends="init"> + <mkdir dir="${test.dir}/dir1" /> + <compilewithwalls intermediaryBuildDir="${test.dir}/dir1/insideDestDir"> + <walls> + </walls> + + <javac srcdir="${test.dir}/dir1" destdir="${test.dir}/dir1"> + </javac> + </compilewithwalls> + </target> + + <target name="testPackageDoesntEndWithStar" depends="init"> + <mkdir dir="${test.dir}/dir1" /> + + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <walls> + <package name="modA" package="biz.xsoftware" /> + </walls> + + <javac srcdir="${test.dir}/dir1" destdir="${test.dir}/dir1"> + </javac> + </compilewithwalls> + + </target> + + <target name="testPackageDoesntHaveSlash" depends="init"> + <mkdir dir="${test.dir}/dir1" /> + + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <walls> + <package name="modA" package="biz/xsoftware.*" /> + </walls> + + <javac srcdir="${test.dir}/dir1" destdir="${test.dir}/dir1"> + </javac> + </compilewithwalls> + </target> + + <target name="testDependsOnNonExistPackage" depends="init"> + <mkdir dir="${test.dir}/dir1" /> + + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <walls> + <package name="modA" + package="biz.xsoftware.*" + depends="modB" /> + </walls> + + <javac srcdir="${test.dir}/dir1" destdir="${test.dir}/dir1"> + </javac> + </compilewithwalls> + + </target> + + <target name="testDependsOnPackageAfter" depends="init"> + <mkdir dir="${test.dir}/dir1" /> + + <compilewithwalls intermediaryBuildDir="${test.dir}/dir2"> + <walls> + <package name="modA" + package="biz.xsoftware.*" + depends="modB" /> + <package name="modB" + package="biz.xsoftware.something.*" /> + </walls> + + <javac srcdir="${test.dir}/dir1" destdir="${test.dir}/dir1"> + </javac> + </compilewithwalls> + + </target> + + <target name="testPackageABreakingWhenAIsCompiledFirst" depends="init"> + <mkdir dir="${test.dir}/classes/testA" /> + <compilewithwalls intermediaryBuildDir="${test.dir}/classes/testAtemp"> + <walls> + <package name="modA" + package="mod.modA.*" /> + <package name="modB" + package="mod.modB.*" /> + <package name="mod" + package="mod.*" + depends="modA,modB" /> + </walls> + + <javac srcdir="./testA" destdir="${test.dir}/classes/testA"> + </javac> + </compilewithwalls> + + </target> + + <target name="testPackageBBreakingWhenAIsCompiledFirst" depends="init"> + <mkdir dir="${test.dir}/classes/testB" /> + <compilewithwalls intermediaryBuildDir="${test.dir}/classes/testBtemp"> + <walls> + <package name="modA" + package="mod.modA.*" /> + <package name="modB" + package="mod.modB.*" /> + <package name="mod" + package="mod.*" + depends="modA,modB" /> + </walls> + + <javac srcdir="./testB" destdir="${test.dir}/classes/testB"> + </javac> + </compilewithwalls> + + </target> + + <target name="testMoreThanOneSrcDirInJavac" depends="init"> + <mkdir dir="${test.dir}/classes/testX" /> + <compilewithwalls intermediaryBuildDir="${test.dir}/classes/testXtemp"> + <walls/> + <javac destdir="${test.dir}/classes/testX"> + <src path="${test.dir}/dir1"> + </src> + <src path="xyz"> + </src> + </javac> + </compilewithwalls> + </target> + + <target name="testCompileOfAllUsingDepends" depends="init"> + <mkdir dir="${test.dir}/classes/testC" /> + <compilewithwalls intermediaryBuildDir="${test.dir}/classes/testCtemp"> + <walls> + <package name="modA" + package="mod.modA.*" /> + <package name="modB" + package="mod.modB.*" /> + <package name="mod" + package="mod.*" + depends="modA,modB" /> + </walls> + + <javac srcdir="./testC" destdir="${test.dir}/classes/testC"> + </javac> + </compilewithwalls> + + </target> + +<!-- +********************************************************* + These are mostly the same tests above but making sure it works with + external walls.xml file. +********************************************************* +--> + <target name="testDependsOnPackageAfterExternalWalls" depends="init"> + <mkdir dir="${test.dir}/dir1" /> + <compilewithwalls walls="dependsafter.xml" intermediaryBuildDir="${test.dir}/dir2"> + <javac srcdir="${test.dir}/dir1" destdir="${test.dir}/dir1"> + </javac> + </compilewithwalls> + </target> + + <target name="testPackageBBreakingWhenAIsCompiledFirstExternalWalls" depends="init"> + <mkdir dir="${test.dir}/classes/testB" /> + <compilewithwalls walls="packageB-break.xml" intermediaryBuildDir="${test.dir}/classes/testBtemp"> + <javac srcdir="./testB" destdir="${test.dir}/classes/testB"> + </javac> + </compilewithwalls> + </target> + + <target name="testCompileOfAllUsingDependsExternalWalls" depends="init"> + <mkdir dir="${test.dir}/classes/testC" /> + <compilewithwalls walls="walls.xml" intermediaryBuildDir="${test.dir}/classes/testCtemp"> + <javac srcdir="./testC" destdir="${test.dir}/classes/testC"> + </javac> + </compilewithwalls> + </target> + +</project> diff --git a/test/resources/walls/dependsafter.xml b/test/resources/walls/dependsafter.xml new file mode 100644 index 0000000..30aac80 --- /dev/null +++ b/test/resources/walls/dependsafter.xml @@ -0,0 +1,7 @@ + <walls> + <package name="modA" + package="biz.xsoftware.*" + depends="modB" /> + <package name="modB" + package="biz.xsoftware.something.*" /> + </walls>
\ No newline at end of file diff --git a/test/resources/walls/packageB-break.xml b/test/resources/walls/packageB-break.xml new file mode 100644 index 0000000..4fa8bb3 --- /dev/null +++ b/test/resources/walls/packageB-break.xml @@ -0,0 +1,9 @@ +<walls> + <package name="modA" + package="mod.modA.*" /> + <package name="modB" + package="mod.modB.*" /> + <package name="mod" + package="mod.*" + depends="modA,modB" /> +</walls>
\ No newline at end of file diff --git a/test/resources/walls/testA/mod/modA/ModuleA.java b/test/resources/walls/testA/mod/modA/ModuleA.java new file mode 100644 index 0000000..6950bdc --- /dev/null +++ b/test/resources/walls/testA/mod/modA/ModuleA.java @@ -0,0 +1,10 @@ + +package mod.modA; + +import mod.modB.ModuleB; + +public class ModuleA +{ + private ModuleB moduleB; + +};
\ No newline at end of file diff --git a/test/resources/walls/testA/mod/modB/ModuleB.java b/test/resources/walls/testA/mod/modB/ModuleB.java new file mode 100644 index 0000000..10175b5 --- /dev/null +++ b/test/resources/walls/testA/mod/modB/ModuleB.java @@ -0,0 +1,6 @@ + +package mod.modB; + +public class ModuleB +{ +};
\ No newline at end of file diff --git a/test/resources/walls/testB/mod/modA/TestBModuleA.java b/test/resources/walls/testB/mod/modA/TestBModuleA.java new file mode 100644 index 0000000..b6b7929 --- /dev/null +++ b/test/resources/walls/testB/mod/modA/TestBModuleA.java @@ -0,0 +1,7 @@ + +package mod.modA; + +public class TestBModuleA +{ + +};
\ No newline at end of file diff --git a/test/resources/walls/testB/mod/modB/TestBModuleB.java b/test/resources/walls/testB/mod/modB/TestBModuleB.java new file mode 100644 index 0000000..c7428ff --- /dev/null +++ b/test/resources/walls/testB/mod/modB/TestBModuleB.java @@ -0,0 +1,9 @@ + +package mod.modB; + +import mod.modA.TestBModuleA; + +public class TestBModuleB +{ + private TestBModuleA temp; +};
\ No newline at end of file diff --git a/test/resources/walls/testC/mod/TestCModule.java b/test/resources/walls/testC/mod/TestCModule.java new file mode 100644 index 0000000..5d9c0e8 --- /dev/null +++ b/test/resources/walls/testC/mod/TestCModule.java @@ -0,0 +1,11 @@ + +package mod; + +import mod.modA.TestCModuleA; +import mod.modB.TestCModuleB; + +public class TestCModule +{ + private TestCModuleA temp1; + private TestCModuleB temp2; +};
\ No newline at end of file diff --git a/test/resources/walls/testC/mod/modA/TestCModuleA.java b/test/resources/walls/testC/mod/modA/TestCModuleA.java new file mode 100644 index 0000000..8b9f8d6 --- /dev/null +++ b/test/resources/walls/testC/mod/modA/TestCModuleA.java @@ -0,0 +1,7 @@ + +package mod.modA; + +public class TestCModuleA +{ + +};
\ No newline at end of file diff --git a/test/resources/walls/testC/mod/modB/TestCModuleB.java b/test/resources/walls/testC/mod/modB/TestCModuleB.java new file mode 100644 index 0000000..989ebdf --- /dev/null +++ b/test/resources/walls/testC/mod/modB/TestCModuleB.java @@ -0,0 +1,7 @@ + +package mod.modB; + + +public class TestCModuleB +{ +};
\ No newline at end of file diff --git a/test/resources/walls/walls.xml b/test/resources/walls/walls.xml new file mode 100644 index 0000000..d5ca6b8 --- /dev/null +++ b/test/resources/walls/walls.xml @@ -0,0 +1,9 @@ +<walls> + <package name="modA" + package="mod.modA.*" /> + <package name="modB" + package="mod.modB.*" /> + <package name="mod" + package="mod.*" + depends="modA,modB" /> +</walls>
\ No newline at end of file |