Files

433 lines
15 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot.ide</groupId>
<artifactId>org.springframework.boot.ide</artifactId>
<version>4.30.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>org.springframework.boot.ide.product</artifactId>
<packaging>eclipse-repository</packaging>
<properties>
<justj.repository>https://download.eclipse.org/justj/jres/21/updates/release/latest/</justj.repository>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>default-install</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<includeAllDependencies>false</includeAllDependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-publisher-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<publishArtifacts>true</publishArtifacts>
</configuration>
</plugin>
<!--
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<executionEnvironment>none</executionEnvironment>
</configuration>
</plugin>
-->
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
<phase>package</phase>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
<configuration>
<products>
<product>
<id>org.springframework.boot.ide.branding.sts4</id>
<rootFolder>sts-${unqualifiedVersion}.${p2.qualifier}</rootFolder>
<rootFolders>
<macosx>SpringToolsForEclipse.app</macosx>
</rootFolders>
<archiveFileName>spring-tools-for-eclipse-${unqualifiedVersion}.${p2.qualifier}-${dist.target}</archiveFileName>
</product>
</products>
<formats>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-eclipserun-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<repositories>
<repository>
<id>2022-03</id>
<layout>p2</layout>
<url>https://download.eclipse.org/releases/2022-03</url>
</repository>
</repositories>
<jvmArgs>
<arg>-Declipse.p2.mirrors=false</arg>
<arg>-Dorg.eclipse.ecf.provider.filetransfer.retrieve.readTimeout=100000</arg>
<arg>-Dorg.eclipse.ecf.provider.filetransfer.retrieve.retryAttempts=30</arg>
<arg>-Dorg.eclipse.ecf.provider.filetransfer.retrieve.closeTimeout=100000</arg>
</jvmArgs>
<dependencies>
<dependency>
<artifactId>org.eclipse.pde.api.tools</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.pde.build</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.pde.core</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.equinox.launcher</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.osgi.compatibility.state</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>javax.annotation</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.equinox.p2.transport.ecf</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.equinox.p2.repository</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.equinox.p2.touchpoint.natives</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.equinox.p2.touchpoint.eclipse</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.equinox.p2.artifact.repository
</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.equinox.p2.director.app</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.equinox.ds</artifactId>
<type>eclipse-plugin</type>
</dependency>
<dependency>
<artifactId>org.eclipse.core.net</artifactId>
<type>eclipse-plugin</type>
</dependency>
</dependencies>
</configuration>
<executions>
<execution>
<id>macos-x86_64</id>
<phase>package</phase>
<goals>
<goal>eclipse-run</goal>
</goals>
<configuration>
<applicationArgs>
<arg>-consoleLog</arg>
<arg>-application</arg>
<arg>org.eclipse.equinox.p2.director</arg>
<arg>-nosplash</arg>
<arg>-destination</arg>
<arg>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolsForEclipse.app/Contents/Eclipse</arg>
<arg>-repository</arg>
<arg>${justj.repository}</arg>
<arg>-installIUs</arg>
<arg>org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</arg>
</applicationArgs>
</configuration>
</execution>
<execution>
<id>macos-aarch_64</id>
<phase>package</phase>
<goals>
<goal>eclipse-run</goal>
</goals>
<configuration>
<applicationArgs>
<arg>-consoleLog</arg>
<arg>-application</arg>
<arg>org.eclipse.equinox.p2.director</arg>
<arg>-nosplash</arg>
<arg>-destination</arg>
<arg>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/aarch64/SpringToolsForEclipse.app/Contents/Eclipse</arg>
<arg>-repository</arg>
<arg>${justj.repository}</arg>
<arg>-installIUs</arg>
<arg>org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</arg>
</applicationArgs>
</configuration>
</execution>
<execution>
<id>windows-x86_64</id>
<phase>package</phase>
<goals>
<goal>eclipse-run</goal>
</goals>
<configuration>
<applicationArgs>
<arg>-consoleLog</arg>
<arg>-application</arg>
<arg>org.eclipse.equinox.p2.director</arg>
<arg>-nosplash</arg>
<arg>-destination</arg>
<arg>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}</arg>
<arg>-repository</arg>
<arg>${justj.repository}</arg>
<arg>-installIUs</arg>
<arg>org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</arg>
</applicationArgs>
</configuration>
</execution>
<execution>
<id>linux_x86_64</id>
<phase>package</phase>
<goals>
<goal>eclipse-run</goal>
</goals>
<configuration>
<applicationArgs>
<arg>-consoleLog</arg>
<arg>-application</arg>
<arg>org.eclipse.equinox.p2.director</arg>
<arg>-nosplash</arg>
<arg>-destination</arg>
<arg>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}</arg>
<arg>-repository</arg>
<arg>${justj.repository}</arg>
<arg>-installIUs</arg>
<arg>org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</arg>
</applicationArgs>
</configuration>
</execution>
<execution>
<id>linux_aarch_64</id>
<phase>package</phase>
<goals>
<goal>eclipse-run</goal>
</goals>
<configuration>
<applicationArgs>
<arg>-consoleLog</arg>
<arg>-application</arg>
<arg>org.eclipse.equinox.p2.director</arg>
<arg>-nosplash</arg>
<arg>-destination</arg>
<arg>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/aarch64/sts-${unqualifiedVersion}.${p2.qualifier}</arg>
<arg>-repository</arg>
<arg>${justj.repository}</arg>
<arg>-installIUs</arg>
<arg>org.eclipse.justj.openjdk.hotspot.jre.full.feature.group</arg>
</applicationArgs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>generate-license-files</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument>
<argument>${project.build.directory}/../../common/eclipse-distribution-license-file-generator.jar</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolsForEclipse.app/Contents/Eclipse/plugins/</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/x86_64/SpringToolsForEclipse.app/Contents/Eclipse/open-source-licenses.txt</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/aarch64/SpringToolsForEclipse.app/Contents/Eclipse/plugins/</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/macosx/cocoa/aarch64/SpringToolsForEclipse.app/Contents/Eclipse/open-source-licenses.txt</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/plugins/</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/open-source-licenses.txt</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/aarch64/sts-${unqualifiedVersion}.${p2.qualifier}/plugins/</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/linux/gtk/aarch64/sts-${unqualifiedVersion}.${p2.qualifier}/open-source-licenses.txt</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/plugins/</argument>
<argument>${project.build.directory}/products/org.springframework.boot.ide.branding.sts4/win32/win32/x86_64/sts-${unqualifiedVersion}.${p2.qualifier}/open-source-licenses.txt</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>update-nightly-downloads</id>
<phase>verify</phase>
<configuration>
<target>
<copy file="${project.build.directory}/../../common/html/nightly-generic-snippet-incl-apple-m1.html" tofile="${project.build.directory}/sts4-nightly-${dist.target.major}.html" overwrite="true"/>
<replace file="${project.build.directory}/sts4-nightly-${dist.target.major}.html" token="@QUALIFIER@" value="${unqualifiedVersion}.${p2.qualifier}" summary="yes" />
<replace file="${project.build.directory}/sts4-nightly-${dist.target.major}.html" token="@TARGET@" value="${dist.target}" summary="yes" />
<replace file="${project.build.directory}/sts4-nightly-${dist.target.major}.html" token="@MAJOR-TARGET@" value="${dist.target.major}" summary="yes" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>generate-s3-upload-info</id>
<phase>verify</phase>
<configuration>
<target>
<echo file="${project.build.directory}/s3-dist-path.txt">
${dist.path.product}
</echo>
<echo file="${project.build.directory}/s3-p2-repo-dist-path.txt">
${dist.path.repo}
</echo>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>zip-sts-repository</id>
<phase>install</phase>
<configuration>
<target>
<property name="dist.full.version" value="${unqualifiedVersion}.${p2.qualifier}-${dist.target}" />
<property name="dist.file.name" value="${dist.project}-${dist.full.version}-updatesite.zip" />
<zip zipfile="${project.build.directory}/repository/${dist.file.name}" filesonly="true">
<zipfileset
dir="${project.build.directory}/repository">
<exclude name="*.zip" />
<exclude name="**/*.gz" />
</zipfileset>
</zip>
<checksum file="${project.build.directory}/repository/${dist.file.name}" algorithm="SHA-256" fileext=".sha256" />
<checksum file="${project.build.directory}/repository/${dist.file.name}" algorithm="MD5" fileext=".md5" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<!--
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<dependency-resolution>
<profileProperties>
<org.eclipse.justj.buildtime>true</org.eclipse.justj.buildtime>
</profileProperties>
</dependency-resolution>
</configuration>
</plugin>
</plugins>
</pluginManagement> -->
</build>
<profiles>
<profile>
<id>gpg.sign</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-gpg-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>sign-p2-artifacts</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>