tycho/tycho-fix-bootstrap-build.p...

255 lines
13 KiB
Diff
Raw Normal View History

From 6716c4da7fb5fae69f35ebfe72b23ed2e40899f1 Mon Sep 17 00:00:00 2001
From: Roland Grunberg <rgrunber@redhat.com>
Date: Mon, 19 Nov 2012 10:33:43 -0500
Subject: [PATCH] Minor fixes of limited scope to get a Tycho bootstrapped
build.
Eclipse p2 repositories can change subtly (disappear, become composites)
causing bizare failures in resolving from the reactor cache so we must
keep the URLs up to date.
When doing a bootstrap build, we're using upstream jars with class files
compiled as 'jsr14' (Allows running on 1.4 JDK and can compile against
1.5 sources). JDK 1.7 is not backwards compatible (eg. info on generics
is ignored in these jars).
Upstream is still building with Jetty 8 so our bootstrap build must do
the same.
Change-Id: Ib8f471e5df40eb06da4f2d4ca6c2d3ab14f5dc99
---
.../repository/local/TemporaryLocalMavenRepository.java | 6 +++++-
.../tycho/p2/resolver/ProjectorResolutionStrategyTest.java | 4 ++--
.../main/java/org/eclipse/tycho/test/util/HttpServer.java | 5 ++---
.../main/java/org/eclipse/tycho/test/util/LogVerifier.java | 4 ++--
.../src/main/java/org/eclipse/tycho/test/util/P2Context.java | 8 +++++++-
.../main/java/org/eclipse/tycho/test/util/TychoMatchers.java | 5 ++---
.../tycho-bundles-target/tycho-bundles-target.target | 12 ++++++------
.../java/org/eclipse/tycho/core/osgitools/OsgiManifest.java | 12 ++++++------
tycho-surefire/pom.xml | 2 +-
9 files changed, 33 insertions(+), 25 deletions(-)
diff --git a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/TemporaryLocalMavenRepository.java b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/TemporaryLocalMavenRepository.java
index c344056..40c5fc0 100644
--- a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/TemporaryLocalMavenRepository.java
+++ b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/src/test/java/org/eclipse/tycho/repository/local/TemporaryLocalMavenRepository.java
@@ -53,7 +53,11 @@ public class TemporaryLocalMavenRepository extends ExternalResource {
public File getLocalRepositoryRoot() {
if (repoRoot == null) {
- repoRoot = tempManager.newFolder("repository");
+ try {
+ repoRoot = tempManager.newFolder("repository");
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
}
return repoRoot;
}
diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl.test/src/test/java/org/eclipse/tycho/p2/resolver/ProjectorResolutionStrategyTest.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl.test/src/test/java/org/eclipse/tycho/p2/resolver/ProjectorResolutionStrategyTest.java
index ee27774..e39ae93 100644
--- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl.test/src/test/java/org/eclipse/tycho/p2/resolver/ProjectorResolutionStrategyTest.java
+++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl.test/src/test/java/org/eclipse/tycho/p2/resolver/ProjectorResolutionStrategyTest.java
@@ -11,11 +11,11 @@
package org.eclipse.tycho.p2.resolver;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.hasItem;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
-import static org.junit.internal.matchers.IsCollectionContaining.hasItem;
-import static org.junit.matchers.JUnitMatchers.containsString;
import java.util.ArrayList;
import java.util.Collection;
diff --git a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/HttpServer.java b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/HttpServer.java
index 47423e5..4b4c600 100644
--- a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/HttpServer.java
+++ b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/HttpServer.java
@@ -20,10 +20,9 @@ import java.util.Random;
import org.eclipse.jetty.security.ConstraintMapping;
import org.eclipse.jetty.security.ConstraintSecurityHandler;
import org.eclipse.jetty.security.HashLoginService;
-import org.eclipse.jetty.server.AbstractNetworkConnector;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.server.bio.SocketConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.rules.ExternalResource;
@@ -81,7 +80,7 @@ public class HttpServer extends ExternalResource {
private static RunningServer startServerOnPort(int port) throws Exception {
Server jetty = new Server();
- AbstractNetworkConnector connector = new ServerConnector(jetty);
+ Connector connector = new SocketConnector();
connector.setPort(port);
jetty.addConnector(connector);
diff --git a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/LogVerifier.java b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/LogVerifier.java
index 414d155..e1bae59 100644
--- a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/LogVerifier.java
+++ b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/LogVerifier.java
@@ -70,9 +70,9 @@ public class LogVerifier extends Verifier {
MemoryLog logger;
boolean expectNoErrors = true;
- List<Matcher<? extends String>> loggedErrorsMatchers = new ArrayList<Matcher<? extends String>>();
+ List<Matcher<? super String>> loggedErrorsMatchers = new ArrayList<Matcher<? super String>>();
boolean expectNoWarnings = false;
- List<Matcher<? extends String>> loggedWarningsMatchers = new ArrayList<Matcher<? extends String>>();
+ List<Matcher<? super String>> loggedWarningsMatchers = new ArrayList<Matcher<? super String>>();
MemoryLog getInitializedLogger() {
if (logger == null) {
diff --git a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/P2Context.java b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/P2Context.java
index ac34dda..283f9d0 100644
--- a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/P2Context.java
+++ b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/P2Context.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.tycho.test.util;
+import java.io.IOException;
+
import org.eclipse.equinox.p2.core.IProvisioningAgent;
import org.eclipse.equinox.p2.core.ProvisionException;
import org.junit.Rule;
@@ -43,7 +45,11 @@ public final class P2Context extends ExternalResource {
*/
public IProvisioningAgent getAgent() throws ProvisionException {
if (agent == null) {
- agent = Activator.createProvisioningAgent(tempManager.newFolder("p2agent").toURI());
+ try {
+ agent = Activator.createProvisioningAgent(tempManager.newFolder("p2agent").toURI());
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
}
return agent;
}
diff --git a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/TychoMatchers.java b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/TychoMatchers.java
index 6526bf1..9454823 100644
--- a/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/TychoMatchers.java
+++ b/tycho-bundles/org.eclipse.tycho.test.utils/src/main/java/org/eclipse/tycho/test/util/TychoMatchers.java
@@ -16,8 +16,8 @@ import java.util.List;
import org.hamcrest.CoreMatchers;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
-import org.junit.internal.matchers.SubstringMatcher;
-import org.junit.internal.matchers.TypeSafeMatcher;
+import org.hamcrest.TypeSafeMatcher;
+import org.hamcrest.core.SubstringMatcher;
import org.junit.matchers.JUnitMatchers;
/**
@@ -26,7 +26,6 @@ import org.junit.matchers.JUnitMatchers;
* @see CoreMatchers
* @see JUnitMatchers
*/
-@SuppressWarnings("restriction")
public class TychoMatchers {
/**
diff --git a/tycho-bundles/tycho-bundles-target/tycho-bundles-target.target b/tycho-bundles/tycho-bundles-target/tycho-bundles-target.target
index a014278..a6ddfed 100644
--- a/tycho-bundles/tycho-bundles-target/tycho-bundles-target.target
+++ b/tycho-bundles/tycho-bundles-target/tycho-bundles-target.target
@@ -2,16 +2,16 @@
<?pde version="3.8"?><target name="Target platform for Tycho's bundles" sequenceNumber="15">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="false" type="InstallableUnit">
-<unit id="org.eclipse.equinox.executable.feature.group" version="3.6.0.v20130228-0336"/>
-<unit id="org.eclipse.sdk.ide" version="4.3.0.I20130314-1330"/>
-<unit id="org.eclipse.equinox.p2.sdk.feature.group" version="3.8.0.v20130314-0217"/>
-<unit id="org.eclipse.equinox.core.sdk.feature.group" version="3.8.0.v20130312-1605"/>
+<unit id="org.eclipse.equinox.executable.feature.group"/>
+<unit id="org.eclipse.sdk.ide"/>
+<unit id="org.eclipse.equinox.p2.sdk.feature.group"/>
+<unit id="org.eclipse.equinox.core.sdk.feature.group"/>
<repository location="http://download.eclipse.org/eclipse/updates/4.3milestones/S-4.3M6-201303141330/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="false" type="InstallableUnit">
<!-- required for surefire junit3 provider -->
-<unit id="org.junit" version="3.8.2.v3_8_2_v20100427-1100"/>
-<repository location="http://download.eclipse.org/releases/indigo"/>
+<unit id="org.junit"/>
+<repository location="http://download.eclipse.org/releases/indigo/201202240900"/>
</location>
</locations>
</target>
diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiManifest.java b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiManifest.java
index 37ce827..4cc7644 100644
--- a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiManifest.java
+++ b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiManifest.java
@@ -25,7 +25,7 @@ public class OsgiManifest {
private static final StandardExecutionEnvironment[] EMPTY_EXEC_ENV = new StandardExecutionEnvironment[0];
private String location;
- private Headers<String, String> headers;
+ private Headers headers;
// cache for parsed values of commonly used headers
private String bundleSymbolicName;
@@ -78,7 +78,7 @@ public class OsgiManifest {
}
private String parseMandatoryFirstValue(String headerKey) throws InvalidOSGiManifestException {
- String value = headers.get(headerKey);
+ String value = (String) headers.get(headerKey);
if (value == null) {
throw new InvalidOSGiManifestException(location, "MANIFEST header '" + headerKey + "' not found");
}
@@ -100,12 +100,12 @@ public class OsgiManifest {
&& "dir".equals(bundleShapeElements[0].getValue());
}
- public Headers<String, String> getHeaders() {
+ public Headers getHeaders() {
return headers;
}
public String getValue(String key) {
- return headers.get(key);
+ return (String) headers.get(key);
}
public String getBundleSymbolicName() {
@@ -141,7 +141,7 @@ public class OsgiManifest {
}
private ManifestElement[] parseHeader(String key) {
- String value = headers.get(key);
+ String value = (String) headers.get(key);
if (value == null) {
return null;
}
@@ -154,7 +154,7 @@ public class OsgiManifest {
public ManifestElement[] getManifestElements(String key) throws OsgiManifestParserException {
try {
- return ManifestElement.parseHeader(key, headers.get(key));
+ return ManifestElement.parseHeader(key, (String) headers.get(key));
} catch (BundleException e) {
throw new OsgiManifestParserException(location, e);
}
diff --git a/tycho-surefire/pom.xml b/tycho-surefire/pom.xml
index 16534eb..2d69c67 100644
--- a/tycho-surefire/pom.xml
+++ b/tycho-surefire/pom.xml
@@ -41,7 +41,7 @@
<repository>
<id>eclipse</id>
<layout>p2</layout>
- <url>http://download.eclipse.org/releases/indigo</url>
+ <url>http://download.eclipse.org/releases/indigo/201202240900</url>
</repository>
</repositories>
--
1.8.1.4