You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.9 KiB
111 lines
3.9 KiB
<project name="SpockExample" basedir="." default="test" xmlns:artifact="urn:maven-artifact-ant">
|
|
<property name="src.dir" location="src/test/groovy" />
|
|
<property name="resource.dir" location="src/test/resources" />
|
|
<property name="build.dir" location="ant/build" />
|
|
<property name="lib.dir" location="ant/lib" />
|
|
<property name="maven.ant.tasks.url" value="http://www.apache.org/dist/maven/binaries/maven-ant-tasks-2.1.3.jar" />
|
|
<property name="maven.ant.tasks.jar" value="${lib.dir}${file.separator}maven-ant-tasks-2.1.3.jar" />
|
|
<available property="maven.ant.tasks.jar.exists" file="${maven.ant.tasks.jar}" />
|
|
|
|
<target name="bootstrap.maven.tasks" unless="maven.ant.tasks.jar.exists">
|
|
<mkdir dir="${lib.dir}" />
|
|
<get
|
|
src="${maven.ant.tasks.url}"
|
|
dest="${maven.ant.tasks.jar}" />
|
|
</target>
|
|
|
|
<target name="init.maven.tasks" depends="bootstrap.maven.tasks">
|
|
<typedef
|
|
resource="org/apache/maven/artifact/ant/antlib.xml"
|
|
uri="urn:maven-artifact-ant"
|
|
classpath="${maven.ant.tasks.jar}" />
|
|
</target>
|
|
|
|
<target name="resolve.dependencies" depends="init.maven.tasks">
|
|
<artifact:dependencies pathId="classpath.spock">
|
|
<!-- Mandatory dependencies for using Spock -->
|
|
<dependency
|
|
groupId="org.spockframework"
|
|
artifactId="spock-core"
|
|
version="1.0-groovy-2.0-SNAPSHOT" />
|
|
<!-- Optional dependencies for using Spock -->
|
|
<!-- enables mocking of classes (in addition to interfaces) -->
|
|
<dependency
|
|
groupId="cglib"
|
|
artifactId="cglib-nodep"
|
|
version="2.2.2" />
|
|
<!-- enables mocking of classes without parameterless constructor (together with CGLIB) -->
|
|
<dependency
|
|
groupId="org.objenesis"
|
|
artifactId="objenesis"
|
|
version="1.2" />
|
|
<!-- only required if Spock's Ant selector is used, which finds spec classes regardless of their name -->
|
|
<dependency
|
|
groupId="org.ow2.asm"
|
|
artifactId="asm"
|
|
version="4.0" />
|
|
<!-- only required if Hamcrest matchers are used -->
|
|
<dependency
|
|
groupId="org.hamcrest"
|
|
artifactId="hamcrest-core"
|
|
version="1.3" />
|
|
<!-- Dependencies used by examples in this project (not required for using Spock) -->
|
|
<dependency
|
|
groupId="com.h2database"
|
|
artifactId="h2"
|
|
version="1.3.168" />
|
|
<remoteRepository
|
|
id="maven-central"
|
|
url="http://repo1.maven.org/maven2/" />
|
|
<!-- Only required if a snapshot version of Spock is used -->
|
|
<remoteRepository
|
|
id="spock-snapshots"
|
|
url="http://oss.sonatype.org/content/repositories/snapshots/" />
|
|
</artifact:dependencies>
|
|
</target>
|
|
|
|
<target name="init.groovy.tasks" depends="resolve.dependencies">
|
|
<!-- Using the Groovy compiler from classpath.spock is a simple and safe setup -->
|
|
<taskdef
|
|
name="groovyc"
|
|
classname="org.codehaus.groovy.ant.Groovyc"
|
|
classpathref="classpath.spock" />
|
|
</target>
|
|
|
|
<target name="init" depends="init.groovy.tasks">
|
|
<tstamp />
|
|
<mkdir dir="${build.dir}" />
|
|
</target>
|
|
|
|
<target name="copy.resources" depends="init">
|
|
<copy todir="${build.dir}">
|
|
<fileset dir="${resource.dir}" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="compile" depends="copy.resources">
|
|
<groovyc
|
|
srcdir="${src.dir}"
|
|
destdir="${build.dir}"
|
|
classpathref="classpath.spock" />
|
|
</target>
|
|
|
|
<target name="test" depends="compile">
|
|
<junit fork="true" forkmode="once">
|
|
<classpath path="${build.dir}" />
|
|
<classpath refid="classpath.spock" />
|
|
<batchtest>
|
|
<fileset dir="${build.dir}">
|
|
<custom
|
|
classname="org.spockframework.buildsupport.ant.SpecClassFileSelector"
|
|
classpathref="classpath.spock" />
|
|
</fileset>
|
|
</batchtest>
|
|
<formatter type="brief" usefile="false" />
|
|
</junit>
|
|
</target>
|
|
|
|
<target name="clean">
|
|
<delete dir="${build.dir}" />
|
|
</target>
|
|
</project> |