Update tycho snapshot and simplify bootstrapping
This commit is contained in:
parent
3440b43814
commit
e182d67090
|
@ -2,15 +2,14 @@
|
|||
/org.eclipse.tycho-*
|
||||
/tycho-*.xz
|
||||
/tycho-*.bz2
|
||||
/tycho-*.gz
|
||||
/tycho-*/
|
||||
maven-repo.tar.xz
|
||||
*.src.rpm
|
||||
/noarch
|
||||
/.project
|
||||
/eclipse-bootstrap.tar.xz
|
||||
/fedoraproject-p2-*.tar.xz
|
||||
/fedoraproject-p2-*.tar.gz
|
||||
/eclipse-bootstrap-neon.tar.xz
|
||||
/eclipse-bootstrap-oxygen.tar.xz
|
||||
/fedoraproject-p2-290f67a4c717599b2f5166ea89aa5365571314b1.tar.gz
|
||||
/tycho-d9ce75d316caae823be78527b7b690182b602895.tar.gz
|
||||
/eclipse-bootstrap-photon.tar.xz
|
||||
|
|
2
sources
2
sources
|
@ -1,3 +1,3 @@
|
|||
SHA512 (fedoraproject-p2-290f67a4c717599b2f5166ea89aa5365571314b1.tar.gz) = 5ddfa3e7c1dc3d64335d836d74d7325904f294e0ab1782de41a8815b09ddf42f0c47a263c3a6217626aaf293a17788d01174c327e17b192a0f451d07d5655c49
|
||||
SHA512 (tycho-d9ce75d316caae823be78527b7b690182b602895.tar.gz) = 7522ecb017e8c0fac93454386f41b34751462fb26238d2e5047ecc191254d2356b70a94f5f726f547b1631a678ce310b272bf33121a756385297dfd3190059e8
|
||||
SHA512 (tycho-5d018bb7d0c2d09275a00b4863e8ac6d5fa04541.tar.gz) = c307d13d8edbe7aafc8ee489d76ef1fc9c60db668fba1ca99a9970e1aceb18154071256f24ebdeba47dd707795ba4a797b10f4c45b9c95228eb77b1afee981c4
|
||||
SHA512 (eclipse-bootstrap-photon.tar.xz) = c18687eecd7d79bbd0722e8effc89d32a8fe31f2c9fe978cc73cfe9679d5a7fd01d8e12483404e3257d86817b7a12b4dcdfbd88316855a06d8f43da71a3c49a8
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
|
||||
. $(pwd)/tycho-scripts.sh
|
||||
|
||||
eclipse_bootstrap=$1
|
||||
preV=$2
|
||||
preV=$1
|
||||
v="$preV-SNAPSHOT"
|
||||
osgiV='3.13.0.v20180428-1222'
|
||||
osgiCompatV='1.1.100.v20180428-1222'
|
||||
|
@ -60,32 +59,6 @@ for ((i=0; i < ${#bundles[@]}; i++)) ;do
|
|||
unifyProject ${bundles[${i}]}
|
||||
done
|
||||
|
||||
# Can't have empty mojo project
|
||||
mkdir -p 'tycho-maven-plugin/src/main/java/org/fedoraproject'
|
||||
pushd 'tycho-maven-plugin/src/main/java/org/fedoraproject'
|
||||
echo '
|
||||
package org.fedoraproject;
|
||||
|
||||
import org.apache.maven.plugin.MojoExecutionException;
|
||||
import org.apache.maven.plugin.MojoFailureException;
|
||||
import org.apache.maven.plugin.AbstractMojo;
|
||||
|
||||
/**
|
||||
* Empty goal to fix
|
||||
* @goal empty
|
||||
* @phase clean
|
||||
*/
|
||||
public class EmptyMojo
|
||||
extends AbstractMojo
|
||||
{
|
||||
public void execute()
|
||||
throws MojoExecutionException, MojoFailureException
|
||||
{
|
||||
}
|
||||
}
|
||||
' > EmptyMojo.java
|
||||
popd
|
||||
|
||||
# Run the build on this maven reactor project
|
||||
for proj in ${reactorprojs[@]} ; do
|
||||
isolateProject ${proj}
|
||||
|
|
|
@ -1,119 +0,0 @@
|
|||
diff --git a/tycho-compiler-plugin/pom.xml b/tycho-compiler-plugin/pom.xml
|
||||
index 923405d..33ce36d 100644
|
||||
--- a/tycho-compiler-plugin/pom.xml
|
||||
+++ b/tycho-compiler-plugin/pom.xml
|
||||
@@ -63,19 +63,6 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
- <groupId>org.eclipse.tycho</groupId>
|
||||
- <artifactId>tycho-testing-harness</artifactId>
|
||||
- <version>${project.version}</version>
|
||||
- <scope>test</scope>
|
||||
- </dependency>
|
||||
- <dependency>
|
||||
- <groupId>org.eclipse.tycho</groupId>
|
||||
- <artifactId>tycho-core</artifactId>
|
||||
- <version>${project.version}</version>
|
||||
- <scope>test</scope>
|
||||
- <classifier>tests</classifier>
|
||||
- </dependency>
|
||||
- <dependency>
|
||||
<groupId>bcel</groupId>
|
||||
<artifactId>bcel</artifactId>
|
||||
<scope>test</scope>
|
||||
diff --git a/tycho-core/pom.xml b/tycho-core/pom.xml
|
||||
index 9f79a46..10628cf 100644
|
||||
--- a/tycho-core/pom.xml
|
||||
+++ b/tycho-core/pom.xml
|
||||
@@ -148,12 +148,6 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
- <groupId>org.eclipse.tycho</groupId>
|
||||
- <artifactId>tycho-testing-harness</artifactId>
|
||||
- <version>${project.version}</version>
|
||||
- <scope>test</scope>
|
||||
- </dependency>
|
||||
- <dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-compat</artifactId>
|
||||
</dependency>
|
||||
diff --git a/tycho-maven-plugin/src/main/resources/META-INF/plexus/components.xml b/tycho-maven-plugin/src/main/resources/META-INF/plexus/components.xml
|
||||
index 040a199..8fb2005 100644
|
||||
--- a/tycho-maven-plugin/src/main/resources/META-INF/plexus/components.xml
|
||||
+++ b/tycho-maven-plugin/src/main/resources/META-INF/plexus/components.xml
|
||||
@@ -94,9 +94,6 @@
|
||||
org.eclipse.tycho:tycho-packaging-plugin:${project.version}:package-plugin,
|
||||
org.eclipse.tycho:tycho-p2-plugin:${project.version}:p2-metadata-default
|
||||
</package>
|
||||
- <integration-test>
|
||||
- org.eclipse.tycho:tycho-surefire-plugin:${project.version}:test
|
||||
- </integration-test>
|
||||
<install>
|
||||
org.apache.maven.plugins:maven-install-plugin:${install-plugin.version}:install,
|
||||
org.eclipse.tycho:tycho-p2-plugin:${project.version}:update-local-index
|
||||
diff --git a/tycho-p2/tycho-p2-plugin/pom.xml b/tycho-p2/tycho-p2-plugin/pom.xml
|
||||
index e25b6d9..7e8a7f2 100644
|
||||
--- a/tycho-p2/tycho-p2-plugin/pom.xml
|
||||
+++ b/tycho-p2/tycho-p2-plugin/pom.xml
|
||||
@@ -53,13 +53,6 @@
|
||||
<artifactId>tycho-artifactcomparator</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
-
|
||||
- <dependency>
|
||||
- <groupId>org.eclipse.tycho</groupId>
|
||||
- <artifactId>tycho-testing-harness</artifactId>
|
||||
- <version>${project.version}</version>
|
||||
- <scope>test</scope>
|
||||
- </dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
diff --git a/tycho-p2/tycho-p2-publisher-plugin/pom.xml b/tycho-p2/tycho-p2-publisher-plugin/pom.xml
|
||||
index e52cf18..bcd8c91 100644
|
||||
--- a/tycho-p2/tycho-p2-publisher-plugin/pom.xml
|
||||
+++ b/tycho-p2/tycho-p2-publisher-plugin/pom.xml
|
||||
@@ -53,17 +53,6 @@
|
||||
<version>${project.version}</version>
|
||||
<type>maven-plugin</type>
|
||||
</dependency>
|
||||
- <dependency>
|
||||
- <groupId>org.eclipse.tycho</groupId>
|
||||
- <artifactId>tycho-testing-harness</artifactId>
|
||||
- <version>${project.version}</version>
|
||||
- <scope>test</scope>
|
||||
- </dependency>
|
||||
- <dependency>
|
||||
- <groupId>org.mockito</groupId>
|
||||
- <artifactId>mockito-core</artifactId>
|
||||
- <scope>test</scope>
|
||||
- </dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
diff --git a/tycho-packaging-plugin/pom.xml b/tycho-packaging-plugin/pom.xml
|
||||
index 0990b2d..7dd1d68 100644
|
||||
--- a/tycho-packaging-plugin/pom.xml
|
||||
+++ b/tycho-packaging-plugin/pom.xml
|
||||
@@ -33,19 +33,6 @@
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
- <groupId>org.eclipse.tycho</groupId>
|
||||
- <artifactId>tycho-testing-harness</artifactId>
|
||||
- <version>${project.version}</version>
|
||||
- <scope>test</scope>
|
||||
- </dependency>
|
||||
- <dependency>
|
||||
- <groupId>org.eclipse.tycho</groupId>
|
||||
- <artifactId>tycho-core</artifactId>
|
||||
- <version>${project.version}</version>
|
||||
- <scope>test</scope>
|
||||
- <classifier>tests</classifier>
|
||||
- </dependency>
|
||||
- <dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<scope>test</scope>
|
|
@ -7,6 +7,21 @@ Minor fixes of limited scope needed to have Tycho building on Fedora.
|
|||
|
||||
Change-Id: Ic8c0514c1fa10ee53580d2654ac6a363ccd66814
|
||||
---
|
||||
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java b/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
|
||||
index b00c344..bc05c2d 100644
|
||||
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
|
||||
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/maven/TychoMavenLifecycleParticipant.java
|
||||
@@ -102,7 +102,9 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
|
||||
}
|
||||
|
||||
private void validate(List<MavenProject> projects) throws MavenExecutionException {
|
||||
- validateConsistentTychoVersion(projects);
|
||||
+ if (System.getProperty("tycho.enableVersionCheck") != null) {
|
||||
+ validateConsistentTychoVersion(projects);
|
||||
+ }
|
||||
validateUniqueBaseDirs(projects);
|
||||
}
|
||||
|
||||
diff --git a/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java b/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
|
||||
index 097bdeb..f90b10c 100644
|
||||
--- a/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
|
||||
|
|
|
@ -64,12 +64,10 @@ for scl in ${scls} ; do
|
|||
osgiLocations=( ${baseLocations[@]/#//opt/rh/${scl}/root} ${osgiLocations[@]} )
|
||||
done
|
||||
|
||||
if [ ${eclipse_bootstrap} -eq 1 ]; then
|
||||
prefix="$(pwd)/bootstrap"
|
||||
osgiLocations=( ${osgiLocations[@]/#/${prefix}} )
|
||||
osgiLocations+=( ${osgiLocations[@]/${prefix}/} )
|
||||
osgiLocations=( ${prefix}/extras ${osgiLocations[@]} )
|
||||
fi
|
||||
|
||||
wantedBundles=`echo $1 | tr ',' ' '`
|
||||
destDir=$2
|
||||
|
|
193
tycho.spec
193
tycho.spec
|
@ -1,18 +1,18 @@
|
|||
# Bootstrap build
|
||||
# Tycho depends on itself, and Eclipse to build but in certain cases
|
||||
# these requirements may not be satisfiable.
|
||||
# Tycho depends on itself, and Eclipse to build but in certain cases these
|
||||
# requirements may not be satisfiable then building Tycho becomes problematic.
|
||||
# For example:
|
||||
# * A library (in Fedora) used by Tycho's runtime broke API and so Tycho
|
||||
# from the buildroot is broken
|
||||
# * Building into a new distro or buildroot, where neither Tycho nor Eclipse
|
||||
# is available yet and we need to build Tycho before building Eclipse
|
||||
# In bootstrap mode, javac and plain xmvn are used to build a subset of
|
||||
# Tycho such that it can build a bootstrap mode Eclipse and subsequently
|
||||
# fully rebuild itself. In this mode, there may be reduced functionality,
|
||||
# so a full non-bootstrap mode build should always be done afterwards.
|
||||
%bcond_with bootstrap
|
||||
|
||||
# Set 'tycho_bootstrap' if Tycho from buildroot is broken or non-existent
|
||||
# This basically uses javac + xmvn to build only the Tycho components
|
||||
# required to perform a full Tycho build
|
||||
# Most common usage : A library (in Fedora) used by Tycho's runtime broke API
|
||||
%global tycho_bootstrap 0
|
||||
# Set 'eclipse_bootstrap' if Eclipse from buildroot cannot help build Tycho
|
||||
# This basically provides a location for usage of pre-bundled Eclipse
|
||||
# Possible uses : Need to build Tycho before Eclipse in fresh buildroot
|
||||
%global eclipse_bootstrap 0
|
||||
|
||||
%global git_tag d9ce75d316caae823be78527b7b690182b602895
|
||||
# Release tags or git SHAs
|
||||
%global git_tag 5d018bb7d0c2d09275a00b4863e8ac6d5fa04541
|
||||
%global fp_p2_git_tag 290f67a4c717599b2f5166ea89aa5365571314b1
|
||||
|
||||
%global fp_p2_version 0.0.1
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
Name: tycho
|
||||
Version: 1.2.0
|
||||
Release: 0.2.gitd9ce75d%{?dist}
|
||||
Release: 0.3.git5d018bb%{?dist}
|
||||
Summary: Plugins and extensions for building Eclipse plugins and OSGI bundles with Maven
|
||||
|
||||
# license file is missing but all files having some licensing information are ASL 2.0
|
||||
|
@ -44,9 +44,10 @@ Source5: tycho-debundle.sh
|
|||
# Script that can be used to install or simulate installation of P2
|
||||
# artifacts. It is used in OSGi requires generation.
|
||||
Source6: p2-install.sh
|
||||
|
||||
# Fedora Eclipse bundles needed to build Tycho when Eclipse is not present
|
||||
# or when the Eclipse that is present is not compatible
|
||||
%if %{eclipse_bootstrap}
|
||||
%if %{with bootstrap}
|
||||
Source10: eclipse-bootstrap-photon.tar.xz
|
||||
%endif
|
||||
|
||||
|
@ -58,65 +59,75 @@ Patch3: %{name}-maven-delegation.patch
|
|||
Patch4: build-against-photon-equinox.patch
|
||||
# Changes needed for building against latest surefire
|
||||
Patch5: build-against-surefire-2.21.patch
|
||||
# Additional changes needed just for bootstrap build
|
||||
Patch10: %{name}-fix-bootstrap-build.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: maven-local
|
||||
BuildRequires: xmvn-minimal >= 3
|
||||
BuildRequires: maven-clean-plugin
|
||||
BuildRequires: maven-dependency-plugin
|
||||
BuildRequires: maven-install-plugin
|
||||
BuildRequires: maven-release-plugin
|
||||
BuildRequires: maven-verifier
|
||||
BuildRequires: objectweb-asm
|
||||
BuildRequires: plexus-containers-component-metadata
|
||||
BuildRequires: apache-commons-exec
|
||||
BuildRequires: bcel
|
||||
BuildRequires: decentxml
|
||||
BuildRequires: easymock
|
||||
BuildRequires: junit
|
||||
BuildRequires: junit5
|
||||
BuildRequires: apiguardian
|
||||
BuildRequires: ecj >= 1:4.7.3a-1
|
||||
BuildRequires: bnd-maven-plugin
|
||||
BuildRequires: maven-plugin-testing-harness
|
||||
BuildRequires: xmvn-parent-pom
|
||||
BuildRequires: maven-plugin-bundle
|
||||
BuildRequires: maven-plugin-plugin
|
||||
BuildRequires: maven-source-plugin
|
||||
%if %{tycho_bootstrap}
|
||||
BuildRequires: maven-deploy-plugin
|
||||
BuildRequires: maven-site-plugin
|
||||
%else
|
||||
BuildRequires: mvn(biz.aQute.bnd:bnd-maven-plugin)
|
||||
BuildRequires: mvn(com.beust:jcommander)
|
||||
BuildRequires: mvn(de.pdark:decentxml)
|
||||
BuildRequires: mvn(junit:junit)
|
||||
BuildRequires: mvn(org.apache.commons:commons-compress)
|
||||
BuildRequires: mvn(org.apache.commons:commons-exec)
|
||||
BuildRequires: mvn(org.apache.commons:commons-lang3)
|
||||
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
||||
BuildRequires: mvn(org.apache.maven:maven-archiver)
|
||||
BuildRequires: mvn(org.apache.maven:maven-compat)
|
||||
BuildRequires: mvn(org.apache.maven:maven-core)
|
||||
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-clean-plugin)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-deploy-plugin)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-install-plugin)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
|
||||
BuildRequires: mvn(org.apache.maven.plugin-testing:maven-plugin-testing-harness)
|
||||
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
|
||||
BuildRequires: mvn(org.apache.maven.shared:maven-verifier)
|
||||
BuildRequires: mvn(org.apache.maven.surefire:maven-surefire-common)
|
||||
BuildRequires: mvn(org.apache.maven.surefire:surefire-api)
|
||||
BuildRequires: mvn(org.apiguardian:apiguardian-api)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-archiver)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-compiler-api)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-compiler-manager)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-component-annotations)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-container-default)
|
||||
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
|
||||
BuildRequires: mvn(org.eclipse.tycho:org.eclipse.jdt.compiler.apt)
|
||||
BuildRequires: mvn(org.eclipse.tycho:org.eclipse.jdt.core)
|
||||
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-api)
|
||||
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-core)
|
||||
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-install)
|
||||
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-parent:pom:)
|
||||
BuildRequires: mvn(org.hamcrest:hamcrest-core)
|
||||
BuildRequires: mvn(org.junit.platform:junit-platform-surefire-provider)
|
||||
BuildRequires: mvn(org.mockito:mockito-core)
|
||||
BuildRequires: mvn(org.opentest4j:opentest4j)
|
||||
BuildRequires: mvn(org.ow2.asm:asm-debug-all)
|
||||
BuildRequires: mvn(org.slf4j:slf4j-api)
|
||||
BuildRequires: mvn(org.slf4j:slf4j-simple)
|
||||
|
||||
%if ! %{with bootstrap}
|
||||
# Ordinarily Tycho additionally requires itself and Eclipse to build
|
||||
BuildRequires: %{name}
|
||||
%endif
|
||||
%if %{eclipse_bootstrap}
|
||||
# Dependencies for Eclipse bundles we use
|
||||
BuildRequires: apache-commons-jxpath
|
||||
BuildRequires: felix-scr
|
||||
BuildRequires: glassfish-jsp-api
|
||||
BuildRequires: icu4j
|
||||
BuildRequires: sac
|
||||
BuildRequires: sat4j
|
||||
BuildRequires: xz-java
|
||||
BuildRequires: eclipse-platform >= 1:4.8.0
|
||||
%else
|
||||
BuildRequires: eclipse-platform >= 1:4.7.0
|
||||
# For bootstrapping, we just need the dependencies of the Eclipse bundles we use
|
||||
BuildRequires: osgi(com.ibm.icu)
|
||||
BuildRequires: osgi(org.apache.commons.jxpath)
|
||||
BuildRequires: osgi(org.apache.felix.scr)
|
||||
BuildRequires: osgi(org.sat4j.core)
|
||||
BuildRequires: osgi(org.sat4j.pb)
|
||||
BuildRequires: osgi(org.w3c.css.sac)
|
||||
%endif
|
||||
BuildRequires: jetty-http
|
||||
BuildRequires: jetty-util
|
||||
BuildRequires: jetty-security
|
||||
BuildRequires: jetty-server
|
||||
BuildRequires: jetty-servlet
|
||||
BuildRequires: maven-shared-utils
|
||||
BuildRequires: mockito
|
||||
|
||||
Requires: maven-local
|
||||
Requires: xmvn-minimal >= 3
|
||||
Requires: ecj >= 1:4.7.3a-1
|
||||
%if ! %{eclipse_bootstrap}
|
||||
Requires: eclipse-platform >= 1:4.7.0
|
||||
|
||||
%if ! %{with bootstrap}
|
||||
Requires: eclipse-platform >= 1:4.8.0
|
||||
%endif
|
||||
|
||||
# maven-clean-plugin is bound to "initialize" Maven phase for
|
||||
|
@ -148,7 +159,6 @@ types supported by PDE and will use PDE/JDT project metadata where
|
|||
possible. One important design goal in Tycho is to make sure there is
|
||||
no duplication of metadata between POM and OSGi metadata.
|
||||
|
||||
|
||||
%package javadoc
|
||||
Summary: Javadocs for %{name}
|
||||
|
||||
|
@ -166,12 +176,12 @@ mv fedoraproject-p2-%{fp_p2_git_tag} fedoraproject-p2
|
|||
%patch4
|
||||
%patch5 -p1
|
||||
|
||||
# Unneeded for RPM builds
|
||||
%pom_remove_plugin :maven-site-plugin
|
||||
|
||||
sed -i -e 's/>%{version}-SNAPSHOT</>%{version}</' $(grep -rl '>%{version}-SNAPSHOT<' --include=pom.xml)
|
||||
sed -i -e 's/\.qualifier//' $(find tycho-{surefire,bundles} -maxdepth 3 -name MANIFEST.MF)
|
||||
|
||||
# This is submitted upstream: https://bugs.eclipse.org/bugs/show_bug.cgi?id=534248
|
||||
sed -i -e 's/org.apache.maven.it.util.DirectoryScanner/org.apache.maven.shared.utils.io.DirectoryScanner/g' tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
|
||||
|
||||
# Move from org.sonatype.aether to org.eclipse.aether
|
||||
find . -name "*.java" | xargs sed -i 's/org.sonatype.aether/org.eclipse.aether/g'
|
||||
find . -name "*.java" | xargs sed -i 's/org.eclipse.aether.util.DefaultRepositorySystemSession/org.eclipse.aether.DefaultRepositorySystemSession/g'
|
||||
|
@ -205,30 +215,30 @@ sed -i -e 's/org\.mockito/org.mockito.mockito-core/' \
|
|||
tycho-bundles/org.eclipse.tycho.p2.resolver.shared.tests/META-INF/MANIFEST.MF
|
||||
|
||||
# Bootstrap Build
|
||||
%if %{eclipse_bootstrap}
|
||||
%if %{with bootstrap}
|
||||
|
||||
# Don't build tests when bootstrapping
|
||||
for b in core.shared.tests p2.resolver.impl.test p2.resolver.shared.tests p2.maven.repository.tests p2.tools.tests test.utils ; do
|
||||
%pom_disable_module org.eclipse.tycho.$b tycho-bundles
|
||||
done
|
||||
%pom_disable_module org.fedoraproject.p2.tests fedoraproject-p2
|
||||
%pom_remove_dep -r :::test
|
||||
|
||||
# Unpack a compatible version of Eclipse we can use to build against
|
||||
tar -xf %{SOURCE10}
|
||||
# Install OSGi bundles into local repo to override any incompatible system version
|
||||
# that may be already installed
|
||||
pushd bootstrap
|
||||
for f in usr/lib/eclipse/plugins/org.eclipse.osgi.compatibility.state_*.jar \
|
||||
usr/lib/eclipse/plugins/org.eclipse.osgi.services_*.jar \
|
||||
usr/lib/eclipse/plugins/org.eclipse.osgi_*.jar ; do
|
||||
xmvn -o install:install-file -Dfile=$f -Dpackaging=jar -DgroupId=org.eclipse.tycho -Dmaven.repo.local=$(pwd)/../.m2 \
|
||||
-DartifactId=$(echo $(basename $f) | cut -d_ -f1) -Dversion=$(echo "${f%.jar}" | cut -d_ -f2)
|
||||
done
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if %{tycho_bootstrap}
|
||||
|
||||
%patch10 -p1
|
||||
|
||||
# Perform the 'minimal' (bootstrap) build of Tycho
|
||||
cp %{SOURCE3} %{SOURCE4} .
|
||||
./tycho-bootstrap.sh %{eclipse_bootstrap} %{version}
|
||||
|
||||
%patch10 -p1 -R
|
||||
./tycho-bootstrap.sh %{version}
|
||||
|
||||
# Non-Bootstrap Build
|
||||
%else
|
||||
|
@ -260,13 +270,8 @@ sed -i '
|
|||
s|%{_javadir}/tycho/tycho-maven-plugin.jar|'$PWD'/boot/tycho-maven-plugin.jar|
|
||||
' boot/tycho-metadata.xml
|
||||
%mvn_config resolverSettings/metadataRepositories/repository $PWD/boot/tycho-metadata.xml
|
||||
|
||||
%endif
|
||||
|
||||
# Tests are skipped anyways, so remove some test dependencies
|
||||
%pom_xpath_remove "pom:dependency[pom:classifier='tests']" tycho-compiler-plugin
|
||||
%pom_xpath_remove "pom:dependency[pom:classifier='tests']" tycho-packaging-plugin
|
||||
|
||||
# Avoid duplicate execution of clean when generating javadocs, see ebz#399756
|
||||
%pom_add_plugin :maven-clean-plugin tycho-bundles/tycho-standalone-p2-director "
|
||||
<executions>
|
||||
|
@ -281,12 +286,6 @@ sed -i '
|
|||
|
||||
# Add fp-p2 to main build
|
||||
%pom_xpath_inject "pom:modules" "<module>fedoraproject-p2</module>"
|
||||
%mvn_package ":org.fedoraproject.p2.tests" __noinstall
|
||||
|
||||
# Don't build fp-p2 tests when bootstrapping
|
||||
%if %{eclipse_bootstrap}
|
||||
%pom_disable_module org.fedoraproject.p2.tests fedoraproject-p2
|
||||
%endif
|
||||
|
||||
%build
|
||||
%mvn_build -f -- \
|
||||
|
@ -301,12 +300,14 @@ sed -i -e 's|type>eclipse.*<|type>jar<|' .xmvn-reactor
|
|||
|
||||
# Don't package target platform definition files
|
||||
%mvn_package "::target::" __noinstall
|
||||
# Don't package fp-p2 tests
|
||||
%mvn_package ":org.fedoraproject.p2.tests" __noinstall
|
||||
|
||||
%install
|
||||
# Get debundling scripts
|
||||
cp %{SOURCE3} %{SOURCE5} .
|
||||
|
||||
%if ! %{eclipse_bootstrap}
|
||||
%if ! %{with bootstrap}
|
||||
# Debundle p2 runtime
|
||||
./tycho-debundle.sh $(pwd)/tycho-bundles/tycho-bundles-external \
|
||||
$(pwd)/tycho-bundles/tycho-bundles-external/target/tycho-bundles-external-manifest.txt
|
||||
|
@ -316,10 +317,9 @@ cp %{SOURCE3} %{SOURCE5} .
|
|||
%endif
|
||||
|
||||
# Install our own copy of OSGi runtime when bootstrapping to avoid external dep on Eclipse
|
||||
%if %{eclipse_bootstrap}
|
||||
%if %{with bootstrap}
|
||||
for b in org.eclipse.osgi \
|
||||
org.eclipse.osgi.compatibility.state \
|
||||
org.eclipse.osgi.services ; do
|
||||
org.eclipse.osgi.compatibility.state ; do
|
||||
osgiJarPath=$(find .m2/org/eclipse/tycho/$b/*/ -name "*.jar")
|
||||
osgiPomPath=$(find .m2/org/eclipse/tycho/$b/*/ -name "*.pom")
|
||||
%mvn_artifact $osgiPomPath $osgiJarPath
|
||||
|
@ -329,7 +329,7 @@ done
|
|||
|
||||
%mvn_install
|
||||
|
||||
%if ! %{eclipse_bootstrap}
|
||||
%if ! %{with bootstrap}
|
||||
install -pm 644 tycho-bundles/tycho-bundles-external/target/tycho-bundles-external-manifest.txt %{buildroot}%{_javadir}/tycho
|
||||
%add_maven_depmap org.eclipse.tycho:tycho-bundles-external:txt:manifest:%{version} tycho/tycho-bundles-external-manifest.txt
|
||||
%endif
|
||||
|
@ -345,7 +345,7 @@ install -pm 755 %{SOURCE6} %{buildroot}%{_javadir}-utils/
|
|||
# Symlink XMvn P2 plugin with all dependencies so that it can be loaded by XMvn
|
||||
xmvn_libdir=$(realpath $(dirname $(readlink -f $(which xmvn)))/../lib)
|
||||
install -dm 755 %{buildroot}${xmvn_libdir}/installer/
|
||||
%if %{eclipse_bootstrap}
|
||||
%if %{with bootstrap}
|
||||
ln -s %{_javadir}/tycho/org.eclipse.osgi.jar %{buildroot}${xmvn_libdir}/installer/
|
||||
%else
|
||||
ln -s %{_javadir}/eclipse/osgi.jar %{buildroot}${xmvn_libdir}/installer/
|
||||
|
@ -361,6 +361,9 @@ ln -s %{_javadir}/tycho/org.fedoraproject.p2.jar %{buildroot}${xmvn_libdir}/inst
|
|||
%files javadoc -f .mfiles-javadoc
|
||||
|
||||
%changelog
|
||||
* Wed May 02 2018 Mat Booth <mat.booth@redhat.com> - 1.2.0-0.3.git5d018bb
|
||||
- Update tycho snapshot and simplify bootstrapping
|
||||
|
||||
* Wed May 02 2018 Mat Booth <mat.booth@redhat.com> - 1.2.0-0.2.gitd9ce75d
|
||||
- Non-bootstrap build
|
||||
|
||||
|
|
Loading…
Reference in New Issue