mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Previously, the project version was included in the name of the Ant-built jar and the integration test assumed that there would be a single jar in the output directory. This assumption did not hold true if the project's version had changed and the project had been built again without a clean. This resulted in two jars, one for the previous version and one for the current version, in the output directory. This caused a test failure. This commit updates the build.xml to remove the version from the name of the Ant-built jar and updates the integration test to find it. Closes gh-22782
69 lines
2.5 KiB
XML
69 lines
2.5 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="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" includeantruntime="false" source="8" target="8" compiler="javac1.8"/>
|
|
</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}.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>
|