mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Update `spring-boot-smoke-test-ant` so that the ant lib folder is always cleaned. Prior to this commit, it was possible for the folder to contain stale artifacts.
76 lines
2.7 KiB
XML
76 lines
2.7 KiB
XML
<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}/build/ant/lib" />
|
|
<property name="start-class" value="smoketest.ant.SampleAntApplication" />
|
|
|
|
<target name="clean-ivy-cache">
|
|
<ivy:cleancache />
|
|
</target>
|
|
|
|
<target name="resolve" depends="clean-ivy-cache" 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" includeantruntime="false" source="8" target="8" compiler="javac1.8"/>
|
|
</target>
|
|
|
|
<target name="clean" description="cleans all created files/dirs">
|
|
<delete dir="target" />
|
|
<delete dir="${lib.dir}" />
|
|
</target>
|
|
|
|
<target name="build" depends="compile">
|
|
<delete file="build/ant/libs/${ant.project.name}.jar"/>
|
|
<spring-boot:exejar destfile="build/ant/libs/${ant.project.name}.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>
|