[tycho/f18] Revert "Update to latest 0.16.0 SNAPSHOT."

Krzysztof Daniel kdaniel at fedoraproject.org
Mon Oct 8 12:29:46 UTC 2012


commit 66297d51912e2dcd8c98b8325fd1f0ad20df8ddd
Author: Krzysztof Daniel <kdaniel at redhat.com>
Date:   Mon Oct 8 14:11:00 2012 +0200

    Revert "Update to latest 0.16.0 SNAPSHOT."
    
    This reverts commit b90c413777d24c1970ed2c8bb43946e73a16a1e7.

 sources                         |    2 +-
 tycho-bootstrap.patch           |   36 ++--
 tycho-fix-build.patch           |   27 +--
 tycho-fix-surefire.patch        |  144 +++++++--
 tycho-maven-surefire.patch      |  615 +++++----------------------------------
 tycho-use-custom-resolver.patch |  160 +++++------
 tycho.spec                      |   15 +-
 7 files changed, 281 insertions(+), 718 deletions(-)
---
diff --git a/sources b/sources
index 5143db1..0e882cd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-6b2889160641b8470bc12fd50b3ee3fa  org.eclipse.tycho-d7f8850f746dd72e0a97c1fdf32c06ce794fb83d.tar.bz2
+7a11dc2efbcc5904ad8d5c199fcee33a  org.eclipse.tycho-df2c3591ae0e641a8d12c13ca9c1058eaf8439b2.tar.bz2
diff --git a/tycho-bootstrap.patch b/tycho-bootstrap.patch
index eb07ca7..ee7765a 100644
--- a/tycho-bootstrap.patch
+++ b/tycho-bootstrap.patch
@@ -1,5 +1,5 @@
 diff --git a/pom.xml b/pom.xml
-index 1868f9a..61ff701 100644
+index 3a27718..a4a3ed1 100644
 --- a/pom.xml
 +++ b/pom.xml
 @@ -63,7 +63,7 @@
@@ -77,7 +77,7 @@ index a7a8629..ce749e7 100644
  
  	<artifactId>target-platform-configuration</artifactId>
 diff --git a/tycho-artifactcomparator/pom.xml b/tycho-artifactcomparator/pom.xml
-index 11bcb70..720feb5 100644
+index a6ff6f7..a638bac 100644
 --- a/tycho-artifactcomparator/pom.xml
 +++ b/tycho-artifactcomparator/pom.xml
 @@ -16,7 +16,7 @@
@@ -116,7 +116,7 @@ index 2cffad0..e87c76b 100644
  
  	<artifactId>org.eclipse.tycho.core.shared.tests</artifactId>
 diff --git a/tycho-bundles/org.eclipse.tycho.core.shared/META-INF/MANIFEST.MF b/tycho-bundles/org.eclipse.tycho.core.shared/META-INF/MANIFEST.MF
-index 22e8105..2ec4dcb 100644
+index 739b3e7..e5f7e32 100644
 --- a/tycho-bundles/org.eclipse.tycho.core.shared/META-INF/MANIFEST.MF
 +++ b/tycho-bundles/org.eclipse.tycho.core.shared/META-INF/MANIFEST.MF
 @@ -1,7 +1,7 @@
@@ -194,7 +194,7 @@ index 1d71dbb..2aa0e42 100644
  
  	<artifactId>org.eclipse.tycho.noopsecurity</artifactId>
 diff --git a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/META-INF/MANIFEST.MF b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/META-INF/MANIFEST.MF
-index 9ac1b2c..4f71bc1 100644
+index 2d52b8f..442da34 100644
 --- a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/META-INF/MANIFEST.MF
 +++ b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/META-INF/MANIFEST.MF
 @@ -2,7 +2,7 @@ Manifest-Version: 1.0
@@ -205,7 +205,7 @@ index 9ac1b2c..4f71bc1 100644
 +Bundle-Version: 0.16.0
  Bundle-Vendor: %providerName
  Bundle-RequiredExecutionEnvironment: J2SE-1.5
- Fragment-Host: org.eclipse.tycho.p2.maven.repository
+ Require-Bundle: org.eclipse.tycho.p2.maven.repository,
 diff --git a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/pom.xml b/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/pom.xml
 index 296a0f6..85310b8 100644
 --- a/tycho-bundles/org.eclipse.tycho.p2.maven.repository.tests/pom.xml
@@ -220,7 +220,7 @@ index 296a0f6..85310b8 100644
  
  	<artifactId>org.eclipse.tycho.p2.maven.repository.tests</artifactId>
 diff --git a/tycho-bundles/org.eclipse.tycho.p2.maven.repository/META-INF/MANIFEST.MF b/tycho-bundles/org.eclipse.tycho.p2.maven.repository/META-INF/MANIFEST.MF
-index f4b71b6..5a23f51 100644
+index 0143eeb..304024a 100644
 --- a/tycho-bundles/org.eclipse.tycho.p2.maven.repository/META-INF/MANIFEST.MF
 +++ b/tycho-bundles/org.eclipse.tycho.p2.maven.repository/META-INF/MANIFEST.MF
 @@ -2,7 +2,7 @@ Manifest-Version: 1.0
@@ -723,7 +723,7 @@ index b0f47ca..206a28d 100644
  
  	<artifactId>tycho-source-plugin</artifactId>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
-index 73c0ef9..dc89431 100644
+index c7767ba..74437ab 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
 @@ -2,7 +2,7 @@ Manifest-Version: 1.0
@@ -749,7 +749,7 @@ index 188c45c..9ff127c 100644
  
  	<artifactId>org.eclipse.tycho.surefire.junit</artifactId>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
-index 85ecad7..0227c8c 100644
+index 632039f..c6fcd7f 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
 @@ -2,7 +2,7 @@ Manifest-Version: 1.0
@@ -762,7 +762,7 @@ index 85ecad7..0227c8c 100644
  Bundle-RequiredExecutionEnvironment: J2SE-1.5,
   JavaSE-1.6
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml
-index ecf287c..4701d48 100644
+index f7e6791..ace0538 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml
 @@ -17,7 +17,7 @@
@@ -775,7 +775,7 @@ index ecf287c..4701d48 100644
  
  	<artifactId>org.eclipse.tycho.surefire.junit4</artifactId>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
-index 8176947..fb00291 100644
+index 50d53dd..680c4eb 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
 @@ -2,7 +2,7 @@ Manifest-Version: 1.0
@@ -788,7 +788,7 @@ index 8176947..fb00291 100644
  Bundle-RequiredExecutionEnvironment: J2SE-1.5
  Bundle-ClassPath: .,
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
-index dd3b995..df730e1 100644
+index 9be536a..336c8ac 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
 @@ -17,7 +17,7 @@
@@ -801,20 +801,20 @@ index dd3b995..df730e1 100644
  
  	<artifactId>org.eclipse.tycho.surefire.junit47</artifactId>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
-index 92eaa7f..7f3481e 100644
+index d510010..ce8fc7d 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
 @@ -8,7 +8,7 @@ Bundle-ClassPath: .,
-  jars/surefire-api-2.12.3.jar,
-  jars/maven-surefire-common-2.12.3.jar,
-  jars/plexus-utils-3.0.jar
+  jars/surefire-api-2.10.jar,
+  jars/plexus-utils-3.0.jar,
+  jars/maven-surefire-common-2.10.jar
 -Bundle-Version: 0.16.0.qualifier
 +Bundle-Version: 0.16.0
  Bundle-Name: Tycho Surefire OSGi Booter Eclipse Application (Incubation)
  Bundle-ManifestVersion: 2
  Bundle-SymbolicName: org.eclipse.tycho.surefire.osgibooter;singleton:=true
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
-index ef1cbcc..23829a2 100644
+index b6040a5..0c7c7a0 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
 @@ -17,7 +17,7 @@
@@ -827,7 +827,7 @@ index ef1cbcc..23829a2 100644
  
  	<artifactId>org.eclipse.tycho.surefire.osgibooter</artifactId>
 diff --git a/tycho-surefire/pom.xml b/tycho-surefire/pom.xml
-index a3ff67f..79a1a2d 100644
+index fe415d7..eab06be 100644
 --- a/tycho-surefire/pom.xml
 +++ b/tycho-surefire/pom.xml
 @@ -17,7 +17,7 @@
@@ -840,7 +840,7 @@ index a3ff67f..79a1a2d 100644
  
  	<artifactId>tycho-surefire</artifactId>
 diff --git a/tycho-surefire/tycho-surefire-plugin/pom.xml b/tycho-surefire/tycho-surefire-plugin/pom.xml
-index e24eb32..2970388 100644
+index a9e2f1d..8a099eb 100644
 --- a/tycho-surefire/tycho-surefire-plugin/pom.xml
 +++ b/tycho-surefire/tycho-surefire-plugin/pom.xml
 @@ -17,7 +17,7 @@
diff --git a/tycho-fix-build.patch b/tycho-fix-build.patch
index c4ab83c..6425964 100644
--- a/tycho-fix-build.patch
+++ b/tycho-fix-build.patch
@@ -1,4 +1,4 @@
-From e82aad8024d9cddf6e997292c190cf4347f773ce Mon Sep 17 00:00:00 2001
+From 19866503693224e992e2c3caa0b0c978bfe9aee5 Mon Sep 17 00:00:00 2001
 From: Roland Grunberg <rgrunber at redhat.com>
 Date: Tue, 12 Jun 2012 09:56:38 -0400
 Subject: [PATCH] Fix the Tycho build to work on Fedora.
@@ -7,13 +7,6 @@ Minor fixes of limited scope needed to have Tycho building on Fedora.
 
 Remove org.eclipse.equinox.concurrent until present in Fedora Eclipse.
 
-Tycho upstream currently depends upon 0.15.0 when building
-0.16.0-SNAPSHOT, which doesn't have reactor plugin version checking. In
-Fedora we depend on the previously built version which has that version
-checking. We must keep previous build version strings different to avoid
-a cyclic dependency, but doing so causes the version checking to fail,
-so we must provide a way to disable it. (skipTychoVersionCheck)
-
 Change-Id: Ic8c0514c1fa10ee53580d2654ac6a363ccd66814
 ---
  pom.xml                                                       |  5 -----
@@ -22,10 +15,9 @@ Change-Id: Ic8c0514c1fa10ee53580d2654ac6a363ccd66814
  tycho-bundles/tycho-bundles-target/tycho.target               |  4 ----
  .../tycho-standalone-p2-director/p2 Director.product          |  1 -
  tycho-compiler-jdt/pom.xml                                    |  4 ----
- .../tycho/core/maven/TychoMavenLifecycleParticipant.java      |  4 +++-
  .../org/eclipse/tycho/test/AbstractTychoIntegrationTest.java  | 11 +++++------
  .../org/eclipse/tycho/testing/EmptyLifecycleExecutor.java     |  8 ++++++++
- 9 files changed, 18 insertions(+), 24 deletions(-)
+ 8 files changed, 15 insertions(+), 23 deletions(-)
 
 diff --git a/pom.xml b/pom.xml
 index dc7c1f5..1868f9a 100644
@@ -117,21 +109,6 @@ index 01b9a9e..c373e6a 100644
  			<groupId>org.codehaus.plexus</groupId>
  			<artifactId>plexus-compiler-api</artifactId>
  		</dependency>
-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 3efb896..cccb6ff 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
-@@ -84,7 +84,9 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
-     }
- 
-     private void validate(List<MavenProject> projects) throws MavenExecutionException {
--        validateConsistentTychoVersion(projects);
-+        if (System.getProperty("skipTychoVersionCheck") == 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 5c4dcb3..9830aee 100644
 --- a/tycho-testing-harness/src/main/java/org/eclipse/tycho/test/AbstractTychoIntegrationTest.java
diff --git a/tycho-fix-surefire.patch b/tycho-fix-surefire.patch
index da4604f..a10c7bc 100644
--- a/tycho-fix-surefire.patch
+++ b/tycho-fix-surefire.patch
@@ -1,7 +1,7 @@
-From e0f650e736c27c6872082a153561c0739b19edc7 Mon Sep 17 00:00:00 2001
+From 15d879a19f9704b823d38dfc390ba23ef666a422 Mon Sep 17 00:00:00 2001
 From: Roland Grunberg <rgrunber at redhat.com>
-Date: Fri, 21 Sep 2012 10:58:09 -0400
-Subject: [PATCH] Resolve all necessary dependencies for Tycho Surefire.
+Date: Tue, 29 May 2012 14:27:27 -0400
+Subject: [PATCH 2/4] Resolve all necessary dependencies for Tycho Surefire.
 
 When running an Eclipse bundle's tests, Tycho Surefire resolves its
 runtime dependencies using a class loader, which is in fact just looking
@@ -13,18 +13,37 @@ of provided classes. This patch addresses this issue.
 Basically, the jars added to the Bundle-ClassPath in this patch, provide
 the additional classes that are in the original jars used upstream.
 
-Change-Id: I9ef0239eed887fa47c380efcdce968934c788c9f
+Change-Id: I678a961226d5ca27542a2b79a069b995cd3613eb
 ---
+ pom.xml                                                        |  2 +-
  .../org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF      |  5 +++--
+ .../org.eclipse.tycho.surefire.junit/build.properties          |  2 +-
  tycho-surefire/org.eclipse.tycho.surefire.junit/pom.xml        |  5 +++++
  .../org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF     |  4 +++-
+ .../org.eclipse.tycho.surefire.junit4/build.properties         |  2 +-
  tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml       | 10 ++++++++++
  .../org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF    |  4 +++-
+ .../org.eclipse.tycho.surefire.junit47/build.properties        |  2 ++
  tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml      | 10 ++++++++++
- 6 files changed, 34 insertions(+), 4 deletions(-)
+ .../org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF |  3 ++-
+ tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml   |  5 +++++
+ 12 files changed, 46 insertions(+), 8 deletions(-)
 
+diff --git a/pom.xml b/pom.xml
+index 1868f9a..3a27718 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -79,7 +79,7 @@
+ 		<junitVersion>3.8.2</junitVersion>
+ 		<plexusVersion>1.5.5</plexusVersion>
+ 		<plexusInterpolationVersion>1.14</plexusInterpolationVersion>
+-		<plexusUtilsVersion>2.0.4</plexusUtilsVersion>
++		<plexusUtilsVersion>3.0</plexusUtilsVersion>
+ 		<sisuInjectVersion>1.4.2</sisuInjectVersion>
+ 		<wagonVersion>1.0-beta-6</wagonVersion>
+ 		<securityDispatcherVersion>1.3</securityDispatcherVersion>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
-index 66c569d..73c0ef9 100644
+index c9281d6..c7767ba 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
 @@ -6,6 +6,7 @@ Bundle-Version: 0.16.0.qualifier
@@ -32,11 +51,22 @@ index 66c569d..73c0ef9 100644
  Bundle-RequiredExecutionEnvironment: J2SE-1.5,
   JavaSE-1.6
 -Require-Bundle: org.junit;bundle-version="[3.8.0,4.0.0)"
--Bundle-ClassPath: jars/surefire-junit3-2.12.3.jar
+-Bundle-ClassPath: jars/surefire-junit3-2.10.jar
 +Require-Bundle: org.junit;bundle-version="[3.8.0,4.9.0)"
-+Bundle-ClassPath: jars/surefire-junit3-2.12.3.jar,
-+ jars/common-junit3-2.12.3.jar
++Bundle-ClassPath: jars/surefire-junit3-2.10.jar,
++ jars/common-junit3-2.10.jar
  Bundle-Vendor: %providerName
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit/build.properties b/tycho-surefire/org.eclipse.tycho.surefire.junit/build.properties
+index 499ce76..fe88b19 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.junit/build.properties
++++ b/tycho-surefire/org.eclipse.tycho.surefire.junit/build.properties
+@@ -9,5 +9,5 @@
+ #    Sonatype Inc. - initial API and implementation
+ ###############################################################################
+ bin.includes = META-INF/,\
+-               jars/surefire-junit3-2.10.jar,\
++               jars/,\
+                plugin.properties
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.junit/pom.xml
 index f9feec9..188c45c 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit/pom.xml
@@ -54,22 +84,33 @@ index f9feec9..188c45c 100644
  						</configuration>
  					</execution>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
-index 8acb207..85ecad7 100644
+index c2e019c..632039f 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
 @@ -6,7 +6,9 @@ Bundle-Version: 0.16.0.qualifier
  Fragment-Host: org.eclipse.tycho.surefire.osgibooter;bundle-version="0.14.0"
  Bundle-RequiredExecutionEnvironment: J2SE-1.5,
   JavaSE-1.6
--Bundle-ClassPath: jars/surefire-junit4-2.12.3.jar
-+Bundle-ClassPath: jars/surefire-junit4-2.12.3.jar,
-+ jars/common-junit3-2.12.3.jar,
-+ jars/common-junit4-2.12.3.jar
- Import-Package: junit.framework;version="3.0.0",
+-Bundle-ClassPath: jars/surefire-junit4-2.10.jar
++Bundle-ClassPath: jars/surefire-junit4-2.10.jar,
++ jars/common-junit3-2.10.jar,
++ jars/common-junit4-2.10.jar
+ Import-Package: junit.framework;version="4.0.0",
   org.junit;version="4.0.0",
   org.junit.runner;version="4.0.0",
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit4/build.properties b/tycho-surefire/org.eclipse.tycho.surefire.junit4/build.properties
+index b787149..fe88b19 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.junit4/build.properties
++++ b/tycho-surefire/org.eclipse.tycho.surefire.junit4/build.properties
+@@ -9,5 +9,5 @@
+ #    Sonatype Inc. - initial API and implementation
+ ###############################################################################
+ bin.includes = META-INF/,\
+-               jars/surefire-junit4-2.10.jar,\
++               jars/,\
+                plugin.properties
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml
-index f1f821e..ecf287c 100644
+index f1f821e..f7e6791 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit4/pom.xml
 @@ -44,6 +44,16 @@
@@ -80,7 +121,7 @@ index f1f821e..ecf287c 100644
 +									<groupId>org.apache.maven.surefire</groupId>
 +									<artifactId>common-junit3</artifactId>
 +									<version>${surefire-version}</version>
-+									</artifactItem>
++								</artifactItem>
 +								<artifactItem>
 +									<groupId>org.apache.maven.surefire</groupId>
 +									<artifactId>common-junit4</artifactId>
@@ -90,26 +131,39 @@ index f1f821e..ecf287c 100644
  						</configuration>
  					</execution>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
-index 50ed65d..8176947 100644
+index 59d4c36..50d53dd 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
-@@ -8,7 +8,9 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5
+@@ -6,7 +6,9 @@ Bundle-Version: 0.16.0.qualifier
+ Fragment-Host: org.eclipse.tycho.surefire.osgibooter;bundle-version="0.16.0"
+ Bundle-RequiredExecutionEnvironment: J2SE-1.5
  Bundle-ClassPath: .,
-  jars/surefire-junit47-2.12.3.jar,
-  jars/common-junit48-2.12.3.jar,
-- jars/surefire-grouper-2.12.3.jar
-+ jars/surefire-grouper-2.12.3.jar,
-+ jars/common-junit3-2.12.3.jar,
-+ jars/common-junit4-2.12.3.jar
- Import-Package: junit.framework;version="3.0.0",
+- jars/surefire-junit47-2.10.jar
++ jars/surefire-junit47-2.10.jar,
++ jars/common-junit3-2.10.jar,
++ jars/common-junit4-2.10.jar
+ Import-Package: junit.framework;version="[4.7,5)",
   org.junit;version="[4.7,5)",
   org.junit.runner;version="[4.7,5)",
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/build.properties b/tycho-surefire/org.eclipse.tycho.surefire.junit47/build.properties
+index 716961d..ad4ed57 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/build.properties
++++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/build.properties
+@@ -11,6 +11,8 @@
+ bin.includes = .,\
+                META-INF/,\
+                jars/surefire-junit47-2.10.jar,\
++               jars/common-junit3-2.10.jar,\
++               jars/common-junit4-2.10.jar,\
+                plugin.properties,\
+                about.html,\
+                about_files/
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
-index 623631d..dd3b995 100644
+index 61beabb..9be536a 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
-@@ -54,6 +54,16 @@
- 									<artifactId>surefire-grouper</artifactId>
+@@ -44,6 +44,16 @@
+ 									<artifactId>surefire-junit47</artifactId>
  									<version>${surefire-version}</version>
  								</artifactItem>
 +								<artifactItem>
@@ -125,6 +179,36 @@ index 623631d..dd3b995 100644
  							</artifactItems>
  						</configuration>
  					</execution>
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
+index 9c418b3..1bdb8cb 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
++++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
+@@ -5,7 +5,8 @@ Require-Bundle: org.eclipse.osgi;bundle-version="3.2.2",
+ Eclipse-AutoStart: true
+ Bundle-ClassPath: .,
+  jars/surefire-booter-2.10.jar,
+- jars/surefire-api-2.10.jar
++ jars/surefire-api-2.10.jar,
++ jars/plexus-utils-3.0.jar
+ Bundle-Version: 0.16.0.qualifier
+ Bundle-Name: Tycho Surefire OSGi Booter Eclipse Application (Incubation)
+ Bundle-ManifestVersion: 2
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
+index 9582aef..87f1f23 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
++++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
+@@ -52,6 +52,11 @@
+ 									<artifactId>surefire-booter</artifactId>
+ 									<version>${surefire-version}</version>
+ 								</artifactItem>
++								<artifactItem>
++									<groupId>org.codehaus.plexus</groupId>
++									<artifactId>plexus-utils</artifactId>
++									<version>${plexusUtilsVersion}</version>
++								</artifactItem>
+ 							</artifactItems>
+ 						</configuration>
+ 					</execution>
 -- 
-1.7.11.4
+1.7.11.2
 
diff --git a/tycho-maven-surefire.patch b/tycho-maven-surefire.patch
index 65ede3c..ad4286e 100644
--- a/tycho-maven-surefire.patch
+++ b/tycho-maven-surefire.patch
@@ -1,620 +1,151 @@
-From fadaca9cd7c89634ee6bf0676fdf6cb0a0013f3a Mon Sep 17 00:00:00 2001
-From: Jan Sievers <jan.sievers at sap.com>
-Date: Tue, 4 Sep 2012 16:02:52 +0200
-Subject: [PATCH 1/3] POC 386481 update maven surefire to latest version
- 2.12.3
+From e907892903141709326414a573d8703a5dccef47 Mon Sep 17 00:00:00 2001
+From: Roland Grunberg <rgrunber at redhat.com>
+Date: Tue, 12 Jun 2012 10:12:53 -0400
+Subject: [PATCH 3/4] Upstream builds against maven-surefire 2.10 but in
+ rawhide we have 2.12.
 
-while SUREFIRE-825 and SUREFIRE-876 are fixed,
-there are several new problems:
-
-1. The junit47 provider is broken again (probably
-   due to junit bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=318299
-2. the internal structure of surefire chnaged significantly
-   (new jars need to be pulled into OSGi, the Surefire
-   booter/starter API changed, directory scanning must now
-   be done in the TestMojo already
-3. The most sever issue here is that we don't have the dependencies
-   of surefire under control and what used to be more or less self-contained
-   (surefire-api and surefire-booter) now drags in lots of dependencies
-   which we don't really want to wrap in OSGi. I only added those actually
-   needed by what we are using, the correct list of dependent jars would
-   be much longer.
-
-Change-Id: Ibcb439a24add880c4cdafe67b42e29ca3cb14ff1
+Change-Id: I69ceee1cb2abe86bc6ca080ddde6676bf995347a
 ---
- .../META-INF/MANIFEST.MF                           |   2 +-
- .../build.properties                               |   2 +-
- .../META-INF/MANIFEST.MF                           |   2 +-
- .../build.properties                               |   2 +-
- .../META-INF/MANIFEST.MF                           |   7 +-
- .../build.properties                               |   3 +-
- .../org.eclipse.tycho.surefire.junit47/pom.xml     |  10 ++
- .../junitcore/OsgiEnabledJUnitCoreProvider.java    | 126 ---------------------
- .../junitcore/OsgiEnabledJUnitCoreRunListener.java | 100 ----------------
- .../META-INF/MANIFEST.MF                           |   6 +-
- .../org.eclipse.tycho.surefire.osgibooter/pom.xml  |  10 ++
- .../surefire/osgibooter/OsgiSurefireBooter.java    |  34 ++++--
- tycho-surefire/pom.xml                             |   2 +-
- tycho-surefire/tycho-surefire-plugin/pom.xml       |   5 +
- .../java/org/eclipse/tycho/surefire/TestMojo.java  |  29 ++++-
- .../surefire/provider/impl/JUnit47Provider.java    |   2 +-
- 16 files changed, 89 insertions(+), 253 deletions(-)
- delete mode 100644 tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreProvider.java
- delete mode 100644 tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreRunListener.java
+ .../surefire/junitcore/OsgiEnabledJUnitCoreProvider.java  |  2 +-
+ .../META-INF/MANIFEST.MF                                  |  3 ++-
+ .../org.eclipse.tycho.surefire.osgibooter/pom.xml         |  7 +++++++
+ .../tycho/surefire/osgibooter/OsgiSurefireBooter.java     | 15 ++++++++-------
+ .../surefire/osgibooter/TychoClasspathConfiguration.java  |  5 +++++
+ .../main/java/org/eclipse/tycho/surefire/TestMojo.java    |  4 ++--
+ 6 files changed, 25 insertions(+), 11 deletions(-)
 
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
-index c9281d6..66c569d 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.junit/META-INF/MANIFEST.MF
-@@ -7,5 +7,5 @@ Fragment-Host: org.eclipse.tycho.surefire.osgibooter;bundle-version="0.14.0"
- Bundle-RequiredExecutionEnvironment: J2SE-1.5,
-  JavaSE-1.6
- Require-Bundle: org.junit;bundle-version="[3.8.0,4.0.0)"
--Bundle-ClassPath: jars/surefire-junit3-2.10.jar
-+Bundle-ClassPath: jars/surefire-junit3-2.12.3.jar
- Bundle-Vendor: %providerName
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit/build.properties b/tycho-surefire/org.eclipse.tycho.surefire.junit/build.properties
-index 499ce76..fe88b19 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.junit/build.properties
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.junit/build.properties
-@@ -9,5 +9,5 @@
- #    Sonatype Inc. - initial API and implementation
- ###############################################################################
- bin.includes = META-INF/,\
--               jars/surefire-junit3-2.10.jar,\
-+               jars/,\
-                plugin.properties
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
-index c7ba8a9..8acb207 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.junit4/META-INF/MANIFEST.MF
-@@ -6,7 +6,7 @@ Bundle-Version: 0.16.0.qualifier
- Fragment-Host: org.eclipse.tycho.surefire.osgibooter;bundle-version="0.14.0"
- Bundle-RequiredExecutionEnvironment: J2SE-1.5,
-  JavaSE-1.6
--Bundle-ClassPath: jars/surefire-junit4-2.10.jar
-+Bundle-ClassPath: jars/surefire-junit4-2.12.3.jar
- Import-Package: junit.framework;version="3.0.0",
-  org.junit;version="4.0.0",
-  org.junit.runner;version="4.0.0",
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit4/build.properties b/tycho-surefire/org.eclipse.tycho.surefire.junit4/build.properties
-index b787149..fe88b19 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.junit4/build.properties
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.junit4/build.properties
-@@ -9,5 +9,5 @@
- #    Sonatype Inc. - initial API and implementation
- ###############################################################################
- bin.includes = META-INF/,\
--               jars/surefire-junit4-2.10.jar,\
-+               jars/,\
-                plugin.properties
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
-index 14fb3ff..50ed65d 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/META-INF/MANIFEST.MF
-@@ -6,11 +6,14 @@ Bundle-Version: 0.16.0.qualifier
- Fragment-Host: org.eclipse.tycho.surefire.osgibooter;bundle-version="0.16.0"
- Bundle-RequiredExecutionEnvironment: J2SE-1.5
- Bundle-ClassPath: .,
-- jars/surefire-junit47-2.10.jar
-+ jars/surefire-junit47-2.12.3.jar,
-+ jars/common-junit48-2.12.3.jar,
-+ jars/surefire-grouper-2.12.3.jar
- Import-Package: junit.framework;version="3.0.0",
-  org.junit;version="[4.7,5)",
-  org.junit.runner;version="[4.7,5)",
-  org.junit.runner.notification;version="[4.7,5)",
-  org.junit.runners;version="[4.7,5)",
-- org.junit.runners.model;version="[4.7,5)"
-+ org.junit.runners.model;version="[4.7,5)",
-+ org.junit.runner.manipulation;version="[4.7,5)"
- Bundle-Vendor: %providerName
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/build.properties b/tycho-surefire/org.eclipse.tycho.surefire.junit47/build.properties
-index 716961d..2589258 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/build.properties
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/build.properties
-@@ -10,8 +10,7 @@
- ###############################################################################
- bin.includes = .,\
-                META-INF/,\
--               jars/surefire-junit47-2.10.jar,\
-+               jars/,\
-                plugin.properties,\
-                about.html,\
-                about_files/
--source.. = src/
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
-index 61beabb..623631d 100644
---- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
-+++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/pom.xml
-@@ -44,6 +44,16 @@
- 									<artifactId>surefire-junit47</artifactId>
- 									<version>${surefire-version}</version>
- 								</artifactItem>
-+								<artifactItem>
-+									<groupId>org.apache.maven.surefire</groupId>
-+									<artifactId>common-junit48</artifactId>
-+									<version>${surefire-version}</version>
-+								</artifactItem>
-+								<artifactItem>
-+									<groupId>org.apache.maven.surefire</groupId>
-+									<artifactId>surefire-grouper</artifactId>
-+									<version>${surefire-version}</version>
-+								</artifactItem>
- 							</artifactItems>
- 						</configuration>
- 					</execution>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreProvider.java b/tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreProvider.java
-deleted file mode 100644
-index eaa8dc4..0000000
+index eaa8dc4..ea3a628 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreProvider.java
-+++ /dev/null
-@@ -1,126 +0,0 @@
--package org.apache.maven.surefire.junitcore;
--
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing,
-- * software distributed under the License is distributed on an
-- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- * KIND, either express or implied.  See the License for the
-- * specific language governing permissions and limitations
-- * under the License.
-- */
--
--import java.util.Iterator;
--import java.util.List;
--import java.util.Map;
--import java.util.concurrent.ConcurrentHashMap;
--
--import org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory;
--import org.apache.maven.surefire.common.junit4.JUnit4TestChecker;
--import org.apache.maven.surefire.providerapi.AbstractProvider;
--import org.apache.maven.surefire.providerapi.ProviderParameters;
--import org.apache.maven.surefire.report.ConsoleLogger;
--import org.apache.maven.surefire.report.ConsoleOutputCapture;
--import org.apache.maven.surefire.report.ConsoleOutputReceiver;
--import org.apache.maven.surefire.report.ReporterException;
--import org.apache.maven.surefire.report.ReporterFactory;
--import org.apache.maven.surefire.report.RunListener;
--import org.apache.maven.surefire.suite.RunResult;
--import org.apache.maven.surefire.testset.TestSetFailedException;
--import org.apache.maven.surefire.util.DirectoryScanner;
--import org.apache.maven.surefire.util.ScannerFilter;
--import org.apache.maven.surefire.util.TestsToRun;
--
--/**
-- * This class is a workaround for surefire bug {@link http://jira.codehaus.org/browse/SUREFIRE-876 }. It's a copy of
-- * {@link JUnitCoreProvider} with the only change to use OsgiEnabledJUnitCoreRunListener instead of
-- * JUnitCoreRunListener. TODO remove and use {@link JUnitCoreProvider} instead when surefire release with proposed
-- * bugfix is available.
-- * 
-- * @author Kristian Rosenvold
-- * @author Jan Sievers (SAP)
-- */
--public class OsgiEnabledJUnitCoreProvider
--    extends AbstractProvider
--{
--    private final ClassLoader testClassLoader;
--
--    private final DirectoryScanner directoryScanner;
--
--    private final JUnitCoreParameters jUnitCoreParameters;
--
--    private final ScannerFilter scannerFilter;
--
--    private final List<org.junit.runner.notification.RunListener> customRunListeners;
--
--    private final ProviderParameters providerParameters;
--
--    private TestsToRun testsToRun;
--
--
--    public OsgiEnabledJUnitCoreProvider( ProviderParameters providerParameters )
--    {
--        this.providerParameters = providerParameters;
--        this.testClassLoader = providerParameters.getTestClassLoader();
--        this.directoryScanner = providerParameters.getDirectoryScanner();
--        this.jUnitCoreParameters = new JUnitCoreParameters( providerParameters.getProviderProperties() );
--        this.scannerFilter = new JUnit4TestChecker( testClassLoader );
--        customRunListeners = JUnit4RunListenerFactory.
--            createCustomListeners( providerParameters.getProviderProperties().getProperty( "listener" ) );
--
--    }
--
--    public Boolean isRunnable()
--    {
--        return Boolean.TRUE;
--    }
--
--    public Iterator getSuites()
--    {
--        testsToRun = scanClassPath();
--        return testsToRun.iterator();
--    }
--
--    public RunResult invoke( Object forkTestSet )
--        throws TestSetFailedException, ReporterException
--    {
--        final String message = "Concurrency config is " + jUnitCoreParameters.toString() + "\n";
--        final ReporterFactory reporterFactory = providerParameters.getReporterFactory();
--
--        final ConsoleLogger consoleLogger = providerParameters.getConsoleLogger();
--        consoleLogger.info( message );
--
--        if ( testsToRun == null )
--        {
--            testsToRun = forkTestSet == null ? scanClassPath() : TestsToRun.fromClass( (Class) forkTestSet );
--        }
--        final Map<String, TestSet> testSetMap = new ConcurrentHashMap<String, TestSet>();
--
--        RunListener listener = ConcurrentReporterManager.createInstance( testSetMap, reporterFactory,
--                                                                         jUnitCoreParameters.isParallelClasses(),
--                                                                         jUnitCoreParameters.isParallelBoth(),
--                                                                         consoleLogger );
--
--        ConsoleOutputCapture.startCapture( (ConsoleOutputReceiver) listener );
--
--        org.junit.runner.notification.RunListener jUnit4RunListener = new OsgiEnabledJUnitCoreRunListener( listener, testSetMap );
--        customRunListeners.add( 0, jUnit4RunListener );
--
++++ b/tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreProvider.java
+@@ -115,7 +115,7 @@ public class OsgiEnabledJUnitCoreProvider
+         org.junit.runner.notification.RunListener jUnit4RunListener = new OsgiEnabledJUnitCoreRunListener( listener, testSetMap );
+         customRunListeners.add( 0, jUnit4RunListener );
+ 
 -        JUnitCoreWrapper.execute( testsToRun, jUnitCoreParameters, customRunListeners );
--        return reporterFactory.close();
--    }
--
--    private TestsToRun scanClassPath()
--    {
--        return directoryScanner.locateTestClasses( testClassLoader, scannerFilter );
--    }
--}
-diff --git a/tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreRunListener.java b/tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreRunListener.java
-deleted file mode 100644
-index fb6bede..0000000
---- a/tycho-surefire/org.eclipse.tycho.surefire.junit47/src/org/apache/maven/surefire/junitcore/OsgiEnabledJUnitCoreRunListener.java
-+++ /dev/null
-@@ -1,100 +0,0 @@
--package org.apache.maven.surefire.junitcore;
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing,
-- * software distributed under the License is distributed on an
-- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- * KIND, either express or implied.  See the License for the
-- * specific language governing permissions and limitations
-- * under the License.
-- */
--
--import java.util.ArrayList;
--import java.util.Map;
--import org.apache.maven.surefire.common.junit4.JUnit4RunListener;
--import org.apache.maven.surefire.report.RunListener;
--
--import org.junit.runner.Description;
--import org.junit.runner.Result;
--
--/**
-- * This class is a workaround or surefire bug
-- * {@link http://jira.codehaus.org/browse/SUREFIRE-876 }
-- * 
-- *  TODO remove when surefire release with proposed bugfix is available
-- */
--public class OsgiEnabledJUnitCoreRunListener
--    extends JUnit4RunListener
--{
--    private final Map<String, TestSet> classMethodCounts;
--
--    /**
--     * @param reporter          the report manager to log testing events to
--     * @param classMethodCounts A map of methods
--     */
--    public OsgiEnabledJUnitCoreRunListener( RunListener reporter, Map<String, TestSet> classMethodCounts )
--    {
--        super( reporter );
--        this.classMethodCounts = classMethodCounts;
--    }
--
--    /**
--     * Called right before any tests from a specific class are run.
--     *
--     * @see org.junit.runner.notification.RunListener#testRunStarted(org.junit.runner.Description)
--     */
--    public void testRunStarted( Description description )
--        throws Exception
--    {
--        fillTestCountMap( description );
--        reporter.testSetStarting( null ); // Not entirely meaningful as we can see
--    }
--
--    @Override
--    public void testRunFinished( Result result )
--        throws Exception
--    {
--        reporter.testSetCompleted( null );
--    }
--
--    private void fillTestCountMap( Description description )
--    {
--        final ArrayList<Description> children = description.getChildren();
--
--        TestSet testSet = new TestSet( description );
--        String itemTestClassName = null;
--        for ( Description item : children )
--        {
--            if ( item.isTest() && item.getMethodName() != null )
--            {
--                testSet.incrementTestMethodCount();
--                if ( itemTestClassName == null )
--                {
--                    itemTestClassName = item.getClassName();
--                }
--            }
--            else if ( item.getChildren().size() > 0 )
--            {
--                fillTestCountMap( item );
--            }
--            else
--            {
--                classMethodCounts.put( item.getClassName(), testSet );
--            }
--        }
--        if ( itemTestClassName != null )
--        {
--            classMethodCounts.put( itemTestClassName, testSet );
--        }
--    }
--
--}
++        JUnitCoreWrapper.execute( testsToRun, jUnitCoreParameters, customRunListeners, null );
+         return reporterFactory.close();
+     }
+ 
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
-index 9c418b3..92eaa7f 100644
+index 1bdb8cb..d510010 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/META-INF/MANIFEST.MF
-@@ -4,8 +4,10 @@ Require-Bundle: org.eclipse.osgi;bundle-version="3.2.2",
-  org.eclipse.core.runtime;bundle-version="3.2.0"
- Eclipse-AutoStart: true
+@@ -6,7 +6,8 @@ Eclipse-AutoStart: true
  Bundle-ClassPath: .,
-- jars/surefire-booter-2.10.jar,
-- jars/surefire-api-2.10.jar
-+ jars/surefire-booter-2.12.3.jar,
-+ jars/surefire-api-2.12.3.jar,
-+ jars/maven-surefire-common-2.12.3.jar,
-+ jars/plexus-utils-3.0.jar
+  jars/surefire-booter-2.10.jar,
+  jars/surefire-api-2.10.jar,
+- jars/plexus-utils-3.0.jar
++ jars/plexus-utils-3.0.jar,
++ jars/maven-surefire-common-2.10.jar
  Bundle-Version: 0.16.0.qualifier
  Bundle-Name: Tycho Surefire OSGi Booter Eclipse Application (Incubation)
  Bundle-ManifestVersion: 2
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
-index 9582aef..ef1cbcc 100644
+index 87f1f23..b6040a5 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/pom.xml
-@@ -52,6 +52,16 @@
- 									<artifactId>surefire-booter</artifactId>
- 									<version>${surefire-version}</version>
- 								</artifactItem>
+@@ -56,6 +56,13 @@
+ 									<groupId>org.codehaus.plexus</groupId>
+ 									<artifactId>plexus-utils</artifactId>
+ 									<version>${plexusUtilsVersion}</version>
++
++								</artifactItem>
 +								<artifactItem>
 +									<groupId>org.apache.maven.surefire</groupId>
 +									<artifactId>maven-surefire-common</artifactId>
 +									<version>${surefire-version}</version>
-+								</artifactItem>
-+								<artifactItem>
-+									<groupId>org.codehaus.plexus</groupId>
-+									<artifactId>plexus-utils</artifactId>
-+									<version>3.0</version>
-+								</artifactItem>
++
+ 								</artifactItem>
  							</artifactItems>
  						</configuration>
- 					</execution>
 diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
-index 791221b..736e4a7 100644
+index 791221b..dcd1244 100644
 --- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
 +++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/OsgiSurefireBooter.java
-@@ -18,20 +18,25 @@ import java.io.IOException;
- import java.net.URL;
- import java.util.ArrayList;
- import java.util.Arrays;
-+import java.util.Collections;
- import java.util.Enumeration;
- import java.util.List;
- import java.util.Map;
- import java.util.Properties;
- import java.util.Set;
- 
-+import org.apache.maven.plugin.surefire.StartupReportConfiguration;
-+import org.apache.maven.plugin.surefire.report.DefaultReporterFactory;
+@@ -27,13 +27,14 @@ import java.util.Set;
  import org.apache.maven.surefire.booter.ClassLoaderConfiguration;
-+import org.apache.maven.surefire.booter.ForkedBooter;
  import org.apache.maven.surefire.booter.ProviderConfiguration;
-+import org.apache.maven.surefire.booter.ProviderFactory;
  import org.apache.maven.surefire.booter.StartupConfiguration;
 -import org.apache.maven.surefire.booter.StartupReportConfiguration;
 -import org.apache.maven.surefire.booter.SurefireStarter;
++import org.apache.maven.plugin.surefire.StartupReportConfiguration;
++import org.apache.maven.plugin.surefire.InPluginVMSurefireStarter;
  import org.apache.maven.surefire.report.ReporterConfiguration;
-+import org.apache.maven.surefire.report.ReporterFactory;
  import org.apache.maven.surefire.suite.RunResult;
  import org.apache.maven.surefire.testset.DirectoryScannerParameters;
-+import org.apache.maven.surefire.testset.RunOrderParameters;
  import org.apache.maven.surefire.testset.TestRequest;
  import org.apache.maven.surefire.util.RunOrder;
++import org.apache.maven.surefire.testset.RunOrderParameters;
  import org.eclipse.core.runtime.CoreException;
-@@ -55,7 +60,7 @@ public class OsgiSurefireBooter {
-         List<String> includes = getIncludesExcludes(testProps.getProperty("includes"));
-         List<String> excludes = getIncludesExcludes(testProps.getProperty("excludes"));
- 
--        String forkMode = "never";
-+        boolean forkRequested = true;
-         boolean inForkedVM = true;
-         boolean trimStacktrace = true;
-         boolean useSystemClassloader = false;
-@@ -64,28 +69,33 @@ public class OsgiSurefireBooter {
+ import org.eclipse.core.runtime.IStatus;
+ import org.eclipse.core.runtime.Status;
+@@ -64,22 +65,22 @@ public class OsgiSurefireBooter {
          boolean printSummary = true;
          boolean disableXmlReport = false;
          ClassLoader testClassLoader = getBundleClassLoader(plugin);
 -        ClassLoader surefireClassLoader = SurefireStarter.class.getClassLoader();
-+        ClassLoader surefireClassLoader = ForkedBooter.class.getClassLoader();
++        ClassLoader surefireClassLoader = InPluginVMSurefireStarter.class.getClassLoader();
  
          TychoClasspathConfiguration classPathConfig = new TychoClasspathConfiguration(testClassLoader,
                  surefireClassLoader);
          StartupConfiguration startupConfiguration = new StartupConfiguration(provider, classPathConfig,
--                new ClassLoaderConfiguration(useSystemClassloader, useManifestOnlyJar), forkMode, inForkedVM);
-+                new ClassLoaderConfiguration(useSystemClassloader, useManifestOnlyJar), forkRequested, inForkedVM);
+                 new ClassLoaderConfiguration(useSystemClassloader, useManifestOnlyJar), forkMode, inForkedVM);
          DirectoryScannerParameters dirScannerParams = new DirectoryScannerParameters(testClassesDir, includes,
 -                excludes, failIfNoTests, RunOrder.FILESYSTEM);
-+                excludes, Collections.emptyList(), failIfNoTests, RunOrder.FILESYSTEM.toString());
++                excludes, null, failIfNoTests, RunOrder.FILESYSTEM.name());
          ReporterConfiguration reporterConfig = new ReporterConfiguration(reportsDir, trimStacktrace);
          TestRequest testRequest = new TestRequest(null, testClassesDir, null);
 -        ProviderConfiguration providerConfiguration = new ProviderConfiguration(dirScannerParams, failIfNoTests,
--                reporterConfig, null, testRequest, extractProviderProperties(testProps), null);
-+        ProviderConfiguration providerConfiguration = new ProviderConfiguration(dirScannerParams,
-+                RunOrderParameters.DEFAULT(), failIfNoTests, reporterConfig, null, testRequest,
-+                extractProviderProperties(testProps), null);
++        ProviderConfiguration providerConfiguration = new ProviderConfiguration(dirScannerParams, RunOrderParameters.DEFAULT(), failIfNoTests,
+                 reporterConfig, null, testRequest, extractProviderProperties(testProps), null);
          StartupReportConfiguration startupReportConfig = new StartupReportConfiguration(useFile, printSummary,
                  StartupReportConfiguration.PLAIN_REPORT_FORMAT, redirectTestOutputToFile, disableXmlReport, reportsDir,
 -                trimStacktrace);
 -        SurefireStarter surefireStarter = new SurefireStarter(startupConfiguration, providerConfiguration,
--                startupReportConfig);
 +                trimStacktrace, null, "TESTHASH", false);
-+
-+        RunResult result = ProviderFactory.invokeProvider(null, testClassLoader, surefireClassLoader,
-+                createReporterFactory(startupReportConfig), providerConfiguration, false, startupConfiguration, true);
++        InPluginVMSurefireStarter surefireStarter = new InPluginVMSurefireStarter(startupConfiguration, providerConfiguration,
+                 startupReportConfig);
  
--        RunResult result = surefireStarter.runSuitesInProcess();
-         return result.getForkedProcessCode();
+         RunResult result = surefireStarter.runSuitesInProcess();
+diff --git a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/TychoClasspathConfiguration.java b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/TychoClasspathConfiguration.java
+index c94d3ea..6c732a5 100644
+--- a/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/TychoClasspathConfiguration.java
++++ b/tycho-surefire/org.eclipse.tycho.surefire.osgibooter/src/main/java/org/eclipse/tycho/surefire/osgibooter/TychoClasspathConfiguration.java
+@@ -30,6 +30,11 @@ public class TychoClasspathConfiguration extends ClasspathConfiguration {
      }
  
-+    private static ReporterFactory createReporterFactory(StartupReportConfiguration startupReportConfig) {
-+        return new DefaultReporterFactory(startupReportConfig);
+     @Override
++    public ClassLoader createInprocSurefireClassLoader(ClassLoader parent) throws SurefireExecutionException {
++        return surefireClassLoader;
 +    }
 +
-     /*
-      * See TestMojo#mergeProviderProperties
-      */
-diff --git a/tycho-surefire/pom.xml b/tycho-surefire/pom.xml
-index fe415d7..a3ff67f 100644
---- a/tycho-surefire/pom.xml
-+++ b/tycho-surefire/pom.xml
-@@ -26,7 +26,7 @@
- 	<name>Tycho Surefire Parent (Incubation)</name>
- 
- 	<properties>
--		<surefire-version>2.10</surefire-version>
-+		<surefire-version>2.12.3</surefire-version>
- 	</properties>
- 
- 	<modules>
-diff --git a/tycho-surefire/tycho-surefire-plugin/pom.xml b/tycho-surefire/tycho-surefire-plugin/pom.xml
-index a9e2f1d..e24eb32 100644
---- a/tycho-surefire/tycho-surefire-plugin/pom.xml
-+++ b/tycho-surefire/tycho-surefire-plugin/pom.xml
-@@ -96,5 +96,10 @@
- 			<artifactId>surefire-api</artifactId>
- 			<version>${surefire-version}</version>
- 		</dependency>
-+		<dependency>
-+			<groupId>org.apache.maven.surefire</groupId>
-+			<artifactId>maven-surefire-common</artifactId>
-+			<version>${surefire-version}</version>
-+		</dependency>
- 	</dependencies>
- </project>
++    @Override
+     public ClassLoader createTestClassLoader() throws SurefireExecutionException {
+         return testClassLoader;
+     }
 diff --git a/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/TestMojo.java b/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/TestMojo.java
-index 77288dd..74efa24 100644
+index 77288dd..9cc2e49 100644
 --- a/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/TestMojo.java
 +++ b/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/TestMojo.java
-@@ -18,6 +18,7 @@ import java.io.IOException;
- import java.net.MalformedURLException;
- import java.util.ArrayList;
- import java.util.Arrays;
-+import java.util.Collections;
- import java.util.List;
- import java.util.Map;
- import java.util.Properties;
-@@ -33,9 +34,10 @@ import org.apache.maven.model.Dependency;
- import org.apache.maven.plugin.AbstractMojo;
- import org.apache.maven.plugin.MojoExecutionException;
- import org.apache.maven.plugin.MojoFailureException;
-+import org.apache.maven.plugin.surefire.util.DirectoryScanner;
- import org.apache.maven.project.MavenProject;
- import org.apache.maven.repository.RepositorySystem;
--import org.apache.maven.surefire.suite.RunResult;
-+import org.apache.maven.surefire.util.DefaultScanResult;
- import org.apache.maven.toolchain.Toolchain;
- import org.apache.maven.toolchain.ToolchainManager;
- import org.codehaus.plexus.util.FileUtils;
-@@ -626,6 +628,27 @@ public class TestMojo extends AbstractMojo {
-             providerProperties.put("perCoreThreadCount", String.valueOf(perCoreThreadCount));
-             providerProperties.put("useUnlimitedThreads", String.valueOf(useUnlimitedThreads));
-         }
-+
-+        List<String> defaultIncludes = Arrays.asList("**/Test*.class", "**/*Test.class", "**/*TestCase.class");
-+        List<String> defaultExcludes = Arrays.asList("**/Abstract*Test.class", "**/Abstract*TestCase.class", "**/*$*");
-+        List<String> includeList;
-+        if (test != null) {
-+            String test = this.test;
-+            test = test.replace('.', '/');
-+            test = test.endsWith(".class") ? test : test + ".class";
-+            test = test.startsWith("**/") ? test : "**/" + test;
-+            includeList = Collections.singletonList(test);
-+        } else if (testClass != null) {
-+            includeList = Collections.singletonList(testClass.replace('.', '/') + ".class");
-+        } else if (includes != null) {
-+            includeList = includes;
-+        } else {
-+            includeList = defaultIncludes;
-+        }
-+        DirectoryScanner scanner = new DirectoryScanner(testClassesDirectory, includeList, excludes != null ? excludes
-+                : defaultExcludes, Collections.<String> emptyList());
-+        DefaultScanResult scanResult = scanner.scan();
-+        scanResult.writeTo(providerProperties);
-         for (Map.Entry entry : providerProperties.entrySet()) {
-             surefireProps.put("__provider." + entry.getKey(), entry.getValue());
-         }
-@@ -670,7 +693,7 @@ public class TestMojo extends AbstractMojo {
+@@ -670,7 +670,7 @@ public class TestMojo extends AbstractMojo {
          case 0:
              getLog().info("All tests passed!");
              break;
 -        case RunResult.NO_TESTS:
-+        case 254/* RunResult.NO_TESTS */:
++        case 254:
              String message = "No tests found.";
              if (failIfNoTests) {
                  throw new MojoFailureException(message);
-@@ -678,7 +701,7 @@ public class TestMojo extends AbstractMojo {
+@@ -678,7 +678,7 @@ public class TestMojo extends AbstractMojo {
                  getLog().warn(message);
              }
              break;
 -        case RunResult.FAILURE:
-+        case 255/* RunResult.FAILURE */:
++        case 255:
              String errorMessage = "There are test failures.\n\nPlease refer to " + reportsDirectory
                      + " for the individual test results.";
              if (testFailureIgnore) {
-diff --git a/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/provider/impl/JUnit47Provider.java b/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/provider/impl/JUnit47Provider.java
-index 8358883..625b6fc 100644
---- a/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/provider/impl/JUnit47Provider.java
-+++ b/tycho-surefire/tycho-surefire-plugin/src/main/java/org/eclipse/tycho/surefire/provider/impl/JUnit47Provider.java
-@@ -44,7 +44,7 @@ public class JUnit47Provider extends AbstractJUnitProvider {
-     }
- 
-     public String getSurefireProviderClassName() {
--        return "org.apache.maven.surefire.junitcore.OsgiEnabledJUnitCoreProvider";
-+        return "org.apache.maven.surefire.junitcore.JUnitCoreProvider";
-     }
- 
-     public Version getVersion() {
 -- 
-1.7.11.4
+1.7.11.2
 
diff --git a/tycho-use-custom-resolver.patch b/tycho-use-custom-resolver.patch
index 6f3160e..975d3c5 100644
--- a/tycho-use-custom-resolver.patch
+++ b/tycho-use-custom-resolver.patch
@@ -1,4 +1,4 @@
-From 301845a76668cd327760b726dfc88ddc1a3b1b50 Mon Sep 17 00:00:00 2001
+From 3f23b14c4853e12d023b1e5a1a330997d034274d Mon Sep 17 00:00:00 2001
 From: Roland Grunberg <rgrunber at redhat.com>
 Date: Tue, 12 Jun 2012 10:38:51 -0400
 Subject: [PATCH] Implement a custom resolver for Tycho in local mode.
@@ -24,15 +24,15 @@ Change-Id: Ia1ece07ece2412bc4a88901631f3f651ad2b634b
  .../tycho/p2/target/TargetDefinitionResolver.java  | 10 ++--
  .../tycho/p2/target/TargetPlatformBuilderImpl.java | 55 ++++++++++++++++++++--
  .../core/maven/TychoMavenLifecycleParticipant.java | 16 +++++++
- .../tycho/core/osgitools/AbstractTychoProject.java | 24 ++++++++++
- .../tycho/core/osgitools/OsgiBundleProject.java    | 29 +++++++++++-
+ .../tycho/core/osgitools/AbstractTychoProject.java | 12 ++++-
+ .../tycho/core/osgitools/OsgiBundleProject.java    | 42 ++++++++++++++++-
  .../DefaultTargetPlatformConfigurationReader.java  |  5 +-
- .../osgi/runtime/TychoOsgiRuntimeLocator.java      | 15 ++++++
+ .../tycho/osgi/runtime/TychoP2RuntimeLocator.java  | 15 ++++++
  .../p2/resolver/P2TargetPlatformResolver.java      | 10 ++++
- 8 files changed, 154 insertions(+), 10 deletions(-)
+ 8 files changed, 153 insertions(+), 12 deletions(-)
 
 diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java
-index 5cc8718..5513dda 100644
+index 5fdc6a1..838e267 100644
 --- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java
 +++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetDefinitionResolver.java
 @@ -24,6 +24,7 @@ import org.eclipse.core.runtime.CoreException;
@@ -43,7 +43,7 @@ index 5cc8718..5513dda 100644
  import org.eclipse.equinox.p2.core.IProvisioningAgent;
  import org.eclipse.equinox.p2.core.ProvisionException;
  import org.eclipse.equinox.p2.metadata.IInstallableUnit;
-@@ -104,9 +105,12 @@ public class TargetDefinitionResolver {
+@@ -103,9 +104,12 @@ public class TargetDefinitionResolver {
  
                  List<IMetadataRepository> metadataRepositories = new ArrayList<IMetadataRepository>();
                  for (Repository repository : iuLocationDefinition.getRepositories()) {
@@ -60,7 +60,7 @@ index 5cc8718..5513dda 100644
  
                  IQueryable<IInstallableUnit> locationUnits = new CompoundQueryable<IInstallableUnit>(
 diff --git a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformBuilderImpl.java b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformBuilderImpl.java
-index a1be14a..c4fc948 100644
+index fa1cfab..489903e 100644
 --- a/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformBuilderImpl.java
 +++ b/tycho-bundles/org.eclipse.tycho.p2.resolver.impl/src/main/java/org/eclipse/tycho/p2/target/TargetPlatformBuilderImpl.java
 @@ -38,6 +38,9 @@ import org.eclipse.equinox.p2.core.IProvisioningAgent;
@@ -73,7 +73,7 @@ index a1be14a..c4fc948 100644
  import org.eclipse.equinox.p2.query.IQueryResult;
  import org.eclipse.equinox.p2.query.QueryUtil;
  import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
-@@ -231,6 +234,12 @@ public class TargetPlatformBuilderImpl implements TargetPlatformBuilder {
+@@ -223,6 +226,12 @@ public class TargetPlatformBuilderImpl implements TargetPlatformBuilder {
          IMetadataRepository metadataRepository = null;
          IArtifactRepository artifactRepository = null;
  
@@ -86,7 +86,7 @@ index a1be14a..c4fc948 100644
          try {
              remoteRepositoryIdManager.addMapping(location.getId(), location.getURL());
  
-@@ -367,12 +376,48 @@ public class TargetPlatformBuilderImpl implements TargetPlatformBuilder {
+@@ -359,12 +368,48 @@ public class TargetPlatformBuilderImpl implements TargetPlatformBuilder {
              result.addAll(contentPart.getUnits());
          }
  
@@ -141,7 +141,7 @@ index a1be14a..c4fc948 100644
          if (logger.isDebugEnabled()) {
              IQueryResult<IInstallableUnit> locallyInstalledIUs = localMetadataRepository.query(QueryUtil.ALL_UNITS,
 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 3efb896..329893a 100644
+index 0dd2fd4..15669a6 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
 @@ -11,6 +11,7 @@
@@ -149,10 +149,10 @@ index 3efb896..329893a 100644
  
  import java.io.File;
 +import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
-@@ -73,6 +74,21 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
+ import java.util.HashSet;
+ import java.util.List;
+ import java.util.Set;
+@@ -55,6 +56,21 @@ public class TychoMavenLifecycleParticipant extends AbstractMavenLifecyclePartic
          registerExecutionListener(session);
          configureComponents(session);
  
@@ -175,81 +175,33 @@ index 3efb896..329893a 100644
              resolver.setupProject(session, project, DefaultReactorProject.adapt(project));
          }
 diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/AbstractTychoProject.java b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/AbstractTychoProject.java
-index 695133d..29fb84c 100644
+index 283770a..c642392 100644
 --- a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/AbstractTychoProject.java
 +++ b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/AbstractTychoProject.java
-@@ -20,6 +20,9 @@ import org.eclipse.tycho.artifacts.TargetPlatform;
- import org.eclipse.tycho.core.TargetPlatformConfiguration;
- import org.eclipse.tycho.core.TychoConstants;
- import org.eclipse.tycho.core.TychoProject;
-+import org.eclipse.tycho.core.ee.ExecutionEnvironmentUtils;
-+import org.eclipse.tycho.core.ee.UnknownEnvironmentException;
-+import org.eclipse.tycho.core.ee.shared.ExecutionEnvironment;
- import org.eclipse.tycho.core.ee.shared.ExecutionEnvironmentConfiguration;
- import org.eclipse.tycho.core.facade.TargetEnvironment;
- import org.eclipse.tycho.core.osgitools.targetplatform.LocalTargetPlatformResolver;
-@@ -92,17 +95,38 @@ public abstract class AbstractTychoProject extends AbstractLogEnabled implements
+@@ -98,7 +98,17 @@ public abstract class AbstractTychoProject extends AbstractLogEnabled implements
+             }
  
-         String configuredForcedProfile = tpConfiguration.getExecutionEnvironment();
-         if (configuredForcedProfile != null) {
-+            overrideToAtLeastJavaSE16(configuredForcedProfile);
-             sink.overrideProfileConfiguration(configuredForcedProfile,
-                     "target-platform-configuration <executionEnvironment>");
-         }
- 
-         String configuredDefaultProfile = tpConfiguration.getExecutionEnvironmentDefault();
-         if (configuredDefaultProfile != null) {
-+            overrideToAtLeastJavaSE16(configuredDefaultProfile);
-             sink.setProfileConfiguration(configuredDefaultProfile,
-                     "target-platform-configuration <executionEnvironmentDefault>");
-         }
-     }
- 
-+    public String overrideToAtLeastJavaSE16 (String profile) {
-+        try {
-+            ExecutionEnvironment ee = ExecutionEnvironmentUtils.getExecutionEnvironment(profile);
+             try {
+-                return ExecutionEnvironmentUtils.getExecutionEnvironment(profile);
++                ExecutionEnvironment ee = ExecutionEnvironmentUtils.getExecutionEnvironment(profile);
 +
-+            if (System.getProperty("maven.local.mode") != null) {
-+                // EE must be at least JavaSE-1.6
-+                final ExecutionEnvironment javaSE16 = ExecutionEnvironmentUtils.getExecutionEnvironment("JavaSE-1.6");
-+                if (! ee.isCompatibleCompilerTargetLevel(javaSE16.getCompilerTargetLevel())) {
-+                    ee = javaSE16;
++                if (System.getProperty("maven.local.mode") != null) {
++                    // EE must be at least JavaSE-1.6
++                    final ExecutionEnvironment javaSE16 = ExecutionEnvironmentUtils.getExecutionEnvironment("JavaSE-1.6");
++                    if (ee.compareTo(javaSE16) < 0) {
++                        ee = javaSE16;
++                    }
 +                }
-+            }
 +
-+            return ee.getProfileName();
-+        } catch (UnknownEnvironmentException e) {
-+            // can't happen, ee is validated during configuration parsing
-+            return null;
-+        }
-+    }
-+
-     public TargetPlatform getTargetPlatform(MavenProject project) {
-         return (TargetPlatform) project.getContextValue(TychoConstants.CTX_TARGET_PLATFORM);
-     }
++                return ee;
+             } catch (UnknownEnvironmentException e) {
+                 // can't happen, ee is validated during configuration parsing
+             }
 diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
-index fb73469..efe97ae 100644
+index c4b783e..e83dd72 100644
 --- a/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
 +++ b/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
-@@ -45,7 +45,9 @@ import org.eclipse.tycho.core.BundleProject;
- import org.eclipse.tycho.core.PluginDescription;
- import org.eclipse.tycho.core.TychoConstants;
- import org.eclipse.tycho.core.TychoProject;
-+import org.eclipse.tycho.core.ee.ExecutionEnvironmentUtils;
- import org.eclipse.tycho.core.ee.StandardExecutionEnvironment;
-+import org.eclipse.tycho.core.ee.UnknownEnvironmentException;
- import org.eclipse.tycho.core.ee.shared.ExecutionEnvironment;
- import org.eclipse.tycho.core.ee.shared.ExecutionEnvironmentConfiguration;
- import org.eclipse.tycho.core.facade.BuildPropertiesParser;
-@@ -492,6 +494,7 @@ public class OsgiBundleProject extends AbstractTychoProject implements BundlePro
-         String pdeProfile = getEclipsePluginProject(DefaultReactorProject.adapt(project)).getBuildProperties()
-                 .getJreCompilationProfile();
-         if (pdeProfile != null) {
-+            pdeProfile = overrideToAtLeastJavaSE16(pdeProfile);
-             sink.setProfileConfiguration(pdeProfile.trim(), "build.properties");
- 
-         } else {
-@@ -509,7 +512,31 @@ public class OsgiBundleProject extends AbstractTychoProject implements BundlePro
+@@ -525,12 +525,50 @@ public class OsgiBundleProject extends AbstractTychoProject implements BundlePro
          if (envs.isEmpty()) {
              return null;
          }
@@ -264,7 +216,7 @@ index fb73469..efe97ae 100644
 +                final ExecutionEnvironment javaSE16 = ExecutionEnvironmentUtils.getExecutionEnvironment("JavaSE-1.6");
 +                while (!envs.isEmpty()) {
 +                    tmp = Collections.min(envs);
-+                    if (tmp.isCompatibleCompilerTargetLevel(javaSE16.getCompilerTargetLevel())) {
++                    if (tmp.compareTo(javaSE16) >= 0) {
 +                        manifestMinimalEE = tmp;
 +                        break;
 +                    }
@@ -281,12 +233,32 @@ index fb73469..efe97ae 100644
 +        return manifestMinimalEE;
      }
  
- }
+     protected ExecutionEnvironment getExecutionEnvironment(MavenProject project, String profile) {
+         try {
+-            return ExecutionEnvironmentUtils.getExecutionEnvironment(profile);
++            ExecutionEnvironment ee = ExecutionEnvironmentUtils.getExecutionEnvironment(profile);
++
++            if (System.getProperty("maven.local.mode") != null && ee != null) {
++                try {
++                    // EE must be at least JavaSE-1.6
++                    final ExecutionEnvironment javaSE16 = ExecutionEnvironmentUtils.getExecutionEnvironment("JavaSE-1.6");
++                    if (ee.compareTo(javaSE16) < 0) {
++                        ee = javaSE16;
++                    }
++                } catch (UnknownEnvironmentException e) {
++                    // Continue
++                }
++            }
++
++            return ee;
+         } catch (UnknownEnvironmentException e) {
+             throw new RuntimeException("Unknown execution environment specified in build.properties of project "
+                     + project, e);
 diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/resolver/DefaultTargetPlatformConfigurationReader.java b/tycho-core/src/main/java/org/eclipse/tycho/core/resolver/DefaultTargetPlatformConfigurationReader.java
-index e5efab5..8628d7a 100644
+index c2997bc..fafb77e 100644
 --- a/tycho-core/src/main/java/org/eclipse/tycho/core/resolver/DefaultTargetPlatformConfigurationReader.java
 +++ b/tycho-core/src/main/java/org/eclipse/tycho/core/resolver/DefaultTargetPlatformConfigurationReader.java
-@@ -64,7 +64,10 @@ public class DefaultTargetPlatformConfigurationReader {
+@@ -66,7 +66,10 @@ public class DefaultTargetPlatformConfigurationReader {
                              + configuration.toString());
                  }
  
@@ -298,10 +270,10 @@ index e5efab5..8628d7a 100644
  
                  setTargetPlatformResolver(result, configuration);
  
-diff --git a/tycho-core/src/main/java/org/eclipse/tycho/osgi/runtime/TychoOsgiRuntimeLocator.java b/tycho-core/src/main/java/org/eclipse/tycho/osgi/runtime/TychoOsgiRuntimeLocator.java
-index 9935c5f..0885aea 100644
---- a/tycho-core/src/main/java/org/eclipse/tycho/osgi/runtime/TychoOsgiRuntimeLocator.java
-+++ b/tycho-core/src/main/java/org/eclipse/tycho/osgi/runtime/TychoOsgiRuntimeLocator.java
+diff --git a/tycho-core/src/main/java/org/eclipse/tycho/osgi/runtime/TychoP2RuntimeLocator.java b/tycho-core/src/main/java/org/eclipse/tycho/osgi/runtime/TychoP2RuntimeLocator.java
+index ff4c14a..de02644 100644
+--- a/tycho-core/src/main/java/org/eclipse/tycho/osgi/runtime/TychoP2RuntimeLocator.java
++++ b/tycho-core/src/main/java/org/eclipse/tycho/osgi/runtime/TychoP2RuntimeLocator.java
 @@ -22,6 +22,7 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
  import org.apache.maven.artifact.resolver.ArtifactResolutionException;
  import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
@@ -316,9 +288,9 @@ index 9935c5f..0885aea 100644
  import org.eclipse.tycho.locking.facade.FileLocker;
 +import org.sonatype.aether.util.artifact.DefaultArtifact;
  
- /**
-  * Implementation of {@link org.eclipse.sisu.equinox.embedder.EquinoxRuntimeLocator} for Tycho's
-@@ -201,6 +203,19 @@ public class TychoOsgiRuntimeLocator implements EquinoxRuntimeLocator {
+ @Component(role = EquinoxRuntimeLocator.class)
+ public class TychoP2RuntimeLocator implements EquinoxRuntimeLocator {
+@@ -189,6 +191,19 @@ public class TychoP2RuntimeLocator implements EquinoxRuntimeLocator {
          Artifact artifact = repositorySystem.createArtifact(dependency.getGroupId(), dependency.getArtifactId(),
                  dependency.getVersion(), dependency.getType());
  
@@ -339,10 +311,10 @@ index 9935c5f..0885aea 100644
          request.setArtifact(artifact);
          request.setResolveRoot(true).setResolveTransitively(false);
 diff --git a/tycho-p2/tycho-p2-facade/src/main/java/org/eclipse/tycho/p2/resolver/P2TargetPlatformResolver.java b/tycho-p2/tycho-p2-facade/src/main/java/org/eclipse/tycho/p2/resolver/P2TargetPlatformResolver.java
-index 0d4d61e..ef3264d 100644
+index 4db1bd4..b45a4ea 100644
 --- a/tycho-p2/tycho-p2-facade/src/main/java/org/eclipse/tycho/p2/resolver/P2TargetPlatformResolver.java
 +++ b/tycho-p2/tycho-p2-facade/src/main/java/org/eclipse/tycho/p2/resolver/P2TargetPlatformResolver.java
-@@ -191,6 +191,16 @@ public class P2TargetPlatformResolver extends AbstractTargetPlatformResolver imp
+@@ -193,6 +193,16 @@ public class P2TargetPlatformResolver extends AbstractTargetPlatformResolver imp
          tpBuilder.setProjectLocation(project.getBasedir());
          tpBuilder.setIncludePackedArtifacts(configuration.isIncludePackedArtifacts());
  
diff --git a/tycho.spec b/tycho.spec
index fc762d8..9b3dbaf 100644
--- a/tycho.spec
+++ b/tycho.spec
@@ -1,5 +1,5 @@
 %global bootstrap 1
-%global sha d7f8850f746dd72e0a97c1fdf32c06ce794fb83d
+%global sha df2c3591ae0e641a8d12c13ca9c1058eaf8439b2
 
 %if %{bootstrap}
 %global snap %{nil}
@@ -11,7 +11,7 @@
 
 Name:           tycho
 Version:        0.16.0
-Release:        7.1.d7f885%{?dist}
+Release:        8.df2c35%{?dist}
 Summary:        Plugins and extensions for building Eclipse plugins and OSGI bundles with Maven
 
 Group:          Development/Libraries
@@ -29,9 +29,9 @@ Source2:        depmap.xml
 Source3:        copy-platform-all
 
 Patch0:         %{name}-fix-build.patch
-# Upstream builds against maven-surefire 2.12.3
-Patch1:         %{name}-maven-surefire.patch
-Patch2:         %{name}-fix-surefire.patch
+Patch1:         %{name}-fix-surefire.patch
+# Upstream builds against maven-surefire 2.10 but in rawhide we have 2.12
+Patch2:         %{name}-maven-surefire.patch
 Patch3:         %{name}-use-custom-resolver.patch
 # Set some temporary build version so that the bootstrapped build has
 # a different version from the nonbootstrapped. Otherwise there will
@@ -130,7 +130,7 @@ popd
 
 %build
 export MAVEN_OPTS="$MAVEN_OPTS -XX:MaxPermSize=256m"
-mvn-rpmbuild -Dmaven.local.depmap.file=%{SOURCE2} -DskipTychoVersionCheck -Dmaven.test.skip=true install javadoc:aggregate
+mvn-rpmbuild -Dmaven.local.depmap.file=%{SOURCE2} -Dmaven.test.skip=true install javadoc:aggregate
 
 %install
 
@@ -195,8 +195,7 @@ install -pm 755 %{SOURCE3} $RPM_BUILD_ROOT%{_javadir}/%{name}/copy-platform-all
 %{_javadocdir}/%{name}
 
 %changelog
-* Wed Oct 3 2012 Roland Grunberg <rgrunber at redhat.com> 0.16.0-7.1.d7f885
-- Update to latest 0.16.0 SNAPSHOT.
+* Wed Oct 3 2012 Krzysztof Daniel <kdaniel at redhat.com> 0.16.0-7.1.df2c35
 - First attempts to build without cyclic dependency to JDT.
 
 * Mon Aug 27 2012 Roland Grunberg <rgrunber at redhat.com> 0.16.0-7.df2c35


More information about the scm-commits mailing list