Blame 0001-Add-support-for-XMvn-workspace-reader.patch

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