[eclipse-m2e-core] Use xmvn-subst to symlink JARs

Mikolaj Izdebski mizdebsk at fedoraproject.org
Tue Dec 31 05:56:29 UTC 2013


commit 7831e085b2f75e7b61d7f81b8079906c44d76b27
Author: Mikolaj Izdebski <mizdebsk at redhat.com>
Date:   Tue Dec 31 06:27:42 2013 +0100

    Use xmvn-subst to symlink JARs
    
    Use XMvn Subst to ease maintenance of symlinks to dependency JARs.
    This way there is no need to manually synchronize JAR lists between
    Maven and M2E when some Maven dependency changes.  All that needs to
    be done is rebuilding M2E.
    
    Resolves: rhbz#1020299

 eclipse-m2e-core.spec |   79 ++++--------------------------------------------
 1 files changed, 7 insertions(+), 72 deletions(-)
---
diff --git a/eclipse-m2e-core.spec b/eclipse-m2e-core.spec
index 0b3bdf2..643c1a6 100644
--- a/eclipse-m2e-core.spec
+++ b/eclipse-m2e-core.spec
@@ -332,79 +332,13 @@ pushd %{buildroot}%{install_loc_plugins}
   %{__ln_s} %{_javadir}/maven-archetype/archetype-descriptor.jar
 popd
 
-# delete bundled jars and symlink to system jars
+# Replace bundled JARs with symlinks to system JARs using XMvn Subst.  This way
+# there is no need to manually synchronize JAR lists between Maven and M2E when
+# some Maven dependency changes.  All that needs to be done is rebuilding M2E.
 pushd %{buildroot}%{install_loc_plugins}
-  pushd org.eclipse.m2e.maven.runtime-%{version}-SNAPSHOT/jars
-    rm -f *
-    %{__ln_s} %{_javadir}/aether/aether-api.jar
-    %{__ln_s} %{_javadir}/aether/aether-connector-basic.jar
-    %{__ln_s} %{_javadir}/aether/aether-impl.jar
-    %{__ln_s} %{_javadir}/aether/aether-spi.jar
-    %{__ln_s} %{_javadir}/aether/aether-transport-wagon.jar
-    %{__ln_s} %{_javadir}/aether/aether-transport-http.jar
-    %{__ln_s} %{_javadir}/aether/aether-util.jar
-    %{__ln_s} %{_javadir}/aopalliance.jar
-    %{__ln_s} %{_javadir}/objectweb-asm/asm.jar
-    %{__ln_s} %{_javadir}/cglib.jar
-    %{__ln_s} %{_javadir}/apache-commons-cli.jar commons-cli.jar
-    %{__ln_s} %{_javadir}/guava.jar
-    %{__ln_s} %{_javadir}/hamcrest/core.jar hamcrest-core.jar
-    %{__ln_s} %{_javadir}/atinject.jar javax.inject.jar
-    %{__ln_s} %{_javadir}/jsr-305.jar jsr305.jar
-    %{__ln_s} %{_javadir}/junit.jar
-    %{__ln_s} %{_javadir}/maven/maven-aether-provider.jar
-    %{__ln_s} %{_javadir}/maven/maven-artifact.jar
-    %{__ln_s} %{_javadir}/maven/maven-compat.jar
-    %{__ln_s} %{_javadir}/maven/maven-core.jar
-    %{__ln_s} %{_javadir}/maven/maven-embedder.jar
-    %{__ln_s} %{_javadir}/maven/maven-model.jar
-    %{__ln_s} %{_javadir}/maven/maven-model-builder.jar
-    %{__ln_s} %{_javadir}/maven/maven-plugin-api.jar
-    %{__ln_s} %{_javadir}/maven/maven-repository-metadata.jar
-    %{__ln_s} %{_javadir}/maven/maven-settings.jar
-    %{__ln_s} %{_javadir}/maven/maven-settings-builder.jar
-    %{__ln_s} %{_javadir}/org.eclipse.sisu.inject.jar
-    %{__ln_s} %{_javadir}/org.eclipse.sisu.plexus.jar
-    %{__ln_s} %{_javadir}/plexus/plexus-build-api.jar
-    %{__ln_s} %{_javadir}/plexus/plexus-cipher.jar
-    %{__ln_s} %{_javadir}/plexus/classworlds.jar plexus-classworlds.jar
-    %{__ln_s} %{_javadir}/plexus/containers-component-annotations.jar \
-      plexus-component-annotations.jar
-    %{__ln_s} %{_javadir}/plexus/interpolation.jar plexus-interpolation.jar
-    %{__ln_s} %{_javadir}/plexus/plexus-sec-dispatcher.jar
-    %{__ln_s} %{_javadir}/plexus/utils.jar plexus-utils.jar
-    %{__ln_s} %{_javadir}/guice/google-guice.jar sisu-guice.jar
-    %{__ln_s} %{_javadir}/maven-wagon-ahc.jar wagon-ahc.jar
-    %{__ln_s} %{_javadir}/maven-wagon/file.jar wagon-file.jar
-    %{__ln_s} %{_javadir}/maven-wagon/provider-api.jar wagon-provider-api.jar
-    %{__ln_s} %{_javadir}/xbean/xbean-reflect.jar
-  popd
-
-  pushd org.eclipse.m2e.maven.indexer-%{version}-SNAPSHOT/
-    rm *.jar
-
-    %{__ln_s} %{_javadir}/aether/aether-api.jar
-    %{__ln_s} %{_javadir}/aether/aether-util.jar
-    %{__ln_s} %{_javadir}/maven-indexer/indexer-artifact.jar
-    %{__ln_s} %{_javadir}/maven-indexer/indexer-core.jar
-    %{__ln_s} %{_javadir}/lucene-core.jar
-    %{__ln_s} %{_javadir}/lucene-contrib/lucene-highlighter.jar
-    %{__ln_s} %{_javadir}/lucene-contrib/lucene-memory.jar
-  popd
-
-  pushd org.eclipse.m2e.archetype.common-%{version}-SNAPSHOT/
-    rm *.jar
-
-    %{__ln_s} %{_javadir}/maven-archetype/archetype-common.jar
-    %{__ln_s} %{_javadir}/apache-commons-collections.jar commons-collections.jar
-    %{__ln_s} %{_javadir}/apache-commons-io.jar commons-io.jar
-    %{__ln_s} %{_javadir}/apache-commons-lang.jar commons-lang.jar
-    %{__ln_s} %{_javadir}/dom4j.jar
-    %{__ln_s} %{_javadir}/jchardet/jchardet.jar
-    %{__ln_s} %{_javadir}/jdom.jar
-    %{__ln_s} %{_javadir}/plexus/velocity.jar plexus-velocity.jar
-    %{__ln_s} %{_javadir}/velocity.jar
-  popd
+  xmvn-subst -s org.eclipse.m2e.maven.runtime-%{version}-SNAPSHOT/ \
+    org.eclipse.m2e.maven.indexer-%{version}-SNAPSHOT/ \
+    org.eclipse.m2e.archetype.common-%{version}-SNAPSHOT/
 popd
 
 # Install main feature
@@ -430,6 +364,7 @@ cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
 * Tue Dec 31 2013 Mikolaj Izdebski <mizdebsk at redhat.com> - 1.4.0-9
 - Remove workaround for rhbz#911365 (missing cglib and aopalliance)
 - Add NOP SLF4J implementation JAR to classpath
+- Use xmvn-subst to symlink JARs, resolves: rhbz#1020299
 
 * Wed Dec 04 2013 Gerard Ryan <galileo at fedoraproject.org> - 1.4.0-8
 - Rebuild in Rawhide


More information about the scm-commits mailing list