Blame SOURCES/tycho-port-to-maven-3.0.5.patch

4c9427
From 6288e6893d924202cd6e777da2c6e607d4f76c93 Mon Sep 17 00:00:00 2001
4c9427
From: Roland Grunberg <rgrunber@redhat.com>
4c9427
Date: Fri, 19 Dec 2014 14:58:53 -0500
4c9427
Subject: [PATCH] Port to Maven 3.0.5
4c9427
4c9427
Porting to Maven 3.0.5 also means migrating to some other libraries
4c9427
and technologies which are used by Maven:
4c9427
4c9427
    Eclipse Sisu Inject -> Sonatype Sisu Plexus
4c9427
    JSR-330 -> Plexus Component Annotations
4c9427
---
4c9427
 xmvn-p2-installer-plugin/pom.xml                   | 27 +++++++++++++++----
4c9427
 .../org/fedoraproject/p2/app/P2InstallerApp.java   | 30 ++++++----------------
4c9427
 .../p2/osgi/impl/DefaultOSGiConfigurator.java      | 16 ++++--------
4c9427
 .../p2/osgi/impl/DefaultOSGiFramework.java         | 16 ++++--------
4c9427
 .../p2/osgi/impl/DefaultOSGiServiceLocator.java    | 16 ++++--------
4c9427
 .../p2/xmvn/EclipseArtifactInstaller.java          | 11 +++-----
4c9427
 6 files changed, 49 insertions(+), 67 deletions(-)
4c9427
4c9427
diff --git a/fedoraproject-p2/xmvn-p2-installer-plugin/pom.xml b/fedoraproject-p2/xmvn-p2-installer-plugin/pom.xml
4c9427
index c6aa3b7..2974dda 100644
4c9427
--- a/fedoraproject-p2/xmvn-p2-installer-plugin/pom.xml
4c9427
+++ b/fedoraproject-p2/xmvn-p2-installer-plugin/pom.xml
4c9427
@@ -45,13 +45,12 @@
4c9427
       <version>${project.version}</version>
4c9427
     </dependency>
4c9427
     <dependency>
4c9427
-      <groupId>javax.inject</groupId>
4c9427
-      <artifactId>javax.inject</artifactId>
4c9427
-      <scope>provided</scope>
4c9427
+      <groupId>org.codehaus.plexus</groupId>
4c9427
+      <artifactId>plexus-component-annotations</artifactId>
4c9427
     </dependency>
4c9427
     <dependency>
4c9427
-      <groupId>org.eclipse.sisu</groupId>
4c9427
-      <artifactId>org.eclipse.sisu.inject</artifactId>
4c9427
+      <groupId>org.sonatype.sisu</groupId>
4c9427
+      <artifactId>sisu-inject-plexus</artifactId>
4c9427
     </dependency>
4c9427
     <dependency>
4c9427
       <groupId>org.sonatype.sisu</groupId>
4c9427
@@ -69,6 +68,10 @@
4c9427
     </dependency>
4c9427
     <dependency>
4c9427
       <groupId>org.slf4j</groupId>
4c9427
+      <artifactId>slf4j-api</artifactId>
4c9427
+    </dependency>
4c9427
+    <dependency>
4c9427
+      <groupId>org.slf4j</groupId>
4c9427
       <artifactId>slf4j-simple</artifactId>
4c9427
     </dependency>
4c9427
     <dependency>
4c9427
@@ -88,5 +91,19 @@
4c9427
         </plugin>
4c9427
       </plugins>
4c9427
     </pluginManagement>
4c9427
+    <plugins>
4c9427
+      <plugin>
4c9427
+        <groupId>org.codehaus.plexus</groupId>
4c9427
+        <artifactId>plexus-component-metadata</artifactId>
4c9427
+        <executions>
4c9427
+          <execution>
4c9427
+            <goals>
4c9427
+              <goal>generate-metadata</goal>
4c9427
+              <goal>generate-test-metadata</goal>
4c9427
+            </goals>
4c9427
+          </execution>
4c9427
+        </executions>
4c9427
+      </plugin>
4c9427
+    </plugins>
4c9427
   </build>
4c9427
 </project>
4c9427
diff --git a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/app/P2InstallerApp.java b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/app/P2InstallerApp.java
4c9427
index 3d543c6..7901a1a 100644
4c9427
--- a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/app/P2InstallerApp.java
4c9427
+++ b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/app/P2InstallerApp.java
4c9427
@@ -13,16 +13,10 @@ package org.fedoraproject.p2.app;
4c9427
 import java.nio.file.Paths;
4c9427
 import java.util.Set;
4c9427
 
4c9427
-import javax.inject.Inject;
4c9427
-import com.google.inject.Injector;
4c9427
-import org.eclipse.sisu.space.ClassSpace;
4c9427
-import com.google.inject.Module;
4c9427
-import javax.inject.Singleton;
4c9427
-import javax.inject.Named;
4c9427
-import com.google.inject.Guice;
4c9427
-import org.eclipse.sisu.space.SpaceModule;
4c9427
-import org.eclipse.sisu.space.URLClassSpace;
4c9427
-import org.eclipse.sisu.wire.WireModule;
4c9427
+import org.codehaus.plexus.DefaultPlexusContainer;
4c9427
+import org.codehaus.plexus.PlexusContainer;
4c9427
+import org.codehaus.plexus.component.annotations.Component;
4c9427
+import org.codehaus.plexus.component.annotations.Requirement;
4c9427
 
4c9427
 import org.fedoraproject.p2.installer.Dropin;
4c9427
 import org.fedoraproject.p2.installer.EclipseArtifact;
4c9427
@@ -34,17 +28,12 @@ import org.fedoraproject.p2.osgi.OSGiServiceLocator;
4c9427
 /**
4c9427
  * @author Mikolaj Izdebski
4c9427
  */
4c9427
-@Named
4c9427
-@Singleton
4c9427
+@Component( role = P2InstallerApp.class )
4c9427
 public class P2InstallerApp {
4c9427
 
4c9427
+	@Requirement
4c9427
 	private OSGiServiceLocator serviceLocator;
4c9427
 
4c9427
-	@Inject
4c9427
-	public P2InstallerApp(OSGiServiceLocator serviceLocator) {
4c9427
-		this.serviceLocator = serviceLocator;
4c9427
-	}
4c9427
-
4c9427
 	public int run(CliRequest cliRequest) throws Exception {
4c9427
 		if (cliRequest.getParameters().isEmpty()) {
4c9427
 			System.err.println("No artifacts specified for installation."
4c9427
@@ -93,11 +82,8 @@ public class P2InstallerApp {
4c9427
 		try {
4c9427
 			CliRequest cliRequest = new CliRequest(args);
4c9427
 
4c9427
-			ClassLoader realm = Thread.currentThread().getContextClassLoader();
4c9427
-			ClassSpace classSpace = new URLClassSpace(realm);
4c9427
-			Module module = new WireModule(new SpaceModule(classSpace));
4c9427
-			Injector injector = Guice.createInjector(module);
4c9427
-			P2InstallerApp app = injector.getInstance(P2InstallerApp.class);
4c9427
+			PlexusContainer container = new DefaultPlexusContainer();
4c9427
+			P2InstallerApp app = container.lookup( P2InstallerApp.class );
4c9427
 
4c9427
 			System.exit(app.run(cliRequest));
4c9427
 		} catch (Throwable e) {
4c9427
diff --git a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiConfigurator.java b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiConfigurator.java
4c9427
index 8acb598..a642a65 100644
4c9427
--- a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiConfigurator.java
4c9427
+++ b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiConfigurator.java
4c9427
@@ -21,9 +21,8 @@ import java.util.Collections;
4c9427
 import java.util.zip.ZipEntry;
4c9427
 import java.util.zip.ZipInputStream;
4c9427
 
4c9427
-import javax.inject.Inject;
4c9427
-import javax.inject.Named;
4c9427
-import javax.inject.Singleton;
4c9427
+import org.codehaus.plexus.component.annotations.Component;
4c9427
+import org.codehaus.plexus.component.annotations.Requirement;
4c9427
 import org.slf4j.Logger;
4c9427
 import org.slf4j.LoggerFactory;
4c9427
 
4c9427
@@ -37,8 +36,7 @@ import org.fedoraproject.p2.osgi.OSGiConfigurator;
4c9427
  * instead loads bundles contained withing the "tycho-bundles-external"
4c9427
  * bootstrap zip-ball.
4c9427
  */
4c9427
-@Named
4c9427
-@Singleton
4c9427
+@Component( role = OSGiConfigurator.class )
4c9427
 public class DefaultOSGiConfigurator implements OSGiConfigurator {
4c9427
 	private final Logger logger = LoggerFactory
4c9427
 			.getLogger(DefaultOSGiConfigurator.class);
4c9427
@@ -47,12 +45,8 @@ public class DefaultOSGiConfigurator implements OSGiConfigurator {
4c9427
 	private static final Artifact BUNDLES_EXTERNAL_ZIP = new DefaultArtifact(
4c9427
 			"org.eclipse.tycho", "tycho-bundles-external", "zip", "SYSTEM");
4c9427
 
4c9427
-	private final Resolver resolver;
4c9427
-
4c9427
-	@Inject
4c9427
-	public DefaultOSGiConfigurator(Resolver resolver) {
4c9427
-		this.resolver = resolver;
4c9427
-	}
4c9427
+	@Requirement
4c9427
+	private Resolver resolver;
4c9427
 
4c9427
 	@Override
4c9427
 	public Collection<Path> getBundles() {
4c9427
diff --git a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiFramework.java b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiFramework.java
4c9427
index 56b1875..ccc995a 100644
4c9427
--- a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiFramework.java
4c9427
+++ b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiFramework.java
4c9427
@@ -14,9 +14,8 @@ import java.util.LinkedHashMap;
4c9427
 import java.util.Map;
4c9427
 
4c9427
 import com.google.common.base.Joiner;
4c9427
-import javax.inject.Inject;
4c9427
-import javax.inject.Named;
4c9427
-import javax.inject.Singleton;
4c9427
+import org.codehaus.plexus.component.annotations.Component;
4c9427
+import org.codehaus.plexus.component.annotations.Requirement;
4c9427
 import org.eclipse.core.runtime.adaptor.EclipseStarter;
4c9427
 import org.osgi.framework.Bundle;
4c9427
 import org.osgi.framework.BundleContext;
4c9427
@@ -30,21 +29,16 @@ import org.fedoraproject.p2.osgi.OSGiFramework;
4c9427
 /**
4c9427
  * @author Mikolaj Izdebski
4c9427
  */
4c9427
-@Named
4c9427
-@Singleton
4c9427
+@Component( role = OSGiFramework.class )
4c9427
 public class DefaultOSGiFramework implements OSGiFramework {
4c9427
 	private final Logger logger = LoggerFactory
4c9427
 			.getLogger(DefaultOSGiFramework.class);
4c9427
 
4c9427
-	private final OSGiConfigurator equinoxLocator;
4c9427
+	@Requirement
4c9427
+	private OSGiConfigurator equinoxLocator;
4c9427
 
4c9427
 	private BundleContext bundleContext;
4c9427
 
4c9427
-	@Inject
4c9427
-	public DefaultOSGiFramework(OSGiConfigurator equinoxLocator) {
4c9427
-		this.equinoxLocator = equinoxLocator;
4c9427
-	}
4c9427
-
4c9427
 	private BundleContext launchEquinox() throws Exception {
4c9427
 		Map<String, String> properties = new LinkedHashMap<>();
4c9427
 
4c9427
diff --git a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiServiceLocator.java b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiServiceLocator.java
4c9427
index 3274381..9fcbf49 100644
4c9427
--- a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiServiceLocator.java
4c9427
+++ b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/osgi/impl/DefaultOSGiServiceLocator.java
4c9427
@@ -10,9 +10,8 @@
4c9427
  *******************************************************************************/
4c9427
 package org.fedoraproject.p2.osgi.impl;
4c9427
 
4c9427
-import javax.inject.Inject;
4c9427
-import javax.inject.Named;
4c9427
-import javax.inject.Singleton;
4c9427
+import org.codehaus.plexus.component.annotations.Component;
4c9427
+import org.codehaus.plexus.component.annotations.Requirement;
4c9427
 import org.osgi.framework.BundleContext;
4c9427
 import org.osgi.framework.ServiceReference;
4c9427
 
4c9427
@@ -22,15 +21,10 @@ import org.fedoraproject.p2.osgi.OSGiServiceLocator;
4c9427
 /**
4c9427
  * @author Mikolaj Izdebski
4c9427
  */
4c9427
-@Named
4c9427
-@Singleton
4c9427
+@Component( role = OSGiServiceLocator.class )
4c9427
 public class DefaultOSGiServiceLocator implements OSGiServiceLocator {
4c9427
-	private final OSGiFramework framework;
4c9427
-
4c9427
-	@Inject
4c9427
-	public DefaultOSGiServiceLocator(OSGiFramework framework) {
4c9427
-		this.framework = framework;
4c9427
-	}
4c9427
+	@Requirement
4c9427
+	private OSGiFramework framework;
4c9427
 
4c9427
 	@Override
4c9427
 	public <T> T getService(Class<T> clazz) {
4c9427
diff --git a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/xmvn/EclipseArtifactInstaller.java b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/xmvn/EclipseArtifactInstaller.java
4c9427
index 7ee8f66..3a6dd99 100644
4c9427
--- a/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/xmvn/EclipseArtifactInstaller.java
4c9427
+++ b/fedoraproject-p2/xmvn-p2-installer-plugin/src/main/java/org/fedoraproject/p2/xmvn/EclipseArtifactInstaller.java
4c9427
@@ -17,10 +17,8 @@ import java.nio.file.Paths;
4c9427
 import java.util.LinkedHashMap;
4c9427
 import java.util.Map;
4c9427
 
4c9427
-import javax.inject.Inject;
4c9427
-import javax.inject.Named;
4c9427
-import javax.inject.Singleton;
4c9427
-
4c9427
+import org.codehaus.plexus.component.annotations.Component;
4c9427
+import org.codehaus.plexus.component.annotations.Requirement;
4c9427
 import org.slf4j.Logger;
4c9427
 import org.slf4j.LoggerFactory;
4c9427
 import org.fedoraproject.xmvn.artifact.Artifact;
4c9427
@@ -42,13 +40,12 @@ import org.fedoraproject.p2.installer.EclipseInstallationResult;
4c9427
 import org.fedoraproject.p2.installer.EclipseInstaller;
4c9427
 import org.fedoraproject.p2.osgi.OSGiServiceLocator;
4c9427
 
4c9427
-@Named("eclipse")
4c9427
-@Singleton
4c9427
+@Component( role = ArtifactInstaller.class, hint = "eclipse" )
4c9427
 public class EclipseArtifactInstaller implements ArtifactInstaller {
4c9427
 	private final Logger logger = LoggerFactory
4c9427
 			.getLogger(EclipseArtifactInstaller.class);
4c9427
 
4c9427
-	@Inject
4c9427
+	@Requirement
4c9427
 	private OSGiServiceLocator equinox;
4c9427
 
4c9427
 	private final EclipseInstallationRequest request = new EclipseInstallationRequest();
4c9427
-- 
4c9427
2.1.0
4c9427