From 64c225b702513ff0ae0c0ce58b41d0081ce183d2 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Sep 11 2013 17:22:02 +0000 Subject: Add support for resulving artifacts using XMvn - Resolves: rhbz#1005971 --- diff --git a/0001-Add-support-for-XMvn-workspace-reader.patch b/0001-Add-support-for-XMvn-workspace-reader.patch new file mode 100644 index 0000000..1df40b0 --- /dev/null +++ b/0001-Add-support-for-XMvn-workspace-reader.patch @@ -0,0 +1,65 @@ +From 28cc1f2a071b3f00800f4aa9842561972870833f Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Wed, 11 Sep 2013 18:31:04 +0200 +Subject: [PATCH] Add support for XMvn workspace reader + +--- + .../java/org/eclipse/aether/ant/AntRepoSys.java | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/src/main/java/org/eclipse/aether/ant/AntRepoSys.java b/src/main/java/org/eclipse/aether/ant/AntRepoSys.java +index 53860de..97c2313 100644 +--- a/src/main/java/org/eclipse/aether/ant/AntRepoSys.java ++++ b/src/main/java/org/eclipse/aether/ant/AntRepoSys.java +@@ -11,6 +11,7 @@ + package org.eclipse.aether.ant; + + import java.io.File; ++import java.lang.reflect.Method; + import java.util.Collection; + import java.util.Collections; + import java.util.HashMap; +@@ -76,6 +77,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; +@@ -83,6 +85,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; +@@ -246,6 +249,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.8.1.4 + diff --git a/aether-ant-tasks.spec b/aether-ant-tasks.spec index 9c3c1d4..bf1eb1c 100644 --- a/aether-ant-tasks.spec +++ b/aether-ant-tasks.spec @@ -3,7 +3,7 @@ Name: aether-ant-tasks Epoch: 1 Version: 0.9.0 -Release: 0.2.%{vertag}%{?dist} +Release: 0.3.%{vertag}%{?dist} Summary: Ant tasks using Aether to resolve, install and deploy artifacts Group: Development/Libraries BuildArch: noarch @@ -11,6 +11,9 @@ BuildArch: noarch License: EPL URL: http://www.eclipse.org/aether Source0: http://git.eclipse.org/c/aether/aether-ant.git/snapshot/%{name}-%{version}.%{vertag}.tar.bz2 +Source5: ant-classpath + +Patch0001: 0001-Add-support-for-XMvn-workspace-reader.patch BuildRequires: maven-local BuildRequires: mvn(junit:junit) @@ -36,6 +39,7 @@ BuildRequires: mvn(org.hamcrest:hamcrest-library) # Workaround for rhbz#996062 BuildRequires: ant-testutil +Requires: ant %description The Aether Ant Tasks enable build scripts for Apache Ant 1.7+ to use Eclipse @@ -50,6 +54,7 @@ This package contains the API documentation for %{name}. %prep %setup -q -n %{name}-%{version}.%{vertag} +%patch0001 -p1 # Use junit since junit-dep is obselete and equivilent to junit since 4.11 sed -i -e 's@junit-dep@junit@g' pom.xml @@ -64,7 +69,11 @@ sed -i -e 's@junit-dep@junit@g' pom.xml %install %mvn_install +install -d -m 755 %{buildroot}/%{_sysconfdir}/ant.d +install -p -m 644 %{SOURCE5} %{buildroot}/%{_sysconfdir}/ant.d/%{name} + %files -f .mfiles +%config(noreplace) %{_sysconfdir}/ant.d/%{name} %doc README.md %doc epl-v10.html notice.html @@ -72,6 +81,10 @@ sed -i -e 's@junit-dep@junit@g' pom.xml %doc epl-v10.html notice.html %changelog +* Wed Sep 11 2013 Mikolaj Izdebski - 1:0.9.0-0.3.M3 +- Add support for resulving artifacts using XMvn +- Resolves: rhbz#1005971 + * Mon Aug 12 2013 Mikolaj Izdebski - 1:0.9.0-0.2.M3 - Update to upstream version 0.9.0.M3 diff --git a/ant-classpath b/ant-classpath new file mode 100644 index 0000000..a152a81 --- /dev/null +++ b/ant-classpath @@ -0,0 +1,26 @@ +aether +aether-ant-tasks +aopalliance +atinject +cglib +commons-logging +google-guice +guava +httpcomponents/httpclient +httpcomponents/httpcore +maven/maven-aether-provider +maven/maven-model +maven/maven-model-builder +maven/maven-settings +maven/maven-settings-builder +objectweb-asm +org.eclipse.sisu.inject +org.eclipse.sisu.plexus +plexus/classworlds +plexus/containers-component-annotations +plexus/interpolation +plexus/plexus-cipher +plexus/plexus-sec-dispatcher +plexus/utils +xmvn/xmvn-connector +xmvn/xmvn-core