1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-21 21:52:10 +02:00

Bug 577097: Remove requirement to have pre-integration-test phase run

The proxy server products need to be built and signed before being
moved to the correct location. Prior to this patch this happened
in pre-integration-test phase, meaning that "mvn package" would
fail to build CDT successfully.

Therefore "pull" rather than "push" proxy-server to individual bundles.
If signing is not enabled, the proxy server product won't be signed,
but that is expected.

Also, to make sure the archiving happens in package phase, we need to
have some duplication so that archiving always is listed after signing.

Change-Id: I09ef2b6384ab6f6573352f85c068756e3792512f
This commit is contained in:
Jonah Graham 2021-12-15 14:41:44 -05:00
parent 3f2649a14d
commit 4e35290c38
4 changed files with 259 additions and 87 deletions

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2021 Kichwa Coders Canada Inc. and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
-->
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.eclipse.cdt</groupId>
<artifactId>cdt-parent</artifactId>
<version>10.5.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<version>1.0.0-SNAPSHOT</version>
<artifactId>org.eclipse.remote.proxy.server.linux.ppc64le</artifactId>
<packaging>eclipse-plugin</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>copy-proxy-server-from-product-to-bundle</id>
<goals>
<goal>run</goal>
</goals>
<phase>process-resources</phase>
<configuration>
<target name="copy-proxy-server-from-product-to-bundle">
<copy file="${basedir}/../org.eclipse.remote.proxy.server.product/target/products/proxy.server-linux.gtk.ppc64le.tar.gz"
tofile="${basedir}/proxy.server.tar.gz"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2021 Kichwa Coders Canada Inc. and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
-->
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.eclipse.cdt</groupId>
<artifactId>cdt-parent</artifactId>
<version>10.5.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<version>1.0.0-SNAPSHOT</version>
<artifactId>org.eclipse.remote.proxy.server.linux.x86_64</artifactId>
<packaging>eclipse-plugin</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>copy-proxy-server-from-product-to-bundle</id>
<goals>
<goal>run</goal>
</goals>
<phase>process-resources</phase>
<configuration>
<target name="copy-proxy-server-from-product-to-bundle">
<copy file="${basedir}/../org.eclipse.remote.proxy.server.product/target/products/proxy.server-linux.gtk.x86_64.tar.gz"
tofile="${basedir}/proxy.server.tar.gz"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2021 Kichwa Coders Canada Inc. and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
-->
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.eclipse.cdt</groupId>
<artifactId>cdt-parent</artifactId>
<version>10.5.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<version>1.0.0-SNAPSHOT</version>
<artifactId>org.eclipse.remote.proxy.server.macosx.x86_64</artifactId>
<packaging>eclipse-plugin</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>copy-proxy-server-from-product-to-bundle</id>
<goals>
<goal>run</goal>
</goals>
<phase>process-resources</phase>
<configuration>
<target name="copy-proxy-server-from-product-to-bundle">
<copy file="${basedir}/../org.eclipse.remote.proxy.server.product/target/products/proxy.server-macosx.cocoa.x86_64.tar.gz"
tofile="${basedir}/proxy.server.tar.gz"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View file

@ -25,98 +25,120 @@
<includeAllDependencies>true</includeAllDependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<formats>
<win32>zip</win32>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
<products>
<product>
<id>proxy.server</id>
<rootFolder>proxy</rootFolder>
<rootFolders>
<macosx>Proxy.app</macosx>
</rootFolders>
</product>
</products>
</configuration>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<!-- must run after signing -->
<phase>pre-integration-test</phase>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>copy-built-proxy-servers-to-individual-bundles</id>
<!-- must run after signing *and* after archiving -->
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target name="copy prebuilt servers to the individual plugins">
<copy file="${project.build.directory}/products/proxy.server-linux.gtk.x86_64.tar.gz"
tofile="${basedir}/../org.eclipse.remote.proxy.server.linux.x86_64/proxy.server.tar.gz"/>
<copy file="${project.build.directory}/products/proxy.server-linux.gtk.ppc64le.tar.gz"
tofile="${basedir}/../org.eclipse.remote.proxy.server.linux.ppc64le/proxy.server.tar.gz"/>
<copy file="${project.build.directory}/products/proxy.server-macosx.cocoa.x86_64.tar.gz"
tofile="${basedir}/../org.eclipse.remote.proxy.server.macosx.x86_64/proxy.server.tar.gz"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>production</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-macsigner-plugin</artifactId>
<version>${cbi-plugins.version}</version>
<executions>
<execution>
<id>sign</id>
<phase>package</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<baseSearchDir>${project.build.directory}/products/proxy.server/macosx</baseSearchDir>
<fileNames>
<fileName>Proxy.app</fileName>
</fileNames>
<timeoutMillis>300000</timeoutMillis>
<entitlements>${project.basedir}/product.entitlements</entitlements>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<id>not-production</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<formats>
<win32>zip</win32>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
<products>
<product>
<id>proxy.server</id>
<rootFolder>proxy</rootFolder>
<rootFolders>
<macosx>Proxy.app</macosx>
</rootFolders>
</product>
</products>
</configuration>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>production</id>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<formats>
<win32>zip</win32>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
<products>
<product>
<id>proxy.server</id>
<rootFolder>proxy</rootFolder>
<rootFolders>
<macosx>Proxy.app</macosx>
</rootFolders>
</product>
</products>
</configuration>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<!-- must run after signing -->
<phase>pre-integration-test</phase>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-macsigner-plugin</artifactId>
<version>${cbi-plugins.version}</version>
<executions>
<execution>
<id>sign</id>
<phase>package</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<baseSearchDir>${project.build.directory}/products/proxy.server/macosx</baseSearchDir>
<fileNames>
<fileName>Proxy.app</fileName>
</fileNames>
<timeoutMillis>300000</timeoutMillis>
<entitlements>${project.basedir}/product.entitlements</entitlements>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>