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.
469 lines
15 KiB
469 lines
15 KiB
<?xml version="1.0" encoding="UTF-8"?> |
|
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|
<modelVersion>4.0.0</modelVersion> |
|
<parent> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-parent</artifactId> |
|
<version>${revision}</version> |
|
<relativePath>../spring-boot-parent</relativePath> |
|
</parent> |
|
<artifactId>spring-boot-cli</artifactId> |
|
<name>Spring Boot CLI</name> |
|
<description>Spring Boot CLI</description> |
|
<properties> |
|
<main.basedir>${basedir}/../..</main.basedir> |
|
<start-class>org.springframework.boot.cli.SpringCli</start-class> |
|
<spring.profiles.active>default</spring.profiles.active> |
|
<generated.pom.dir>${project.build.directory}/generated-resources/org/springframework/boot/cli/compiler/dependencies</generated.pom.dir> |
|
</properties> |
|
<scm> |
|
<url>${git.url}</url> |
|
<connection>${git.connection}</connection> |
|
<developerConnection>${git.developerConnection}</developerConnection> |
|
</scm> |
|
<dependencies> |
|
<!-- Compile --> |
|
<dependency> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-loader-tools</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>com.vaadin.external.google</groupId> |
|
<artifactId>android-json</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>jline</groupId> |
|
<artifactId>jline</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>net.sf.jopt-simple</groupId> |
|
<artifactId>jopt-simple</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.codehaus.groovy</groupId> |
|
<artifactId>groovy</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.sonatype.plexus</groupId> |
|
<artifactId>plexus-sec-dispatcher</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.sonatype.sisu</groupId> |
|
<artifactId>sisu-inject-plexus</artifactId> |
|
<exclusions> |
|
<exclusion> |
|
<groupId>org.sonatype.sisu</groupId> |
|
<artifactId>sisu-inject-bean</artifactId> |
|
</exclusion> |
|
<exclusion> |
|
<groupId>javax.enterprise</groupId> |
|
<artifactId>cdi-api</artifactId> |
|
</exclusion> |
|
</exclusions> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.springframework</groupId> |
|
<artifactId>spring-core</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.springframework.security</groupId> |
|
<artifactId>spring-security-crypto</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.httpcomponents</groupId> |
|
<artifactId>httpclient</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.maven</groupId> |
|
<artifactId>maven-model</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.maven</groupId> |
|
<artifactId>maven-settings-builder</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.maven</groupId> |
|
<artifactId>maven-resolver-provider</artifactId> |
|
<exclusions> |
|
<exclusion> |
|
<groupId>com.google.guava</groupId> |
|
<artifactId>guava</artifactId> |
|
</exclusion> |
|
</exclusions> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.maven.resolver</groupId> |
|
<artifactId>maven-resolver-connector-basic</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.maven.resolver</groupId> |
|
<artifactId>maven-resolver-impl</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.maven.resolver</groupId> |
|
<artifactId>maven-resolver-transport-file</artifactId> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.maven.resolver</groupId> |
|
<artifactId>maven-resolver-transport-http</artifactId> |
|
<exclusions> |
|
<exclusion> |
|
<artifactId>jcl-over-slf4j</artifactId> |
|
<groupId>org.slf4j</groupId> |
|
</exclusion> |
|
</exclusions> |
|
</dependency> |
|
<!-- Provided --> |
|
<dependency> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-dependencies</artifactId> |
|
<type>effective-pom</type> |
|
<scope>provided</scope> |
|
<version>${project.version}</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.codehaus.groovy</groupId> |
|
<artifactId>groovy-templates</artifactId> |
|
<scope>provided</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot</artifactId> |
|
<scope>provided</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.springframework</groupId> |
|
<artifactId>spring-web</artifactId> |
|
<scope>provided</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>jakarta.servlet</groupId> |
|
<artifactId>jakarta.servlet-api</artifactId> |
|
<scope>provided</scope> |
|
</dependency> |
|
<!-- Test --> |
|
<dependency> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-test-support</artifactId> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-test</artifactId> |
|
<scope>test</scope> |
|
</dependency> |
|
<dependency> |
|
<groupId>junit</groupId> |
|
<artifactId>junit</artifactId> |
|
<scope>test</scope> |
|
<exclusions> |
|
<exclusion> |
|
<groupId>org.hamcrest</groupId> |
|
<artifactId>hamcrest-core</artifactId> |
|
</exclusion> |
|
</exclusions> |
|
</dependency> |
|
</dependencies> |
|
<build> |
|
<resources> |
|
<resource> |
|
<directory>${project.build.directory}/generated-resources</directory> |
|
</resource> |
|
<resource> |
|
<directory>${basedir}/src/main/resources</directory> |
|
</resource> |
|
</resources> |
|
<plugins> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-failsafe-plugin</artifactId> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-surefire-plugin</artifactId> |
|
<configuration> |
|
<additionalClasspathElements> |
|
<additionalClasspathElement>${project.build.directory}/generated-resources</additionalClasspathElement> |
|
</additionalClasspathElements> |
|
<systemPropertyVariables> |
|
<spring.profiles.active>${spring.profiles.active}</spring.profiles.active> |
|
</systemPropertyVariables> |
|
</configuration> |
|
</plugin> |
|
<!-- Build an executable JAR manually since we can't easily depend on |
|
a maven plugin that is part of the reactor --> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-dependency-plugin</artifactId> |
|
<executions> |
|
<execution> |
|
<id>copy-effective-pom</id> |
|
<phase>generate-resources</phase> |
|
<goals> |
|
<goal>copy</goal> |
|
</goals> |
|
<configuration> |
|
<artifactItems> |
|
<artifactItem> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-dependencies</artifactId> |
|
<type>effective-pom</type> |
|
<overWrite>true</overWrite> |
|
<outputDirectory>${generated.pom.dir}</outputDirectory> |
|
<destFileName>effective-pom.xml</destFileName> |
|
</artifactItem> |
|
</artifactItems> |
|
</configuration> |
|
</execution> |
|
<execution> |
|
<id>unpack</id> |
|
<phase>prepare-package</phase> |
|
<goals> |
|
<goal>unpack</goal> |
|
</goals> |
|
<configuration> |
|
<artifactItems> |
|
<artifactItem> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-loader</artifactId> |
|
<version>${project.version}</version> |
|
<type>jar</type> |
|
</artifactItem> |
|
</artifactItems> |
|
<outputDirectory>${project.build.directory}/assembly</outputDirectory> |
|
</configuration> |
|
</execution> |
|
<execution> |
|
<id>copy</id> |
|
<phase>prepare-package</phase> |
|
<goals> |
|
<goal>copy-dependencies</goal> |
|
</goals> |
|
<configuration> |
|
<outputDirectory>${project.build.directory}/assembly/BOOT-INF/lib</outputDirectory> |
|
<includeScope>runtime</includeScope> |
|
</configuration> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-assembly-plugin</artifactId> |
|
<executions> |
|
<execution> |
|
<id>jar-with-dependencies</id> |
|
<phase>package</phase> |
|
<goals> |
|
<goal>single</goal> |
|
</goals> |
|
<configuration> |
|
<descriptors> |
|
<descriptor>src/main/assembly/jar-with-dependencies.xml</descriptor> |
|
</descriptors> |
|
<archive> |
|
<manifest> |
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries> |
|
<mainClass>org.springframework.boot.loader.JarLauncher</mainClass> |
|
</manifest> |
|
<manifestEntries> |
|
<Start-Class>${start-class}</Start-Class> |
|
<Class-Loader>groovy.lang.GroovyClassLoader</Class-Loader> |
|
</manifestEntries> |
|
</archive> |
|
</configuration> |
|
</execution> |
|
<execution> |
|
<id>bin-package</id> |
|
<phase>package</phase> |
|
<goals> |
|
<goal>single</goal> |
|
</goals> |
|
<configuration> |
|
<descriptors> |
|
<descriptor>src/main/assembly/bin-package.xml</descriptor> |
|
</descriptors> |
|
</configuration> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.apache.maven.plugins</groupId> |
|
<artifactId>maven-antrun-plugin</artifactId> |
|
<dependencies> |
|
<dependency> |
|
<groupId>ant-contrib</groupId> |
|
<artifactId>ant-contrib</artifactId> |
|
<version>1.0b3</version> |
|
<exclusions> |
|
<exclusion> |
|
<groupId>ant</groupId> |
|
<artifactId>ant</artifactId> |
|
</exclusion> |
|
</exclusions> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.apache.ant</groupId> |
|
<artifactId>ant-nodeps</artifactId> |
|
<version>1.8.1</version> |
|
</dependency> |
|
<dependency> |
|
<groupId>org.tigris.antelope</groupId> |
|
<artifactId>antelopetasks</artifactId> |
|
<version>3.2.10</version> |
|
</dependency> |
|
</dependencies> |
|
<executions> |
|
<execution> |
|
<id>homebrew</id> |
|
<phase>package</phase> |
|
<goals> |
|
<goal>run</goal> |
|
</goals> |
|
<inherited>false</inherited> |
|
<configuration> |
|
<target> |
|
<taskdef |
|
resource="net/sf/antcontrib/antcontrib.properties" /> |
|
<taskdef name="stringutil" |
|
classname="ise.antelope.tasks.StringUtilTask" /> |
|
<var name="version-type" value="${project.version}" /> |
|
<propertyregex property="version-type" |
|
override="true" input="${version-type}" regexp=".*\.(.*)" |
|
replace="\1" /> |
|
<propertyregex property="version-type" |
|
override="true" input="${version-type}" regexp="(M)\d+" |
|
replace="MILESTONE" /> |
|
<propertyregex property="version-type" |
|
override="true" input="${version-type}" regexp="(RC)\d+" |
|
replace="MILESTONE" /> |
|
<propertyregex property="version-type" |
|
override="true" input="${version-type}" regexp="BUILD-(.*)" |
|
replace="SNAPSHOT" /> |
|
<stringutil string="${version-type}" property="repo"> |
|
<lowercase /> |
|
</stringutil> |
|
<checksum algorithm="sha-256" |
|
file="${project.build.directory}/spring-boot-cli-${project.version}-bin.tar.gz" |
|
property="checksum" /> |
|
<echo |
|
message="Customizing homebrew for ${project.version} with checksum ${checksum} in ${repo} repo" /> |
|
<copy file="${basedir}/src/main/homebrew/spring-boot.rb" |
|
tofile="${project.build.directory}/homebrew/spring-boot.rb" |
|
overwrite="true"> |
|
<filterchain> |
|
<expandproperties /> |
|
</filterchain> |
|
</copy> |
|
<attachartifact |
|
file="${project.build.directory}/homebrew/spring-boot.rb" |
|
classifier="homebrew" type="rb" /> |
|
</target> |
|
</configuration> |
|
</execution> |
|
<execution> |
|
<id>scoop</id> |
|
<phase>package</phase> |
|
<goals> |
|
<goal>run</goal> |
|
</goals> |
|
<inherited>false</inherited> |
|
<configuration> |
|
<target> |
|
<taskdef |
|
resource="net/sf/antcontrib/antcontrib.properties" /> |
|
<taskdef name="stringutil" |
|
classname="ise.antelope.tasks.StringUtilTask" /> |
|
<var name="scoop-version" value="${project.version}" /> |
|
<propertyregex property="scoop-version" |
|
override="true" input="${scoop-version}" regexp="(.*)\..*" |
|
replace="\1" /> |
|
<var name="version-type" value="${project.version}" /> |
|
<propertyregex property="version-type" |
|
override="true" input="${version-type}" regexp=".*\.(.*)" |
|
replace="\1" /> |
|
<propertyregex property="version-type" |
|
override="true" input="${version-type}" regexp="(M)\d+" |
|
replace="MILESTONE" /> |
|
<propertyregex property="version-type" |
|
override="true" input="${version-type}" regexp="(RC)\d+" |
|
replace="MILESTONE" /> |
|
<propertyregex property="version-type" |
|
override="true" input="${version-type}" regexp="BUILD-(.*)" |
|
replace="SNAPSHOT" /> |
|
<stringutil string="${version-type}" property="repo"> |
|
<lowercase /> |
|
</stringutil> |
|
<checksum algorithm="sha-256" |
|
file="${project.build.directory}/spring-boot-cli-${project.version}-bin.zip" |
|
property="hash" /> |
|
<echo |
|
message="Customizing scoop for ${project.version} with hash ${hash} in ${repo} repo" /> |
|
<copy file="${basedir}/src/main/scoop/springboot.json" |
|
tofile="${project.build.directory}/scoop/springboot.json" |
|
overwrite="true"> |
|
<filterchain> |
|
<expandproperties> |
|
<propertyset> |
|
<propertyref name="scoop-version" /> |
|
<propertyref name="hash" /> |
|
<propertyref name="repo" /> |
|
<propertyref name="project.version" /> |
|
</propertyset> |
|
</expandproperties> |
|
</filterchain> |
|
</copy> |
|
<attachartifact |
|
file="${project.build.directory}/scoop/springboot.json" |
|
classifier="scoop" type="json" /> |
|
</target> |
|
</configuration> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
<plugin> |
|
<groupId>org.codehaus.mojo</groupId> |
|
<artifactId>build-helper-maven-plugin</artifactId> |
|
<executions> |
|
<execution> |
|
<id>add-test-source</id> |
|
<phase>process-resources</phase> |
|
<goals> |
|
<goal>add-test-source</goal> |
|
</goals> |
|
<configuration> |
|
<sources> |
|
<source>src/it/java</source> |
|
</sources> |
|
</configuration> |
|
</execution> |
|
</executions> |
|
</plugin> |
|
</plugins> |
|
</build> |
|
<profiles> |
|
<profile> |
|
<id>integration</id> |
|
<activation> |
|
<activeByDefault>true</activeByDefault> |
|
</activation> |
|
<properties> |
|
<spring.profiles.active>integration</spring.profiles.active> |
|
</properties> |
|
</profile> |
|
<profile> |
|
<id>java9+</id> |
|
<activation> |
|
<jdk>[9,)</jdk> |
|
</activation> |
|
<dependencies> |
|
<dependency> |
|
<groupId>org.glassfish.jaxb</groupId> |
|
<artifactId>jaxb-runtime</artifactId> |
|
<optional>true</optional> |
|
</dependency> |
|
</dependencies> |
|
</profile> |
|
</profiles> |
|
</project>
|
|
|