|
 |
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 |
|