|
|
|
<project
|
|
|
|
xmlns:ivy="antlib:org.apache.ivy.ant"
|
|
|
|
xmlns:spring-boot="antlib:org.springframework.boot.ant"
|
|
|
|
name="spring-boot-smoke-test-ant"
|
|
|
|
default="build">
|
|
|
|
|
|
|
|
<description>
|
|
|
|
Sample ANT build script for a Spring Boot executable JAR project. Uses ivy for
|
|
|
|
dependency management and spring-boot-antlib for additional tasks. Run with
|
|
|
|
'$ ant -lib ivy-2.2.jar spring-boot-antlib.jar' (substitute the location of your
|
|
|
|
actual jars). Run with '$ java -jar target/*.jar'.
|
|
|
|
</description>
|
|
|
|
|
|
|
|
<property name="lib.dir" location="${basedir}/target/lib" />
|
|
|
|
<property name="start-class" value="smoketest.ant.SampleAntApplication" />
|
|
|
|
|
|
|
|
<target name="resolve" description="--> retrieve dependencies with ivy">
|
|
|
|
<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact]-[type]-[revision].[ext]" />
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="classpaths" depends="resolve">
|
|
|
|
<path id="compile.classpath">
|
|
|
|
<fileset dir="${lib.dir}/compile" includes="*.jar" />
|
|
|
|
</path>
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="init" depends="classpaths">
|
|
|
|
<mkdir dir="build/ant/classes" />
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="compile" depends="init" description="compile">
|
|
|
|
<javac srcdir="src/main/java" destdir="build/ant/classes" classpathref="compile.classpath" fork="true" />
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="clean" description="cleans all created files/dirs">
|
|
|
|
<delete dir="target" />
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="build" depends="compile">
|
|
|
|
<spring-boot:exejar destfile="build/ant/libs/${ant.project.name}-${ant-spring-boot.version}.jar" classes="build/ant/classes">
|
|
|
|
<spring-boot:lib>
|
|
|
|
<fileset dir="${lib.dir}/runtime" />
|
|
|
|
</spring-boot:lib>
|
|
|
|
</spring-boot:exejar>
|
|
|
|
</target>
|
|
|
|
<!-- Manual equivalent of the build target -->
|
|
|
|
<target name="manual" depends="compile">
|
|
|
|
<jar destfile="target/${ant.project.name}-${ant-spring-boot.version}.jar" compress="false">
|
|
|
|
<mappedresources>
|
|
|
|
<fileset dir="build/ant/classes" />
|
|
|
|
<globmapper from="*" to="BOOT-INF/classes/*"/>
|
|
|
|
</mappedresources>
|
|
|
|
<mappedresources>
|
|
|
|
<fileset dir="src/main/resources" erroronmissingdir="false"/>
|
|
|
|
<globmapper from="*" to="BOOT-INF/classes/*"/>
|
|
|
|
</mappedresources>
|
|
|
|
<mappedresources>
|
|
|
|
<fileset dir="${lib.dir}/runtime" />
|
|
|
|
<globmapper from="*" to="BOOT-INF/lib/*"/>
|
|
|
|
</mappedresources>
|
|
|
|
<zipfileset src="${lib.dir}/loader/spring-boot-loader-jar-${ant-spring-boot.version}.jar" />
|
|
|
|
<manifest>
|
|
|
|
<attribute name="Main-Class" value="org.springframework.boot.loader.JarLauncher" />
|
|
|
|
<attribute name="Start-Class" value="${start-class}" />
|
|
|
|
</manifest>
|
|
|
|
</jar>
|
|
|
|
</target>
|
|
|
|
</project>
|