commit
c64a05cdb4
181
0001-Bug-537963-Make-the-default-EE-Java-1.8.patch
Normal file
181
0001-Bug-537963-Make-the-default-EE-Java-1.8.patch
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
From b7dae094376ab642339d5bcbe52e16cba0fa11f1 Mon Sep 17 00:00:00 2001
|
||||||
|
Date: Wed, 15 Aug 2018 15:58:10 +0100
|
||||||
|
Subject: [PATCH 4/6] Bug 537963 - Make the default EE Java 1.8
|
||||||
|
|
||||||
|
This allows bundles that don't otherwise specify an EE (for example
|
||||||
|
if the bundle contains only a plugin.xml, or is a documentation only
|
||||||
|
bundle, or otherwise does not contain any bytecode) to continue
|
||||||
|
working in environments that are supported by the latest release
|
||||||
|
of Eclipse.
|
||||||
|
|
||||||
|
Change-Id: Ic6e41c3000c85e2e4222e8153e84b7701ab0e750
|
||||||
|
---
|
||||||
|
.../tycho/osgicompiler/test/OsgiCompilerTest.java | 6 +++---
|
||||||
|
.../ee/ExecutionEnvironmentConfigurationImpl.java | 6 +++---
|
||||||
|
.../ee/ExecutionEnvironmentConfigurationTest.java | 4 ++--
|
||||||
|
.../tycho/core/osgitools/EquinoxResolverTest.java | 2 +-
|
||||||
|
.../org/eclipse/tycho/core/test/TychoTest.java | 5 ++++-
|
||||||
|
.../src/test/resources/projects/bree/pom.xml | 1 +
|
||||||
|
.../bree/tycho-default/META-INF/MANIFEST.MF | 5 +++++
|
||||||
|
.../projects/bree/tycho-default/build.properties | 2 ++
|
||||||
|
.../resources/projects/bree/tycho-default/pom.xml | 15 +++++++++++++++
|
||||||
|
9 files changed, 36 insertions(+), 10 deletions(-)
|
||||||
|
create mode 100644 tycho-core/src/test/resources/projects/bree/tycho-default/META-INF/MANIFEST.MF
|
||||||
|
create mode 100644 tycho-core/src/test/resources/projects/bree/tycho-default/build.properties
|
||||||
|
create mode 100644 tycho-core/src/test/resources/projects/bree/tycho-default/pom.xml
|
||||||
|
|
||||||
|
diff --git a/tycho-compiler-plugin/src/test/java/org/eclipse/tycho/osgicompiler/test/OsgiCompilerTest.java b/tycho-compiler-plugin/src/test/java/org/eclipse/tycho/osgicompiler/test/OsgiCompilerTest.java
|
||||||
|
index 7451d97..a0dae08 100644
|
||||||
|
--- a/tycho-compiler-plugin/src/test/java/org/eclipse/tycho/osgicompiler/test/OsgiCompilerTest.java
|
||||||
|
+++ b/tycho-compiler-plugin/src/test/java/org/eclipse/tycho/osgicompiler/test/OsgiCompilerTest.java
|
||||||
|
@@ -37,7 +37,7 @@ import copied.org.apache.maven.plugin.CompilationFailureException;
|
||||||
|
public class OsgiCompilerTest extends AbstractTychoMojoTestCase {
|
||||||
|
|
||||||
|
private static final int TARGET_1_4 = 48;
|
||||||
|
- private static final int TARGET_9 = 53;
|
||||||
|
+ private static final int TARGET_8 = 52;
|
||||||
|
|
||||||
|
protected File storage;
|
||||||
|
|
||||||
|
@@ -235,10 +235,10 @@ public class OsgiCompilerTest extends AbstractTychoMojoTestCase {
|
||||||
|
List<MavenProject> projects = getSortedProjects(basedir, null);
|
||||||
|
MavenProject project;
|
||||||
|
// project with neither POM nor MANIFEST configuration => must fallback to
|
||||||
|
- // source/target level == 9
|
||||||
|
+ // source/target level == 8
|
||||||
|
project = projects.get(1);
|
||||||
|
getMojo(projects, project).execute();
|
||||||
|
- assertBytecodeMajorLevel(TARGET_9, new File(project.getBasedir(), "target/classes/Generic.class"));
|
||||||
|
+ assertBytecodeMajorLevel(TARGET_8, new File(project.getBasedir(), "target/classes/Generic.class"));
|
||||||
|
|
||||||
|
// project with multiple execution envs.
|
||||||
|
// Minimum source and target level must be taken
|
||||||
|
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationImpl.java b/tycho-core/src/main/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationImpl.java
|
||||||
|
index 11f0ccf..ea67379 100644
|
||||||
|
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationImpl.java
|
||||||
|
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationImpl.java
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
- * Copyright (c) 2012, 2014 SAP SE and others.
|
||||||
|
+ * Copyright (c) 2012, 2018 SAP SE and others.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
@@ -19,8 +19,8 @@ import org.eclipse.tycho.core.ee.shared.SystemCapability;
|
||||||
|
import org.eclipse.tycho.core.shared.BuildFailureException;
|
||||||
|
|
||||||
|
public class ExecutionEnvironmentConfigurationImpl implements ExecutionEnvironmentConfiguration {
|
||||||
|
- // Most likely best to always be the latest known supported EE
|
||||||
|
- private static final String DEFAULT_EXECUTION_ENVIRONMENT = "JavaSE-9";
|
||||||
|
+ // Most likely best to always be the latest known supported long-term supported EE
|
||||||
|
+ private static final String DEFAULT_EXECUTION_ENVIRONMENT = "JavaSE-1.8";
|
||||||
|
|
||||||
|
private static final int PRIMARY = 0;
|
||||||
|
private static final int SECONDARY = 1;
|
||||||
|
diff --git a/tycho-core/src/test/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationTest.java b/tycho-core/src/test/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationTest.java
|
||||||
|
index 5391eb2..f04fa21 100644
|
||||||
|
--- a/tycho-core/src/test/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationTest.java
|
||||||
|
+++ b/tycho-core/src/test/java/org/eclipse/tycho/core/ee/ExecutionEnvironmentConfigurationTest.java
|
||||||
|
@@ -45,9 +45,9 @@ public class ExecutionEnvironmentConfigurationTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDefaults() {
|
||||||
|
- assertThat(subject.getProfileName(), is("JavaSE-9"));
|
||||||
|
+ assertThat(subject.getProfileName(), is("JavaSE-1.8"));
|
||||||
|
assertThat(subject.isCustomProfile(), is(false));
|
||||||
|
- assertThat(subject.getFullSpecification().getProfileName(), is("JavaSE-9"));
|
||||||
|
+ assertThat(subject.getFullSpecification().getProfileName(), is("JavaSE-1.8"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
diff --git a/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java b/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java
|
||||||
|
index 54f1134..fa2ce8d 100644
|
||||||
|
--- a/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java
|
||||||
|
+++ b/tycho-core/src/test/java/org/eclipse/tycho/core/osgitools/EquinoxResolverTest.java
|
||||||
|
@@ -61,7 +61,7 @@ public class EquinoxResolverTest extends AbstractTychoMojoTestCase {
|
||||||
|
properties.put("tycho-version", TychoVersion.getTychoVersion());
|
||||||
|
|
||||||
|
List<MavenProject> projects = getSortedProjects(basedir, properties, null);
|
||||||
|
- assertEquals(6, projects.size());
|
||||||
|
+ assertEquals(7, projects.size());
|
||||||
|
|
||||||
|
assertEquals("executionenvironment.manifest-minimal", projects.get(2).getArtifactId());
|
||||||
|
ExecutionEnvironment ee = TychoProjectUtils.getExecutionEnvironmentConfiguration(projects.get(2))
|
||||||
|
diff --git a/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java b/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java
|
||||||
|
index e8eb7ad..a88e2e4 100644
|
||||||
|
--- a/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java
|
||||||
|
+++ b/tycho-core/src/test/java/org/eclipse/tycho/core/test/TychoTest.java
|
||||||
|
@@ -360,7 +360,7 @@ public class TychoTest extends AbstractTychoMojoTestCase {
|
||||||
|
properties.put("tycho-version", TychoVersion.getTychoVersion());
|
||||||
|
|
||||||
|
List<MavenProject> projects = getSortedProjects(basedir, properties, null);
|
||||||
|
- assertEquals(6, projects.size());
|
||||||
|
+ assertEquals(7, projects.size());
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
assertEquals("executionenvironment.manifest", projects.get(++i).getArtifactId());
|
||||||
|
@@ -377,6 +377,9 @@ public class TychoTest extends AbstractTychoMojoTestCase {
|
||||||
|
|
||||||
|
assertEquals("executionenvironment.pom-default", projects.get(++i).getArtifactId());
|
||||||
|
assertEquals("OSGi/Minimum-1.2", getActiveEEProfile(projects.get(i)));
|
||||||
|
+
|
||||||
|
+ assertEquals("executionenvironment.tycho-default", projects.get(++i).getArtifactId());
|
||||||
|
+ assertEquals("JavaSE-1.8", getActiveEEProfile(projects.get(i)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testWithProjectReferencesItself() throws Exception {
|
||||||
|
diff --git a/tycho-core/src/test/resources/projects/bree/pom.xml b/tycho-core/src/test/resources/projects/bree/pom.xml
|
||||||
|
index 1ddff1d..18c5885 100644
|
||||||
|
--- a/tycho-core/src/test/resources/projects/bree/pom.xml
|
||||||
|
+++ b/tycho-core/src/test/resources/projects/bree/pom.xml
|
||||||
|
@@ -14,6 +14,7 @@
|
||||||
|
<module>pom-hard</module>
|
||||||
|
<module>buildproperties</module>
|
||||||
|
<module>pom-default</module>
|
||||||
|
+ <module>tycho-default</module>
|
||||||
|
</modules>
|
||||||
|
|
||||||
|
</project>
|
||||||
|
diff --git a/tycho-core/src/test/resources/projects/bree/tycho-default/META-INF/MANIFEST.MF b/tycho-core/src/test/resources/projects/bree/tycho-default/META-INF/MANIFEST.MF
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..e6d85c6
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tycho-core/src/test/resources/projects/bree/tycho-default/META-INF/MANIFEST.MF
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+Manifest-Version: 1.0
|
||||||
|
+Bundle-ManifestVersion: 2
|
||||||
|
+Bundle-Name: A bundle that specifies no EE at all and relies on Tycho to set one.
|
||||||
|
+Bundle-SymbolicName: executionenvironment.tycho-default
|
||||||
|
+Bundle-Version: 1.0.0
|
||||||
|
diff --git a/tycho-core/src/test/resources/projects/bree/tycho-default/build.properties b/tycho-core/src/test/resources/projects/bree/tycho-default/build.properties
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..7b02ed4
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tycho-core/src/test/resources/projects/bree/tycho-default/build.properties
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+bin.includes = META-INF/
|
||||||
|
+
|
||||||
|
diff --git a/tycho-core/src/test/resources/projects/bree/tycho-default/pom.xml b/tycho-core/src/test/resources/projects/bree/tycho-default/pom.xml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..f538f5e
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tycho-core/src/test/resources/projects/bree/tycho-default/pom.xml
|
||||||
|
@@ -0,0 +1,15 @@
|
||||||
|
+<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 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
+ <modelVersion>4.0.0</modelVersion>
|
||||||
|
+
|
||||||
|
+ <parent>
|
||||||
|
+ <groupId>executionenvironment</groupId>
|
||||||
|
+ <artifactId>parent</artifactId>
|
||||||
|
+ <version>1.0.0</version>
|
||||||
|
+ </parent>
|
||||||
|
+
|
||||||
|
+ <artifactId>executionenvironment.tycho-default</artifactId>
|
||||||
|
+ <version>1.0.0</version>
|
||||||
|
+ <packaging>eclipse-plugin</packaging>
|
||||||
|
+
|
||||||
|
+</project>
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
@ -0,0 +1,83 @@
|
|||||||
|
From fa0bff4ef49b117959beb96186d639954a3c0181 Mon Sep 17 00:00:00 2001
|
||||||
|
Date: Fri, 25 Jan 2019 21:32:55 +0200
|
||||||
|
Subject: [PATCH 5/6] Bug 543850 - Update artifactcomparator asm dep to 7.0
|
||||||
|
|
||||||
|
Update the asm version to 7.0 and switch to using Opcodes.ASM7 API in
|
||||||
|
ClassReader.
|
||||||
|
|
||||||
|
Change-Id: I957f79413e49424a9f82de99d541d75b3f2f99be
|
||||||
|
---
|
||||||
|
tycho-artifactcomparator/pom.xml | 12 ++++++++++--
|
||||||
|
.../zipcomparator/internal/ClassfileComparator.java | 12 +++---------
|
||||||
|
2 files changed, 13 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tycho-artifactcomparator/pom.xml b/tycho-artifactcomparator/pom.xml
|
||||||
|
index f2c3c43..4831be1 100644
|
||||||
|
--- a/tycho-artifactcomparator/pom.xml
|
||||||
|
+++ b/tycho-artifactcomparator/pom.xml
|
||||||
|
@@ -19,13 +19,21 @@
|
||||||
|
<version>1.3.0</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>tycho-artifactcomparator</artifactId>
|
||||||
|
+ <properties>
|
||||||
|
+ <asm-version>7.0</asm-version>
|
||||||
|
+ </properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<!-- XXX need to do CQ ritual -->
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
- <artifactId>asm-debug-all</artifactId>
|
||||||
|
- <version>5.0.3</version>
|
||||||
|
+ <artifactId>asm-tree</artifactId>
|
||||||
|
+ <version>${asm-version}</version>
|
||||||
|
+ </dependency>
|
||||||
|
+ <dependency>
|
||||||
|
+ <groupId>org.ow2.asm</groupId>
|
||||||
|
+ <artifactId>asm-util</artifactId>
|
||||||
|
+ <version>${asm-version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.plexus</groupId>
|
||||||
|
diff --git a/tycho-artifactcomparator/src/main/java/org/eclipse/tycho/zipcomparator/internal/ClassfileComparator.java b/tycho-artifactcomparator/src/main/java/org/eclipse/tycho/zipcomparator/internal/ClassfileComparator.java
|
||||||
|
index c69bd2c..52ba2dc 100644
|
||||||
|
--- a/tycho-artifactcomparator/src/main/java/org/eclipse/tycho/zipcomparator/internal/ClassfileComparator.java
|
||||||
|
+++ b/tycho-artifactcomparator/src/main/java/org/eclipse/tycho/zipcomparator/internal/ClassfileComparator.java
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
- * Copyright (c) 2012 Sonatype Inc. and others.
|
||||||
|
+ * Copyright (c) 2012, 2019 Sonatype Inc. and others.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
@@ -17,7 +17,6 @@ import java.io.StringWriter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
-import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.maven.plugin.MojoExecution;
|
||||||
|
@@ -63,17 +62,12 @@ public class ClassfileComparator implements ContentsComparator {
|
||||||
|
private String disassemble(byte[] bytes) {
|
||||||
|
ClassReader reader = new ClassReader(bytes);
|
||||||
|
ClassNode clazz = new ClassNode();
|
||||||
|
- reader.accept(clazz, Opcodes.ASM5 | ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES);
|
||||||
|
+ reader.accept(clazz, Opcodes.ASM6 | ClassReader.SKIP_DEBUG | ClassReader.SKIP_FRAMES);
|
||||||
|
|
||||||
|
// inner class list gets reordered during pack200 normalization
|
||||||
|
if (clazz.innerClasses != null) {
|
||||||
|
List<InnerClassNode> sorted = new ArrayList<>(clazz.innerClasses);
|
||||||
|
- Collections.sort(sorted, new Comparator<InnerClassNode>() {
|
||||||
|
- @Override
|
||||||
|
- public int compare(InnerClassNode o1, InnerClassNode o2) {
|
||||||
|
- return o1.name.compareTo(o2.name);
|
||||||
|
- }
|
||||||
|
- });
|
||||||
|
+ Collections.sort(sorted, (o1, o2) -> o1.name.compareTo(o2.name));
|
||||||
|
clazz.innerClasses = sorted;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
98
0003-Port-to-latest-versio-of-Mockito.patch
Normal file
98
0003-Port-to-latest-versio-of-Mockito.patch
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
From c130487d9900e198564b0559da28937616c06208 Mon Sep 17 00:00:00 2001
|
||||||
|
Date: Tue, 19 Feb 2019 11:11:10 +0000
|
||||||
|
Subject: [PATCH 6/6] Port to latest versio of Mockito
|
||||||
|
|
||||||
|
Change-Id: Ie0f6189cc66a8f13d952fa6e9d5c7bf1d39535b5
|
||||||
|
---
|
||||||
|
pom.xml | 2 +-
|
||||||
|
.../RepositoryArtifactProviderTest.java | 4 ++--
|
||||||
|
tycho-bundles/pom.xml | 6 ------
|
||||||
|
.../tycho-bundles-target.target | 21 +++++++------------
|
||||||
|
4 files changed, 11 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/pom.xml b/pom.xml
|
||||||
|
index 2b34d93..5ddc9eb 100644
|
||||||
|
--- a/pom.xml
|
||||||
|
+++ b/pom.xml
|
||||||
|
@@ -244,7 +244,7 @@
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mockito</groupId>
|
||||||
|
<artifactId>mockito-core</artifactId>
|
||||||
|
- <version>1.8.4</version>
|
||||||
|
+ <version>2.23.0</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
diff --git a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/p2base/artifact/repository/RepositoryArtifactProviderTest.java b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/p2base/artifact/repository/RepositoryArtifactProviderTest.java
|
||||||
|
index bd897e2..fc5231b 100644
|
||||||
|
--- a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/p2base/artifact/repository/RepositoryArtifactProviderTest.java
|
||||||
|
+++ b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/p2base/artifact/repository/RepositoryArtifactProviderTest.java
|
||||||
|
@@ -26,8 +26,8 @@ import static org.hamcrest.CoreMatchers.containsString;
|
||||||
|
import static org.hamcrest.CoreMatchers.hasItem;
|
||||||
|
import static org.hamcrest.CoreMatchers.is;
|
||||||
|
import static org.junit.Assert.assertThat;
|
||||||
|
-import static org.mockito.Matchers.any;
|
||||||
|
-import static org.mockito.Matchers.argThat;
|
||||||
|
+import static org.mockito.ArgumentMatchers.any;
|
||||||
|
+import static org.mockito.hamcrest.MockitoHamcrest.argThat;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
diff --git a/tycho-bundles/pom.xml b/tycho-bundles/pom.xml
|
||||||
|
index abc0795..5c45e60 100644
|
||||||
|
--- a/tycho-bundles/pom.xml
|
||||||
|
+++ b/tycho-bundles/pom.xml
|
||||||
|
@@ -81,12 +81,6 @@
|
||||||
|
<id>org.eclipse.osgi.compatibility.state</id>
|
||||||
|
<versionRange>0.0.0</versionRange>
|
||||||
|
</requirement>
|
||||||
|
- <!-- 403196 give p2 resolver a hint so that package imports of org.mockito can be resolved -->
|
||||||
|
- <requirement>
|
||||||
|
- <type>eclipse-plugin</type>
|
||||||
|
- <id>org.hamcrest</id>
|
||||||
|
- <versionRange>0.0.0</versionRange>
|
||||||
|
- </requirement>
|
||||||
|
</extraRequirements>
|
||||||
|
</dependency-resolution>
|
||||||
|
</configuration>
|
||||||
|
diff --git a/tycho-bundles/tycho-bundles-target/tycho-bundles-target.target b/tycho-bundles/tycho-bundles-target/tycho-bundles-target.target
|
||||||
|
index b3e58ea..33956d8 100644
|
||||||
|
--- a/tycho-bundles/tycho-bundles-target/tycho-bundles-target.target
|
||||||
|
+++ b/tycho-bundles/tycho-bundles-target/tycho-bundles-target.target
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
-<?pde version="3.8"?><target name="Target platform for Tycho's bundles" sequenceNumber="29">
|
||||||
|
+<?pde version="3.8"?><target name="Target platform for Tycho's bundles" sequenceNumber="30">
|
||||||
|
<locations>
|
||||||
|
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
|
||||||
|
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
|
||||||
|
@@ -19,19 +19,14 @@
|
||||||
|
<repository location="http://download.eclipse.org/releases/photon/201806271001/"/>
|
||||||
|
</location>
|
||||||
|
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
|
||||||
|
-<unit id="org.mockito" version="1.8.4.v201303031500"/>
|
||||||
|
-<unit id="org.objenesis" version="1.0.0.v201105211943"/>
|
||||||
|
-<unit id="org.hamcrest" version="1.1.0.v20090501071000"/>
|
||||||
|
-<unit id="org.hamcrest.core" version="1.1.0.v20090501071000"/>
|
||||||
|
-<unit id="org.hamcrest.integration" version="1.1.0.v201303031500"/>
|
||||||
|
-<unit id="org.hamcrest.library" version="1.1.0.v20090501071000"/>
|
||||||
|
-<unit id="org.hamcrest.text" version="1.1.0.v20090501071000"/>
|
||||||
|
+<unit id="org.mockito" version="2.23.0.v20181106-1534"/>
|
||||||
|
+<unit id="net.bytebuddy.byte-buddy" version="1.9.0.v20181107-1410"/>
|
||||||
|
+<unit id="net.bytebuddy.byte-buddy-agent" version="1.9.0.v20181106-1534"/>
|
||||||
|
+<unit id="org.objenesis" version="2.6.0.v20180420-1519"/>
|
||||||
|
+<unit id="org.junit" version="4.12.0.v201504281640"/>
|
||||||
|
+<unit id="org.hamcrest.core" version="1.3.0.v20180420-1519"/>
|
||||||
|
<unit id="org.apache.commons.io" version="2.2.0.v201405211200"/>
|
||||||
|
-<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/"/>
|
||||||
|
-</location>
|
||||||
|
-<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
|
||||||
|
-<unit id="org.junit" version="3.8.2.v3_8_2_v20100427-1100"/>
|
||||||
|
-<repository location="http://download.eclipse.org/releases/indigo/201202240900"/>
|
||||||
|
+<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20181128170323/repository/"/>
|
||||||
|
</location>
|
||||||
|
</locations>
|
||||||
|
</target>
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
BIN
fedoraproject-p2-290f67a4c717599b2f5166ea89aa5365571314b1.tar.gz
Normal file
BIN
fedoraproject-p2-290f67a4c717599b2f5166ea89aa5365571314b1.tar.gz
Normal file
Binary file not shown.
BIN
org.eclipse.tycho-tycho-1.3.0.tar.xz
Normal file
BIN
org.eclipse.tycho-tycho-1.3.0.tar.xz
Normal file
Binary file not shown.
20
p2-install.sh
Normal file
20
p2-install.sh
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
_prefer_jre="true"
|
||||||
|
. /usr/share/java-utils/java-functions
|
||||||
|
|
||||||
|
set_jvm
|
||||||
|
|
||||||
|
set_classpath \
|
||||||
|
beust-jcommander \
|
||||||
|
eclipse/osgi \
|
||||||
|
slf4j/api \
|
||||||
|
slf4j/simple \
|
||||||
|
tycho/org.fedoraproject.p2 \
|
||||||
|
tycho/xmvn-p2-installer-plugin \
|
||||||
|
xmvn/xmvn-api \
|
||||||
|
xmvn/xmvn-core \
|
||||||
|
|
||||||
|
MAIN_CLASS=org.fedoraproject.p2.app.P2InstallerApp
|
||||||
|
run "$@"
|
||||||
115
tycho-bootstrap.sh
Normal file
115
tycho-bootstrap.sh
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
#! /bin/bash -e
|
||||||
|
|
||||||
|
. $(pwd)/tycho-scripts.sh
|
||||||
|
|
||||||
|
preV=$1
|
||||||
|
v="$preV-SNAPSHOT"
|
||||||
|
osgiV='3.13.0.v20180428-1222'
|
||||||
|
osgiCompatV='1.1.100.v20180428-1222'
|
||||||
|
fp2V='0.0.1-SNAPSHOT'
|
||||||
|
bundles=()
|
||||||
|
bundles[0]='tycho-bundles/org.eclipse.tycho.embedder.shared'
|
||||||
|
bundles[1]='tycho-bundles/org.eclipse.tycho.core.shared'
|
||||||
|
bundles[2]='tycho-bundles/org.eclipse.tycho.p2.resolver.shared'
|
||||||
|
bundles[3]='tycho-bundles/org.eclipse.tycho.p2.tools.shared'
|
||||||
|
bundles[4]='tycho-bundles/org.eclipse.tycho.p2.maven.repository'
|
||||||
|
bundles[5]='tycho-bundles/org.eclipse.tycho.p2.resolver.impl'
|
||||||
|
bundles[6]='tycho-bundles/org.eclipse.tycho.p2.tools.impl'
|
||||||
|
|
||||||
|
xtraBundles[0]='fedoraproject-p2/org.fedoraproject.p2'
|
||||||
|
|
||||||
|
deps[0]=""
|
||||||
|
deps[1]="tycho-bundles/org.eclipse.tycho.embedder.shared/target/org.eclipse.tycho.embedder.shared-${v}.jar"
|
||||||
|
deps[2]="tycho-bundles/org.eclipse.tycho.embedder.shared/target/org.eclipse.tycho.embedder.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.core.shared/target/org.eclipse.tycho.core.shared-${v}.jar"
|
||||||
|
deps[3]="tycho-bundles/org.eclipse.tycho.embedder.shared/target/org.eclipse.tycho.embedder.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.core.shared/target/org.eclipse.tycho.core.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.p2.resolver.shared/target/org.eclipse.tycho.p2.resolver.shared-${v}.jar"
|
||||||
|
deps[4]="tycho-bundles/org.eclipse.tycho.embedder.shared/target/org.eclipse.tycho.embedder.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.core.shared/target/org.eclipse.tycho.core.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.p2.resolver.shared/target/org.eclipse.tycho.p2.resolver.shared-${v}.jar"
|
||||||
|
deps[5]="tycho-bundles/org.eclipse.tycho.embedder.shared/target/org.eclipse.tycho.embedder.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.core.shared/target/org.eclipse.tycho.core.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.p2.resolver.shared/target/org.eclipse.tycho.p2.resolver.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.p2.maven.repository/target/org.eclipse.tycho.p2.maven.repository-${v}.jar:fedoraproject-p2/org.fedoraproject.p2/target/org.fedoraproject.p2-${fp2V}.jar"
|
||||||
|
deps[6]="tycho-bundles/org.eclipse.tycho.embedder.shared/target/org.eclipse.tycho.embedder.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.core.shared/target/org.eclipse.tycho.core.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.p2.resolver.shared/target/org.eclipse.tycho.p2.resolver.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.p2.tools.shared/target/org.eclipse.tycho.p2.tools.shared-${v}.jar:tycho-bundles/org.eclipse.tycho.p2.maven.repository/target/org.eclipse.tycho.p2.maven.repository-${v}.jar:tycho-bundles/org.eclipse.tycho.p2.resolver.impl/target/org.eclipse.tycho.p2.resolver.impl-${v}.jar"
|
||||||
|
|
||||||
|
xtraDeps[0]=""
|
||||||
|
|
||||||
|
externalDeps[4]="org.eclipse.equinox.common,org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.artifact.repository,org.eclipse.osgi"
|
||||||
|
externalDeps[5]="org.eclipse.core.runtime,org.eclipse.equinox.security,org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.publisher.eclipse,org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.updatesite,org.eclipse.core.net,org.eclipse.equinox.common,org.eclipse.osgi,org.eclipse.equinox.preferences"
|
||||||
|
externalDeps[6]="org.eclipse.equinox.p2.director.app,org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.updatesite,org.eclipse.core.runtime,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.repository.tools,org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.publisher.eclipse,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.director,org.eclipse.osgi,org.eclipse.equinox.common,org.eclipse.equinox.app,org.eclipse.equinox.registry"
|
||||||
|
|
||||||
|
xtraExternalDeps[0]="org.eclipse.osgi,org.eclipse.core.runtime,org.eclipse.equinox.common,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.publisher.eclipse,org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.repository.tools,org.eclipse.equinox.app,slf4j.api"
|
||||||
|
|
||||||
|
reactorprojs=( 'tycho-embedder-api' 'tycho-metadata-model' 'sisu-equinox/sisu-equinox-api' 'sisu-equinox/sisu-equinox-embedder' 'tycho-core' 'tycho-packaging-plugin' 'tycho-p2/tycho-p2-facade' 'tycho-maven-plugin' 'tycho-p2/tycho-p2-repository-plugin' 'tycho-p2/tycho-p2-publisher-plugin' 'target-platform-configuration' 'tycho-artifactcomparator' 'sisu-equinox/sisu-equinox-launching' 'tycho-p2/tycho-p2-plugin' 'tycho-lib-detector' 'tycho-compiler-jdt' 'tycho-compiler-plugin' )
|
||||||
|
|
||||||
|
for ((i=0; i < ${#xtraBundles[@]}; i++)) ;do
|
||||||
|
echo ''
|
||||||
|
echo 'Building ' ${xtraBundles[${i}]} '...'
|
||||||
|
echo ''
|
||||||
|
isolateProject ${xtraBundles[${i}]} ${fp2V}
|
||||||
|
minibuild ${xtraBundles[${i}]} "${xtraDeps[${i}]}" ${xtraExternalDeps[${i}]}
|
||||||
|
unifyProject ${xtraBundles[${i}]}
|
||||||
|
done
|
||||||
|
|
||||||
|
# TODO: stop minibuild function from hard-coding org/eclipse/tycho GID path
|
||||||
|
dir=$(pwd)/.m2/org/fedoraproject/p2/org.fedoraproject.p2/
|
||||||
|
mkdir -p ${dir}
|
||||||
|
ln -s $(pwd)/.m2/org/eclipse/tycho/org.fedoraproject.p2/${fp2V} ${dir}
|
||||||
|
|
||||||
|
for ((i=0; i < ${#bundles[@]}; i++)) ;do
|
||||||
|
echo ''
|
||||||
|
echo 'Building ' ${bundles[${i}]} '...'
|
||||||
|
echo ''
|
||||||
|
isolateProject ${bundles[${i}]}
|
||||||
|
minibuild ${bundles[${i}]} "${deps[${i}]}" ${externalDeps[${i}]}
|
||||||
|
unifyProject ${bundles[${i}]}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Run the build on this maven reactor project
|
||||||
|
for proj in ${reactorprojs[@]} ; do
|
||||||
|
isolateProject ${proj}
|
||||||
|
xmvn -B -o -e -f "${proj}/pom.xml" -Dmaven.repo.local=$(pwd)/.m2 -Dmaven.test.skip=true \
|
||||||
|
-Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 -Dproject.build.sourceEncoding=UTF-8 \
|
||||||
|
clean install
|
||||||
|
unifyProject ${proj}
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add org.fedoraproject.p2 to target platform for tycho-bundles-external
|
||||||
|
extras='bootstrap/extras'
|
||||||
|
mkdir -p ${extras}
|
||||||
|
fp2Loc=`find .m2 -name "org.fedoraproject.p2-*.jar"`
|
||||||
|
cp ${fp2Loc} ${extras}
|
||||||
|
|
||||||
|
# Tycho Bundles External (needed for Tycho's OSGi Runtime)
|
||||||
|
tbeDir='tycho-bundles/tycho-bundles-external'
|
||||||
|
tbeTargetDir="${tbeDir}/target"
|
||||||
|
wantedBundles=`sed 's/ fragment=\"true\"//' "${tbeDir}/tycho-bundles-external.product" | sed -n 's/.*<plugin id=\"\(.*\)\"\/>.*/\1/ p'`
|
||||||
|
|
||||||
|
mkdir -p ${tbeTargetDir}'/eclipse/plugins'
|
||||||
|
copyBundles "${wantedBundles}" "${tbeTargetDir}/eclipse/plugins"
|
||||||
|
|
||||||
|
pushd ${tbeTargetDir}
|
||||||
|
|
||||||
|
echo "#Eclipse Product File
|
||||||
|
#Thu Dec 19 21:40:37 EST 2013
|
||||||
|
version=${v}
|
||||||
|
name=org.eclipse.tycho.p2
|
||||||
|
id=tycho-bundles-external" > 'eclipse/.eclipseproduct'
|
||||||
|
|
||||||
|
mkdir -p 'eclipse/configuration'
|
||||||
|
|
||||||
|
echo '#Product Runtime Configuration File
|
||||||
|
#Thu Dec 19 21:40:37 EST 2013
|
||||||
|
osgi.bundles=org.apache.commons.codec,org.apache.commons.logging,org.apache.httpcomponents.httpclient,org.apache.httpcomponents.httpcore,org.eclipse.core.contenttype,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.runtime@4\:start,org.eclipse.core.runtime.compatibility.registry,org.eclipse.ecf,org.eclipse.ecf.filetransfer,org.eclipse.ecf.identity,org.eclipse.ecf.provider.filetransfer,org.eclipse.ecf.provider.filetransfer.httpclient4,org.eclipse.ecf.provider.filetransfer.httpclient4.ssl,org.eclipse.ecf.provider.filetransfer.ssl,org.eclipse.ecf.ssl,org.eclipse.equinox.app,org.eclipse.equinox.common@2\:start,org.eclipse.equinox.concurrent,org.eclipse.equinox.ds@2\:start,org.eclipse.equinox.frameworkadmin,org.eclipse.equinox.frameworkadmin.equinox,org.eclipse.equinox.launcher,org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.director.app,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.garbagecollector,org.eclipse.equinox.p2.jarprocessor,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.publisher.eclipse,org.eclipse.equinox.p2.repository,org.eclipse.equinox.p2.repository.tools,org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.equinox.p2.touchpoint.natives,org.eclipse.equinox.p2.transport.ecf,org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.equinox.security,org.eclipse.equinox.simpleconfigurator,org.eclipse.equinox.simpleconfigurator.manipulator,org.eclipse.equinox.util,org.eclipse.osgi.services,org.eclipse.osgi.compatibility.state,org.eclipse.tycho.noopsecurity,org.sat4j.core,org.sat4j.pb,org.eclipse.osgi.util,org.apache.felix.scr,org.kxml2,org.xmlpull,org.fedoraproject.p2
|
||||||
|
osgi.bundles.defaultStartLevel=4
|
||||||
|
eclipse.product=org.eclipse.equinox.p2.director.app.product
|
||||||
|
osgi.splashPath=platform\:/base/plugins/org' > 'eclipse/configuration/config.ini'
|
||||||
|
|
||||||
|
zip -r "tycho-bundles-external-${v}.zip" 'eclipse'
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
loc=".m2/org/eclipse/tycho/tycho-bundles-external/${v}"
|
||||||
|
|
||||||
|
mkdir -p ${loc}
|
||||||
|
cp "${tbeTargetDir}/tycho-bundles-external-${v}.zip" ${loc}
|
||||||
|
cp 'tycho-bundles/tycho-bundles-external/pom.xml' "${loc}/tycho-bundles-external-${v}.pom"
|
||||||
|
|
||||||
|
sed -i "s/<equinoxVersionMaven>.*<\/equinoxVersionMaven>/<equinoxVersionMaven>${osgiV}<\/equinoxVersionMaven>/" pom.xml
|
||||||
|
sed -i "s/<equinoxCompatVersionMaven>.*<\/equinoxCompatVersionMaven>/<equinoxCompatVersionMaven>${osgiCompatV}<\/equinoxCompatVersionMaven>/" pom.xml
|
||||||
|
# xmvn-p2-installer-plugin needs to find the org.eclipse.osgi bundle
|
||||||
|
sed -i "s/>\${equinox-version}</>${osgiV}</" fedoraproject-p2/xmvn-p2-installer-plugin/pom.xml
|
||||||
25
tycho-debundle.sh
Normal file
25
tycho-debundle.sh
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
. $(pwd)/tycho-scripts.sh
|
||||||
|
|
||||||
|
projLoc=$1
|
||||||
|
zipLoc=$projLoc/target/*.zip
|
||||||
|
mfLoc=$2
|
||||||
|
|
||||||
|
zipDir=`dirname ${zipLoc}`
|
||||||
|
zipFile=`basename ${zipLoc}`
|
||||||
|
tmpDir=${zipDir}/tmp
|
||||||
|
[ -z "$mfLoc" ] && mfLoc=/dev/null
|
||||||
|
|
||||||
|
mkdir -p ${tmpDir}
|
||||||
|
unzip -d ${tmpDir} ${zipLoc}
|
||||||
|
wantedBundles=`sed 's/ fragment=\"true\"//' ${projLoc}/*.product | sed -n 's/.*<plugin id=\"\(.*\)\"\/>.*/\1/ p'`
|
||||||
|
pushd ${tmpDir}
|
||||||
|
pluginsDir=`find . -type d -name plugins`
|
||||||
|
pushd ${pluginsDir} && rm -rf *
|
||||||
|
symlinkBundles "${wantedBundles}"
|
||||||
|
for b in *; do readlink $b; done >$mfLoc
|
||||||
|
popd
|
||||||
|
zip -ry ${zipFile} *
|
||||||
|
popd
|
||||||
|
mv ${tmpDir}/${zipFile} ${zipLoc}
|
||||||
181
tycho-scripts.sh
Normal file
181
tycho-scripts.sh
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
function minibuild () {
|
||||||
|
|
||||||
|
basedir=$1
|
||||||
|
|
||||||
|
src=$(cat "${basedir}/build.properties" | grep 'source..' | cut -d'=' -f2 | sed -e 's/ //g')
|
||||||
|
output=$(cat "${basedir}/build.properties" | grep 'output..' | cut -d'=' -f2 | sed -e 's/ //g')
|
||||||
|
bName=$(cat "${basedir}/META-INF/MANIFEST.MF" | grep 'Bundle-SymbolicName:' | sed 's/Bundle-SymbolicName: \([a-zA-Z0-9_.-]*\)\(;\)\?.*/\1/')
|
||||||
|
artifactId=$(cat "${basedir}/pom.xml" | sed '/<parent>/,/<\/parent>/ d' | grep "<artifactId>" | sed 's/.*<artifactId>\(.*\)<\/artifactId>.*/\1/')
|
||||||
|
version=$(cat "${basedir}/pom.xml" | grep "<version>" | sed 's/.*<version>\(.*\)<\/version>.*/\1/')
|
||||||
|
|
||||||
|
# External (System) dependencies
|
||||||
|
if [ $# -eq 3 ]; then
|
||||||
|
mkdir -p "${basedir}/target/externalDeps"
|
||||||
|
copyBundles $3 "${basedir}/target/externalDeps"
|
||||||
|
else
|
||||||
|
mkdir -p "${basedir}/target"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "${basedir}/${output}"
|
||||||
|
|
||||||
|
# Compile
|
||||||
|
cp=
|
||||||
|
if [ $# -gt 1 ]; then
|
||||||
|
cp='-classpath '$2':'"${basedir}"'/target/externalDeps/*'
|
||||||
|
fi
|
||||||
|
|
||||||
|
javac -d "${basedir}/${output}" -encoding utf8 \
|
||||||
|
$(for file in `find "${basedir}/${src}" -name "*.java"`; \
|
||||||
|
do echo -n "${file} "; \
|
||||||
|
done;) \
|
||||||
|
${cp}
|
||||||
|
|
||||||
|
# Package
|
||||||
|
pushd ${basedir}
|
||||||
|
pushd ${output}
|
||||||
|
classfiles=`for file in $(find . -name "*.class"); do echo -n ' -C '${output} ${file} ; done;`
|
||||||
|
popd
|
||||||
|
packagefiles="${classfiles}"
|
||||||
|
[ -e about.html ] && packagefiles="about.html $packagefiles"
|
||||||
|
[ -e plugin.properties ] && packagefiles="plugin.properties $packagefiles"
|
||||||
|
[ -e plugin.xml ] && packagefiles="plugin.xml $packagefiles"
|
||||||
|
[ -e OSGI-INF ] && packagefiles="OSGI-INF $packagefiles"
|
||||||
|
jar -cfmv "target/${bName}-${version}.jar" 'META-INF/MANIFEST.MF' ${packagefiles}
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Install
|
||||||
|
loc=".m2/org/eclipse/tycho/${artifactId}/${version}"
|
||||||
|
mkdir -p ${loc}
|
||||||
|
cp "${basedir}/target/${bName}-${version}.jar" ${loc}
|
||||||
|
cp "${basedir}/pom.xml" "${loc}/${bName}-${version}.pom"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function copyBundles () {
|
||||||
|
|
||||||
|
# X_SCLS expands to list of currently enabled SCLs, in the order they were enabled, if any
|
||||||
|
scls="$X_SCLS"
|
||||||
|
baseLocations=( '/usr/share/java' '/usr/lib/java' '/usr/lib/eclipse' )
|
||||||
|
osgiLocations=(${baseLocations[@]} ${osgiLocations[@]} )
|
||||||
|
for scl in ${scls} ; do
|
||||||
|
osgiLocations=( ${baseLocations[@]/#//opt/rh/${scl}/root} ${osgiLocations[@]} )
|
||||||
|
done
|
||||||
|
|
||||||
|
prefix="$(pwd)/bootstrap"
|
||||||
|
osgiLocations=( ${osgiLocations[@]/#/${prefix}} )
|
||||||
|
osgiLocations+=( ${osgiLocations[@]/${prefix}/} )
|
||||||
|
osgiLocations=( ${prefix}/extras ${osgiLocations[@]} )
|
||||||
|
|
||||||
|
wantedBundles=`echo $1 | tr ',' ' '`
|
||||||
|
destDir=$2
|
||||||
|
|
||||||
|
for loc in ${osgiLocations[@]} ; do
|
||||||
|
for jar in `find ${loc} -name "*.jar" 2>/dev/null`; do
|
||||||
|
bsn=`readBSN ${jar}`
|
||||||
|
if [ -n "${bsn}" ]; then
|
||||||
|
versionline=`unzip -p ${jar} 'META-INF/MANIFEST.MF' | grep 'Bundle-Version:'`
|
||||||
|
vers=`echo "${versionline}" | sed 's/Bundle-Version: \([a-zA-Z0-9_.-]*\).*/\1/'`
|
||||||
|
if echo ${wantedBundles} | grep "${bsn}" ; then
|
||||||
|
cp ${jar} "${destDir}/${bsn}_${vers}.jar"
|
||||||
|
wantedBundles=`removeFromList "${wantedBundles}" "${bsn}"`
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function symlinkBundles () {
|
||||||
|
|
||||||
|
# Bootstrap Built Tycho provides some Eclipse bundles
|
||||||
|
# Prevent non-bootstrap build's de-bundling from symlinking to them
|
||||||
|
# SCL priority is from right to left.
|
||||||
|
# X_SCLS expands to list of currently enabled SCLs, in the order they were enabled, if any
|
||||||
|
scls="$X_SCLS"
|
||||||
|
baseLocations=( '/usr/share/java/eclipse' '/usr/share/java' '/usr/lib/java' )
|
||||||
|
osgiLocations=(${baseLocations[@]} ${osgiLocations[@]} )
|
||||||
|
for scl in ${scls} ; do
|
||||||
|
osgiLocations=( ${baseLocations[@]/#//opt/rh/${scl}/root} ${osgiLocations[@]} )
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
wantedBundles=`echo $1 | tr ',' ' '`
|
||||||
|
|
||||||
|
for loc in ${osgiLocations[@]} ; do
|
||||||
|
for jar in `find ${loc} -name "*.jar" 2>/dev/null`; do
|
||||||
|
bsn=`readBSN ${jar}`
|
||||||
|
if [ -n "${bsn}" ]; then
|
||||||
|
echo ${wantedBundles} | grep -q "${bsn}"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
ln -s ${jar} "${bsn}.jar"
|
||||||
|
wantedBundles=`removeFromList "${wantedBundles}" "${bsn}"`
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeFromList () {
|
||||||
|
arr=( ${1} )
|
||||||
|
for (( i=0; i < ${#arr[@]}; i++ )); do
|
||||||
|
if [ "${arr[${i}]}" = "$2" ]; then
|
||||||
|
arr[${i}]=
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo ${arr[@]}
|
||||||
|
}
|
||||||
|
|
||||||
|
function isolateProject () {
|
||||||
|
cp $1/pom.xml $1/pom.xml.boot
|
||||||
|
|
||||||
|
sed -i -e "/<artifactId>org.eclipse.osgi</ a <version>${osgiV}</version>" \
|
||||||
|
-e "/<artifactId>org.eclipse.osgi.compatibility.state</ a <version>${osgiCompatV}</version>" \
|
||||||
|
-e '/<parent>/,/<\/parent>/ d' "$1/pom.xml"
|
||||||
|
if ! grep -q generate-metadata "$1/pom.xml" ; then
|
||||||
|
sed -i -e "/<artifactId>plexus-component-metadata</ a <version>1.5.5</version><executions><execution><goals><goal>generate-metadata</goal></goals></execution></executions>" "$1/pom.xml"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $# -eq 2 ]; then
|
||||||
|
sed -i "/<modelVersion>/ a <groupId>org.eclipse.tycho<\/groupId><version>$2<\/version>" "$1/pom.xml"
|
||||||
|
else
|
||||||
|
sed -i "/<modelVersion>/ a <groupId>org.eclipse.tycho<\/groupId><version>${v}<\/version>" "$1/pom.xml"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function unifyProject () {
|
||||||
|
cp $1/pom.xml.boot $1/pom.xml
|
||||||
|
}
|
||||||
|
|
||||||
|
function readBSN () {
|
||||||
|
|
||||||
|
bsn=
|
||||||
|
manEntryPat="^[a-zA-Z-]*:"
|
||||||
|
foundBSNLine=0
|
||||||
|
|
||||||
|
while read line; do
|
||||||
|
if [ ${foundBSNLine} -eq 1 ]; then
|
||||||
|
echo ${line} | grep -qE ${manEntryPat}
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
break
|
||||||
|
else
|
||||||
|
bsn=${bsn}"`echo ${line} | sed 's/\([a-zA-Z0-9_.-]*\)\(;\)\?.*/\1/'`"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ${line} | grep -q "Bundle-SymbolicName:"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
bsn=`echo ${line} | grep 'Bundle-SymbolicName:' | sed 's/Bundle-SymbolicName: \([a-zA-Z0-9_.-]*\)\(;\)\?.*/\1/'`
|
||||||
|
echo ${line} | grep "Bundle-SymbolicName:" | grep -q ";"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
foundBSNLine=1
|
||||||
|
fi
|
||||||
|
done < <(unzip -p $1 'META-INF/MANIFEST.MF')
|
||||||
|
|
||||||
|
echo ${bsn}
|
||||||
|
|
||||||
|
}
|
||||||
253
tycho.spec
Normal file
253
tycho.spec
Normal file
@ -0,0 +1,253 @@
|
|||||||
|
%bcond_with bootstrap
|
||||||
|
%bcond_without junit5
|
||||||
|
%global git_tag tycho-%{version}
|
||||||
|
%global fp_p2_git_tag 290f67a4c717599b2f5166ea89aa5365571314b1
|
||||||
|
%global fp_p2_version 0.0.1
|
||||||
|
%global fp_p2_snap -SNAPSHOT
|
||||||
|
%global xmvn_libdir %(realpath $(dirname $(readlink -f $(which xmvn)))/../lib)
|
||||||
|
%define __requires_exclude osgi*
|
||||||
|
Name: tycho
|
||||||
|
Version: 1.3.0
|
||||||
|
Release: 1
|
||||||
|
Summary: Plugins and extensions for building Eclipse plugins and OSGI bundles with Maven
|
||||||
|
License: ASL 2.0 and EPL-1.0
|
||||||
|
URL: http://eclipse.org/tycho
|
||||||
|
Source0: http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/snapshot/org.eclipse.tycho-%{git_tag}.tar.xz
|
||||||
|
Source1: https://github.com/rgrunber/fedoraproject-p2/archive/%{fp_p2_git_tag}/fedoraproject-p2-%{fp_p2_git_tag}.tar.gz
|
||||||
|
Source3: tycho-scripts.sh
|
||||||
|
Source4: tycho-bootstrap.sh
|
||||||
|
Source5: tycho-debundle.sh
|
||||||
|
Source6: p2-install.sh
|
||||||
|
%if %{with bootstrap}
|
||||||
|
Source10: eclipse-bootstrap-photon.tar.xz
|
||||||
|
%endif
|
||||||
|
# Submitted upstream: https://bugs.eclipse.org/bugs/show_bug.cgi?id=537963
|
||||||
|
Patch0: 0001-Bug-537963-Make-the-default-EE-Java-1.8.patch
|
||||||
|
# Merged upstream: https://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=a437fb8870761d733199392f25a8c0e4f34caae9
|
||||||
|
Patch1: 0002-Bug-543850-Update-artifactcomparator-asm-dep-to-7.0.patch
|
||||||
|
# Port to latest version of Mockito 2.x
|
||||||
|
Patch2: 0003-Port-to-latest-versio-of-Mockito.patch
|
||||||
|
# Upstream Eclipse no longer supports non-64bit arches
|
||||||
|
ExcludeArch: s390 %{arm} %{ix86}
|
||||||
|
BuildArch: noarch
|
||||||
|
BuildRequires: maven-local mvn(biz.aQute.bnd:bnd-maven-plugin) mvn(com.beust:jcommander)
|
||||||
|
BuildRequires: mvn(de.pdark:decentxml) mvn(junit:junit)
|
||||||
|
BuildRequires: mvn(org.apache.commons:commons-compress) mvn(org.apache.commons:commons-exec)
|
||||||
|
BuildRequires: mvn(org.apache.commons:commons-lang3) mvn(org.apache.felix:maven-bundle-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.maven:maven-archiver) mvn(org.apache.maven:maven-compat)
|
||||||
|
BuildRequires: mvn(org.apache.maven:maven-core) 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-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.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) mvn(org.eclipse.jdt:ecj)
|
||||||
|
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-api) mvn(org.fedoraproject.xmvn:xmvn-core)
|
||||||
|
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-install)
|
||||||
|
BuildRequires: mvn(org.fedoraproject.xmvn:xmvn-parent:pom:) mvn(org.hamcrest:hamcrest-core)
|
||||||
|
BuildRequires: mvn(org.mockito:mockito-core) mvn(org.ow2.asm:asm-tree)
|
||||||
|
BuildRequires: mvn(org.ow2.asm:asm-util) mvn(org.slf4j:slf4j-api) mvn(org.slf4j:slf4j-simple)
|
||||||
|
%if %{with junit5}
|
||||||
|
BuildRequires: mvn(org.apache.maven.surefire:surefire-junit-platform)
|
||||||
|
BuildRequires: mvn(org.apiguardian:apiguardian-api) mvn(org.opentest4j:opentest4j)
|
||||||
|
%endif
|
||||||
|
%if ! %{with bootstrap}
|
||||||
|
BuildRequires: %{name} eclipse-platform >= 1:4.11
|
||||||
|
%else
|
||||||
|
BuildRequires: osgi(com.ibm.icu) osgi(org.apache.commons.jxpath) osgi(org.apache.batik.css)
|
||||||
|
BuildRequires: osgi(org.kxml2) osgi(org.sat4j.core) osgi(org.sat4j.pb) osgi(org.w3c.css.sac)
|
||||||
|
BuildRequires: osgi(javax.servlet-api) osgi(javax.servlet.jsp)
|
||||||
|
%endif
|
||||||
|
Requires: maven-local xmvn-minimal >= 3 ecj >= 1:4.7.3a-1
|
||||||
|
%if ! %{with bootstrap}
|
||||||
|
Requires: eclipse-platform >= 1:4.11
|
||||||
|
%endif
|
||||||
|
Requires: maven-clean-plugin
|
||||||
|
%description
|
||||||
|
Tycho is a set of Maven plugins and extensions for building Eclipse
|
||||||
|
plugins and OSGI bundles with Maven. Eclipse plugins and OSGI bundles
|
||||||
|
have their own metadata for expressing dependencies, source folder
|
||||||
|
locations, etc. that are normally found in a Maven POM. Tycho uses
|
||||||
|
native metadata for Eclipse plugins and OSGi bundles and uses the POM
|
||||||
|
to configure and drive the build. Tycho supports bundles, fragments,
|
||||||
|
features, update site projects and RCP applications. Tycho also knows
|
||||||
|
how to run JUnit test plugins using OSGi runtime and there is also
|
||||||
|
support for sharing build results using Maven artifact repositories.
|
||||||
|
Tycho plugins introduce new packaging types and the corresponding
|
||||||
|
lifecycle bindings that allow Maven to use OSGi and Eclipse metadata
|
||||||
|
during a Maven build. OSGi rules are used to resolve project
|
||||||
|
dependencies and package visibility restrictions are honored by the
|
||||||
|
OSGi-aware JDT-based compiler plugin. Tycho will use OSGi metadata and
|
||||||
|
OSGi rules to calculate project dependencies dynamically and injects
|
||||||
|
them into the Maven project model at build time. Tycho supports all
|
||||||
|
attributes supported by the Eclipse OSGi resolver (Require-Bundle,
|
||||||
|
Import-Package, Eclipse-GenericRequire, etc). Tycho will use proper
|
||||||
|
classpath access rules during compilation. Tycho supports all project
|
||||||
|
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}
|
||||||
|
%description javadoc
|
||||||
|
This package contains the API documentation for %{name}.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n org.eclipse.tycho-%{git_tag} -a 1
|
||||||
|
mv fedoraproject-p2-%{fp_p2_git_tag} fedoraproject-p2
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%pom_remove_plugin :maven-site-plugin
|
||||||
|
%if %{without junit5}
|
||||||
|
%pom_disable_module org.eclipse.tycho.surefire.junit5 tycho-surefire
|
||||||
|
%pom_remove_dep ":org.eclipse.tycho.surefire.junit5" tycho-surefire/tycho-surefire-plugin
|
||||||
|
%endif
|
||||||
|
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'
|
||||||
|
sed -i 's/public int getPriority/public float getPriority/g' tycho-core/src/main/java/org/eclipse/tycho/core/p2/P2RepositoryConnectorFactory.java
|
||||||
|
mkdir -p tycho-maven-plugin/src/main/java/org/fedoraproject
|
||||||
|
sed -i '/^<unit id=.*$/d' tycho-bundles/tycho-bundles-target/tycho-bundles-target.target
|
||||||
|
%pom_xpath_remove "pom:dependency[pom:classifier='sources' and pom:artifactId='commons-compress']" tycho-p2/tycho-p2-director-plugin
|
||||||
|
for mod in tycho-bundles/org.eclipse.tycho.{p2.{maven.repository.tests,resolver.impl.test,tools.tests},test.utils,core.shared.tests}; do
|
||||||
|
sed -i 's/^Require-Bundle://
|
||||||
|
/org\.junit/ i Require-Bundle: org.hamcrest.core,' \
|
||||||
|
$mod/META-INF/MANIFEST.MF
|
||||||
|
done
|
||||||
|
sed -i -e '/tycho-testing-harness/a<version>${project.version}</version>' tycho-surefire/tycho-surefire-plugin/pom.xml
|
||||||
|
%if %{with bootstrap}
|
||||||
|
%pom_xpath_remove "pom:compilerId" tycho-lib-detector
|
||||||
|
%pom_remove_dep "org.eclipse.tycho:tycho-compiler-jdt" tycho-lib-detector
|
||||||
|
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
|
||||||
|
tar -xf %{SOURCE10}
|
||||||
|
pushd bootstrap
|
||||||
|
for f in usr/lib/eclipse/plugins/org.eclipse.osgi.compatibility.state_*.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
|
||||||
|
cp %{SOURCE3} %{SOURCE4} .
|
||||||
|
./tycho-bootstrap.sh %{version}
|
||||||
|
%else
|
||||||
|
sysVer=`grep -C 1 "<artifactId>tycho</artifactId>" %{_mavenpomdir}/tycho/tycho.pom | grep "version" | sed 's/.*>\(.*\)<.*/\1/'`
|
||||||
|
mkdir boot
|
||||||
|
sed -e 's/ns[0-9]://g' %{_datadir}/maven-metadata/tycho.xml > boot/tycho-metadata.xml
|
||||||
|
for pom in $(grep 'pom</path>' boot/tycho-metadata.xml | sed 's|.*>\(.*\)<.*|\1|'); do
|
||||||
|
sed -e "s/>$sysVer/>%{version}-SNAPSHOT/g" -e "s/%{fp_p2_version}%{fp_p2_snap}/%{fp_p2_version}/" <$pom >boot/$(basename $pom)
|
||||||
|
done
|
||||||
|
cp -p $(build-classpath tycho/tycho-maven-plugin) boot/tycho-maven-plugin.jar
|
||||||
|
jar xf boot/tycho-maven-plugin.jar META-INF/plexus/components.xml
|
||||||
|
sed -i s/$sysVer/%{version}-SNAPSHOT/ META-INF/plexus/components.xml
|
||||||
|
jar uf boot/tycho-maven-plugin.jar META-INF/plexus/components.xml
|
||||||
|
sed -i '
|
||||||
|
s|>/[^<]*/\([^/]*\.pom\)</path>|>'$PWD'/boot/\1</path>|
|
||||||
|
s|>'$sysVer'</version>|>%{version}-SNAPSHOT</version><compatVersions><version>%{version}-SNAPSHOT</version></compatVersions>|
|
||||||
|
s|>'%{fp_p2_version}%{fp_p2_snap}'</version>|>%{fp_p2_version}</version><compatVersions><version>%{fp_p2_version}</version></compatVersions>|
|
||||||
|
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
|
||||||
|
%pom_add_plugin :maven-clean-plugin tycho-bundles/tycho-standalone-p2-director "
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>default-clean-1</id>
|
||||||
|
<phase>initialize</phase>
|
||||||
|
<configuration>
|
||||||
|
<skip>true</skip>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>"
|
||||||
|
%pom_xpath_inject "pom:modules" "<module>fedoraproject-p2</module>"
|
||||||
|
|
||||||
|
%build
|
||||||
|
%mvn_build -f -- \
|
||||||
|
-Dtycho-version=%{version}-SNAPSHOT -DtychoBootstrapVersion=%{version}-SNAPSHOT \
|
||||||
|
-Dmaven.repo.local=$(pwd)/.m2 -Dfedora.p2.repos=$(pwd)/bootstrap
|
||||||
|
%mvn_artifact fedoraproject-p2/org.fedoraproject.p2/pom.xml
|
||||||
|
sed -i -e 's|type>eclipse.*<|type>jar<|' .xmvn-reactor
|
||||||
|
%mvn_package "::target::" __noinstall
|
||||||
|
%mvn_package ":org.fedoraproject.p2.tests" __noinstall
|
||||||
|
|
||||||
|
%install
|
||||||
|
cp %{SOURCE3} %{SOURCE5} .
|
||||||
|
%if ! %{with bootstrap}
|
||||||
|
chmod 777 tycho-debundle.sh
|
||||||
|
./tycho-debundle.sh $(pwd)/tycho-bundles/tycho-bundles-external \
|
||||||
|
$(pwd)/tycho-bundles/tycho-bundles-external/target/tycho-bundles-external-manifest.txt
|
||||||
|
./tycho-debundle.sh $(pwd)/tycho-bundles/tycho-standalone-p2-director
|
||||||
|
%endif
|
||||||
|
%if %{with bootstrap}
|
||||||
|
for b in org.eclipse.osgi \
|
||||||
|
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
|
||||||
|
%mvn_alias "org.eclipse.tycho:$b" "org.eclipse.osgi:$b"
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
%mvn_install
|
||||||
|
%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
|
||||||
|
%if %{with bootstrap}
|
||||||
|
for bnd in \
|
||||||
|
core.contenttype \
|
||||||
|
core.expressions \
|
||||||
|
core.filesystem \
|
||||||
|
core.jobs \
|
||||||
|
core.net \
|
||||||
|
core.resources \
|
||||||
|
core.runtime \
|
||||||
|
equinox.app \
|
||||||
|
equinox.common \
|
||||||
|
equinox.concurrent \
|
||||||
|
equinox.preferences \
|
||||||
|
equinox.registry \
|
||||||
|
equinox.security ; do
|
||||||
|
bndJarPath=$(find bootstrap -name "org.eclipse.${bnd}_*.jar")
|
||||||
|
install -m 644 -T $bndJarPath $RPM_BUILD_ROOT%{_javadir}/tycho/$bnd.jar
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
sed -i '/<resolvedVersion>/d' %{buildroot}%{_datadir}/maven-metadata/tycho.xml
|
||||||
|
install -dm 755 %{buildroot}%{_javadir}-utils/
|
||||||
|
install -pm 755 %{SOURCE6} %{buildroot}%{_javadir}-utils/
|
||||||
|
install -dm 755 %{buildroot}%{xmvn_libdir}/installer/
|
||||||
|
%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/
|
||||||
|
%endif
|
||||||
|
ln -s %{_javadir}/tycho/xmvn-p2-installer-plugin.jar %{buildroot}%{xmvn_libdir}/installer/
|
||||||
|
ln -s %{_javadir}/tycho/org.fedoraproject.p2.jar %{buildroot}%{xmvn_libdir}/installer/
|
||||||
|
|
||||||
|
%files -f .mfiles
|
||||||
|
%{xmvn_libdir}/installer/*
|
||||||
|
%{_javadir}-utils/p2-install.sh
|
||||||
|
%if %{with bootstrap}
|
||||||
|
%{_javadir}/tycho/core.*.jar
|
||||||
|
%{_javadir}/tycho/equinox.*.jar
|
||||||
|
%endif
|
||||||
|
%doc README.md
|
||||||
|
|
||||||
|
%files javadoc -f .mfiles-javadoc
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Aug 21 2020 maminjie <maminjie1@huawei.com> - 1.3.0-1
|
||||||
|
- package init
|
||||||
4
tycho.yaml
Normal file
4
tycho.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
version_control: github
|
||||||
|
src_repo: eclipse/tycho
|
||||||
|
tag_prefix: "tycho-"
|
||||||
|
seperator: "."
|
||||||
Loading…
x
Reference in New Issue
Block a user