65 lines
3 KiB
Diff
65 lines
3 KiB
Diff
From 59f7850fd2cde1c5af1aaa6f2a8a50585e490ff8 Mon Sep 17 00:00:00 2001
|
|
From: Mikolaj Izdebski <mizdebsk@redhat.com>
|
|
Date: Wed, 11 Sep 2013 18:31:04 +0200
|
|
Subject: [PATCH] Add support for XMvn workspace reader
|
|
|
|
---
|
|
.../org/eclipse/aether/internal/ant/AntRepoSys.java | 21 +++++++++++++++++++++
|
|
1 file changed, 21 insertions(+)
|
|
|
|
diff --git a/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java b/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
|
|
index 76cc927..ee1d444 100644
|
|
--- a/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
|
|
+++ b/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
|
|
@@ -15,6 +15,7 @@ import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStreamReader;
|
|
+import java.lang.reflect.Method;
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
import java.util.Collections;
|
|
@@ -84,6 +85,7 @@ import org.eclipse.aether.repository.AuthenticationSelector;
|
|
import org.eclipse.aether.repository.LocalRepositoryManager;
|
|
import org.eclipse.aether.repository.MirrorSelector;
|
|
import org.eclipse.aether.repository.ProxySelector;
|
|
+import org.eclipse.aether.repository.WorkspaceReader;
|
|
import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
|
|
import org.eclipse.aether.spi.connector.transport.TransporterFactory;
|
|
import org.eclipse.aether.spi.log.Logger;
|
|
@@ -91,6 +93,7 @@ import org.eclipse.aether.transport.classpath.ClasspathTransporterFactory;
|
|
import org.eclipse.aether.transport.file.FileTransporterFactory;
|
|
import org.eclipse.aether.transport.http.HttpTransporterFactory;
|
|
import org.eclipse.aether.util.repository.AuthenticationBuilder;
|
|
+import org.eclipse.aether.util.repository.ChainedWorkspaceReader;
|
|
import org.eclipse.aether.util.repository.ConservativeAuthenticationSelector;
|
|
import org.eclipse.aether.util.repository.DefaultAuthenticationSelector;
|
|
import org.eclipse.aether.util.repository.DefaultMirrorSelector;
|
|
@@ -234,6 +237,24 @@ public class AntRepoSys
|
|
|
|
session.setWorkspaceReader( ProjectWorkspaceReader.getInstance() );
|
|
|
|
+ if ( project.getProperty( "xmvn.ant.enable" ) != null )
|
|
+ {
|
|
+ try
|
|
+ {
|
|
+ Class containerClass = Class.forName( "org.codehaus.plexus.DefaultPlexusContainer" );
|
|
+ Object container = containerClass.newInstance();
|
|
+ Method lookupMethod = containerClass.getMethod( "lookup", Class.class, String.class );
|
|
+ Object xmvnReader = lookupMethod.invoke( container, WorkspaceReader.class, "ide" );
|
|
+ WorkspaceReader chainReader = new ChainedWorkspaceReader( session.getWorkspaceReader(), (WorkspaceReader) xmvnReader);
|
|
+ session.setWorkspaceReader( chainReader );
|
|
+ }
|
|
+ catch ( Exception e )
|
|
+ {
|
|
+ project.log( "Failed to launch XMvn: " + e.getMessage(), e, Project.MSG_WARN );
|
|
+ e.printStackTrace();
|
|
+ }
|
|
+ }
|
|
+
|
|
return session;
|
|
}
|
|
|
|
--
|
|
1.9.0
|
|
|