|
|
df135e4 |
From a1da8d0bfa8da4121a96aec2b3ff45983f1e9e9e Mon Sep 17 00:00:00 2001
|
|
|
df135e4 |
From: Mikolaj Izdebski <mizdebsk@redhat.com>
|
|
|
df135e4 |
Date: Mon, 10 Oct 2016 21:28:25 +0200
|
|
|
df135e4 |
Subject: [PATCH 2/2] Add support for XMvn workspace reader
|
|
|
df135e4 |
|
|
|
df135e4 |
---
|
|
|
df135e4 |
pom.xml | 18 +++++++++++
|
|
|
df135e4 |
.../eclipse/aether/internal/ant/AntRepoSys.java | 7 +++++
|
|
|
df135e4 |
.../eclipse/aether/internal/ant/XMvnRepoSys.java | 35 ++++++++++++++++++++++
|
|
|
df135e4 |
3 files changed, 60 insertions(+)
|
|
|
df135e4 |
create mode 100644 src/main/java/org/eclipse/aether/internal/ant/XMvnRepoSys.java
|
|
|
df135e4 |
|
|
|
df135e4 |
diff --git a/pom.xml b/pom.xml
|
|
|
df135e4 |
index 915ae45..3948cd3 100644
|
|
|
df135e4 |
--- a/pom.xml
|
|
|
df135e4 |
+++ b/pom.xml
|
|
|
748f36e |
@@ -262,6 +262,18 @@
|
|
|
df135e4 |
</exclusions>
|
|
|
df135e4 |
</dependency>
|
|
|
df135e4 |
<dependency>
|
|
|
df135e4 |
+ <groupId>org.fedoraproject.xmvn</groupId>
|
|
|
df135e4 |
+ <artifactId>xmvn-api</artifactId>
|
|
|
df135e4 |
+ <version>2.5.0</version>
|
|
|
df135e4 |
+ <scope>provided</scope>
|
|
|
df135e4 |
+ </dependency>
|
|
|
df135e4 |
+ <dependency>
|
|
|
df135e4 |
+ <groupId>org.fedoraproject.xmvn</groupId>
|
|
|
df135e4 |
+ <artifactId>xmvn-connector-aether</artifactId>
|
|
|
df135e4 |
+ <version>2.5.0</version>
|
|
|
df135e4 |
+ <scope>provided</scope>
|
|
|
df135e4 |
+ </dependency>
|
|
|
df135e4 |
+ <dependency>
|
|
|
df135e4 |
<groupId>junit</groupId>
|
|
|
df135e4 |
<artifactId>junit</artifactId>
|
|
|
df135e4 |
<version>4.11</version>
|
|
|
df135e4 |
diff --git a/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java b/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
|
|
|
df135e4 |
index 76cc927..bdbd547 100644
|
|
|
df135e4 |
--- a/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
|
|
|
df135e4 |
+++ b/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
|
|
|
df135e4 |
@@ -109,6 +109,8 @@ public class AntRepoSys
|
|
|
df135e4 |
|
|
|
df135e4 |
private static final SettingsDecrypter settingsDecrypter = new AntSettingsDecryptorFactory().newInstance();
|
|
|
df135e4 |
|
|
|
df135e4 |
+ private static final XMvnRepoSys xmvnRepoSys = new XMvnRepoSys();
|
|
|
df135e4 |
+
|
|
|
df135e4 |
private final Project project;
|
|
|
df135e4 |
|
|
|
df135e4 |
private final DefaultServiceLocator locator;
|
|
|
df135e4 |
@@ -234,6 +236,11 @@ public class AntRepoSys
|
|
|
df135e4 |
|
|
|
df135e4 |
session.setWorkspaceReader( ProjectWorkspaceReader.getInstance() );
|
|
|
df135e4 |
|
|
|
df135e4 |
+ if ( project.getProperty( "xmvn.ant.enable" ) != null || System.getProperty( "xmvn.ant.enable" ) != null )
|
|
|
df135e4 |
+ {
|
|
|
df135e4 |
+ xmvnRepoSys.configureRepositorySession( session );
|
|
|
df135e4 |
+ }
|
|
|
df135e4 |
+
|
|
|
df135e4 |
return session;
|
|
|
df135e4 |
}
|
|
|
df135e4 |
|
|
|
df135e4 |
diff --git a/src/main/java/org/eclipse/aether/internal/ant/XMvnRepoSys.java b/src/main/java/org/eclipse/aether/internal/ant/XMvnRepoSys.java
|
|
|
df135e4 |
new file mode 100644
|
|
|
df135e4 |
index 0000000..bdef3e2
|
|
|
df135e4 |
--- /dev/null
|
|
|
df135e4 |
+++ b/src/main/java/org/eclipse/aether/internal/ant/XMvnRepoSys.java
|
|
|
df135e4 |
@@ -0,0 +1,35 @@
|
|
|
df135e4 |
+package org.eclipse.aether.internal.ant;
|
|
|
df135e4 |
+
|
|
|
df135e4 |
+import java.nio.file.Paths;
|
|
|
df135e4 |
+
|
|
|
df135e4 |
+import org.eclipse.aether.DefaultRepositorySystemSession;
|
|
|
df135e4 |
+import org.eclipse.aether.repository.WorkspaceReader;
|
|
|
df135e4 |
+import org.eclipse.aether.util.repository.ChainedWorkspaceReader;
|
|
|
df135e4 |
+import org.fedoraproject.xmvn.connector.aether.XMvnWorkspaceReader;
|
|
|
df135e4 |
+import org.fedoraproject.xmvn.locator.IsolatedXMvnServiceLocator;
|
|
|
df135e4 |
+import org.fedoraproject.xmvn.locator.XMvnHomeClassLoader;
|
|
|
df135e4 |
+import org.fedoraproject.xmvn.resolver.Resolver;
|
|
|
df135e4 |
+
|
|
|
df135e4 |
+class XMvnRepoSys
|
|
|
df135e4 |
+{
|
|
|
df135e4 |
+ private final WorkspaceReader xmvnWorkspaceReader;
|
|
|
df135e4 |
+
|
|
|
df135e4 |
+ public XMvnRepoSys()
|
|
|
df135e4 |
+ {
|
|
|
df135e4 |
+ ClassLoader antClassLoader = AntRepoSys.class.getClassLoader();
|
|
|
df135e4 |
+
|
|
|
df135e4 |
+ XMvnHomeClassLoader xmvnClassLoader = new XMvnHomeClassLoader( antClassLoader );
|
|
|
df135e4 |
+ xmvnClassLoader.addJar( Paths.get( "/usr/share/java/slf4j/api.jar" ) );
|
|
|
df135e4 |
+ xmvnClassLoader.addJar( Paths.get( "/usr/share/java/slf4j/simple.jar" ) );
|
|
|
df135e4 |
+
|
|
|
df135e4 |
+ IsolatedXMvnServiceLocator serviceLocator = new IsolatedXMvnServiceLocator( xmvnClassLoader );
|
|
|
df135e4 |
+ Resolver resolver = serviceLocator.getService( Resolver.class );
|
|
|
df135e4 |
+
|
|
|
df135e4 |
+ xmvnWorkspaceReader = new XMvnWorkspaceReader( resolver );
|
|
|
df135e4 |
+ }
|
|
|
df135e4 |
+
|
|
|
df135e4 |
+ public void configureRepositorySession( DefaultRepositorySystemSession session )
|
|
|
df135e4 |
+ {
|
|
|
df135e4 |
+ session.setWorkspaceReader( new ChainedWorkspaceReader( session.getWorkspaceReader(), xmvnWorkspaceReader ) );
|
|
|
df135e4 |
+ }
|
|
|
df135e4 |
+}
|
|
|
df135e4 |
--
|
|
|
df135e4 |
2.7.4
|
|
|
df135e4 |
|