[eclipse-m2e-core] Initialize git repo, currently failing
Gerard Ryan
galileo at fedoraproject.org
Wed Jan 23 19:39:06 UTC 2013
commit 13d7f82734bfcd18e726b94791421301e3c273c7
Author: Gerard Ryan <gerard at ryan.lt>
Date: Tue Dec 11 12:53:48 2012 +0000
Initialize git repo, currently failing
eclipse-m2e-core-archetype-archetypemanager.patch | 63 +++
eclipse-m2e-core-artifactinfo-return-type.patch | 35 ++
eclipse-m2e-core-fix-m2e.core-manifest-1.2.0.patch | 14 +
...e-m2e-core-fix-m2e.core.ui-manifest-1.2.0.patch | 12 +
eclipse-m2e-core-lucene-deprecated-methods.patch | 20 +
eclipse-m2e-core-m2e.core-modello-version.patch | 10 +
eclipse-m2e-core-m2e.core-resourcefetcher.patch | 36 ++
eclipse-m2e-core-m2e.feature.patch | 17 +
...rg.eclipse.m2e.launching-build.properties.patch | 11 +
...pse-m2e-core-remotearchetypecatalogdialog.patch | 11 +
eclipse-m2e-core.spec | 395 ++++++++++++++++++++
11 files changed, 624 insertions(+), 0 deletions(-)
---
diff --git a/eclipse-m2e-core-archetype-archetypemanager.patch b/eclipse-m2e-core-archetype-archetypemanager.patch
new file mode 100644
index 0000000..5153e04
--- /dev/null
+++ b/eclipse-m2e-core-archetype-archetypemanager.patch
@@ -0,0 +1,63 @@
+--- org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java.orig 2012-07-19 15:40:38.000000000 +0100
++++ org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/MavenPluginActivator.java 2012-07-19 18:07:43.000000000 +0100
+@@ -35,7 +35,6 @@
+ import org.codehaus.plexus.classworlds.ClassWorld;
+ import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+
+-import org.apache.maven.archetype.Archetype;
+ import org.apache.maven.archetype.common.ArchetypeArtifactManager;
+ import org.apache.maven.archetype.source.ArchetypeDataSource;
+ import org.apache.maven.artifact.factory.ArtifactFactory;
+@@ -385,8 +384,8 @@
+ return repositoryRegistry;
+ }
+
+- public Archetype getArchetype() {
+- return lookup(Archetype.class);
++ public org.apache.maven.archetype.ArchetypeManager getArchetype() {
++ return lookup(org.apache.maven.archetype.ArchetypeManager.class);
+ }
+
+ public ArchetypeDataSource getArchetypeDataSource(String hint) {
+--- org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogFactory.java.orig 2012-07-19 15:47:14.000000000 +0100
++++ org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/archetype/ArchetypeCatalogFactory.java 2012-07-19 16:13:07.000000000 +0100
+@@ -21,7 +21,7 @@
+ import org.eclipse.core.runtime.Status;
+ import org.eclipse.osgi.util.NLS;
+
+-import org.apache.maven.archetype.Archetype;
++import org.apache.maven.archetype.ArchetypeManager;
+ import org.apache.maven.archetype.catalog.ArchetypeCatalog;
+ import org.apache.maven.archetype.source.ArchetypeDataSource;
+ import org.apache.maven.archetype.source.ArchetypeDataSourceException;
+@@ -67,7 +67,7 @@
+ return getId();
+ }
+
+- protected Archetype getArchetyper() {
++ protected ArchetypeManager getArchetyper() {
+ return MavenPluginActivator.getDefault().getArchetype();
+ }
+
+--- org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java.orig 2012-07-19 15:39:54.000000000 +0100
++++ org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationManager.java 2012-07-19 17:22:31.000000000 +0100
+@@ -768,7 +768,7 @@
+ }
+ }
+
+- private org.apache.maven.archetype.Archetype getArchetyper() {
++ private org.apache.maven.archetype.ArchetypeManager getArchetyper() {
+ return MavenPluginActivator.getDefault().getArchetype();
+ }
+
+--- org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenProjectWizardArchetypePage.java.orig 2012-08-08 14:46:26.924975744 +0100
++++ org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenProjectWizardArchetypePage.java 2012-08-04 14:51:10.000000000 +0100
+@@ -790,7 +790,7 @@
+ archetype.setArtifactId(archetypeArtifactId);
+ archetype.setVersion(archetypeVersion);
+ archetype.setRepository(repositoryUrl);
+- org.apache.maven.archetype.Archetype archetyper = MavenPluginActivator.getDefault().getArchetype();
++ org.apache.maven.archetype.ArchetypeManager archetyper = MavenPluginActivator.getDefault().getArchetype();
+ archetyper.updateLocalCatalog(archetype);
+
+ loadArchetypes(archetypeGroupId, archetypeArtifactId, archetypeVersion);
diff --git a/eclipse-m2e-core-artifactinfo-return-type.patch b/eclipse-m2e-core-artifactinfo-return-type.patch
new file mode 100644
index 0000000..2e486f9
--- /dev/null
+++ b/eclipse-m2e-core-artifactinfo-return-type.patch
@@ -0,0 +1,35 @@
+--- org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java.orig 2012-07-20 13:31:11.000000000 +0100
++++ org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java 2012-07-20 14:30:19.000000000 +0100
+@@ -244,9 +244,9 @@
+ }
+
+ synchronized(getIndexLock(repository)) {
+- ArtifactInfo artifactInfo = getIndexer().identify(query, Collections.singleton(getIndexingContext(repository)));
+- if(artifactInfo != null) {
+- return getIndexedArtifactFile(artifactInfo);
++ Collection<ArtifactInfo> artifactInfo = getIndexer().identify(query, Collections.singleton(getIndexingContext(repository)));
++ if(!artifactInfo.isEmpty()) {
++ return getIndexedArtifactFile((ArtifactInfo)artifactInfo.toArray()[0]);
+ }
+ }
+ } catch(Exception ex) {
+@@ -287,8 +287,8 @@
+
+ public IndexedArtifactFile identify(File file) throws CoreException {
+ try {
+- ArtifactInfo artifactInfo = getIndexer().identify(file);
+- return artifactInfo == null ? null : getIndexedArtifactFile(artifactInfo);
++ Collection<ArtifactInfo> artifactInfo = getIndexer().identify(file);
++ return artifactInfo.isEmpty() ? null : getIndexedArtifactFile((ArtifactInfo)artifactInfo.toArray()[0]);
+ } catch(IOException ex) {
+ throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1,
+ Messages.NexusIndexManager_error_search, ex));
+@@ -1272,7 +1272,7 @@
+
+ Query q = getIndexer().constructQuery(MAVEN.SHA1, encode(digest), SearchType.EXACT);
+
+- return getIndexer().identify(q, contexts);
++ return getIndexer().identify(q, contexts).isEmpty() ? null : (ArtifactInfo)getIndexer().identify(q, contexts).toArray()[0];
+
+ } catch(NoSuchAlgorithmException ex) {
+ throw new IOException("Unable to calculate digest");
diff --git a/eclipse-m2e-core-fix-m2e.core-manifest-1.2.0.patch b/eclipse-m2e-core-fix-m2e.core-manifest-1.2.0.patch
new file mode 100644
index 0000000..b219e8a
--- /dev/null
+++ b/eclipse-m2e-core-fix-m2e.core-manifest-1.2.0.patch
@@ -0,0 +1,14 @@
+--- org.eclipse.m2e.core/META-INF/MANIFEST.MF.orig 2012-12-05 17:01:35.124604249 +0000
++++ org.eclipse.m2e.core/META-INF/MANIFEST.MF 2012-12-05 17:02:55.092040497 +0000
+@@ -13,9 +13,9 @@
+ org.eclipse.m2e.archetype.common;bundle-version="[1.2.0,1.3.0)",
+ org.eclipse.m2e.maven.indexer;bundle-version="[1.2.0,1.3.0)",
+ slf4j.api,
+- com.ning.async-http-client;bundle-version="[1.6.5,1.6.6)"
++ com.ning.async-http-client,
++ org.apache.maven.archetype.catalog
+ Eclipse-LazyStart: true
+-Bundle-ClassPath: .
+ Bundle-RequiredExecutionEnvironment: J2SE-1.5,
+ JavaSE-1.6
+ Export-Package: org.eclipse.m2e.core,
diff --git a/eclipse-m2e-core-fix-m2e.core.ui-manifest-1.2.0.patch b/eclipse-m2e-core-fix-m2e.core.ui-manifest-1.2.0.patch
new file mode 100644
index 0000000..36526f1
--- /dev/null
+++ b/eclipse-m2e-core-fix-m2e.core.ui-manifest-1.2.0.patch
@@ -0,0 +1,12 @@
+--- org.eclipse.m2e.core.ui/META-INF/MANIFEST.MF.orig 2012-12-05 17:04:07.907615274 +0000
++++ org.eclipse.m2e.core.ui/META-INF/MANIFEST.MF 2012-12-05 17:05:06.246473052 +0000
+@@ -36,6 +36,8 @@
+ org.eclipse.ui.forms;bundle-version="3.4.1",
+ slf4j.api,
+ org.eclipse.jface.text,
+- org.eclipse.ui
++ org.eclipse.ui,
++ org.apache.maven.archetype.catalog,
++ org.apache.maven.archetype.descriptor
+ Import-Package: org.eclipse.compare.rangedifferencer,
+ org.eclipse.ltk.core.refactoring
diff --git a/eclipse-m2e-core-lucene-deprecated-methods.patch b/eclipse-m2e-core-lucene-deprecated-methods.patch
new file mode 100644
index 0000000..a8f7d8b
--- /dev/null
+++ b/eclipse-m2e-core-lucene-deprecated-methods.patch
@@ -0,0 +1,20 @@
+--- org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java.orig 2012-08-09 14:40:35.716178765 +0100
++++ org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java 2012-08-09 14:41:19.788127390 +0100
+@@ -837,7 +837,7 @@
+ }
+
+ protected Directory getIndexDirectory(IRepository repository) throws IOException {
+- return FSDirectory.getDirectory(getIndexDirectoryFile(repository));
++ return FSDirectory.open(getIndexDirectoryFile(repository));
+ }
+
+ public IndexedArtifactGroup resolveGroup(IndexedArtifactGroup group) {
+@@ -1129,7 +1129,7 @@
+ String details = getIndexDetails(repository);
+ String id = repository.getUid() + "-cache"; //$NON-NLS-1$
+ File luceneCache = new File(request.getLocalIndexCacheDir(), details);
+- Directory directory = FSDirectory.getDirectory(luceneCache);
++ Directory directory = FSDirectory.open(luceneCache);
+ IndexingContext cacheCtx = getIndexer().addIndexingContextForced(id, id, null, directory, null, null,
+ getIndexers(details));
+ request = newIndexUpdateRequest(repository, cacheCtx, monitor);
diff --git a/eclipse-m2e-core-m2e.core-modello-version.patch b/eclipse-m2e-core-m2e.core-modello-version.patch
new file mode 100644
index 0000000..d4ac7b4
--- /dev/null
+++ b/eclipse-m2e-core-m2e.core-modello-version.patch
@@ -0,0 +1,10 @@
+--- pom.xml.orig 2012-12-10 23:53:38.581824147 +0000
++++ pom.xml 2012-12-10 23:56:11.225728294 +0000
+@@ -37,6 +37,7 @@
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
++ <version>${modello.version}</version>
+ <executions>
+ <execution>
+ <id>standard</id>
diff --git a/eclipse-m2e-core-m2e.core-resourcefetcher.patch b/eclipse-m2e-core-m2e.core-resourcefetcher.patch
new file mode 100644
index 0000000..e3f3052
--- /dev/null
+++ b/eclipse-m2e-core-m2e.core-resourcefetcher.patch
@@ -0,0 +1,36 @@
+--- org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java.orig 2012-08-04 13:58:38.000000000 +0100
++++ org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/AsyncFetcher.java 2012-08-04 13:54:49.000000000 +0100
+@@ -45,7 +45,7 @@
+ import org.codehaus.plexus.util.IOUtil;
+ import org.codehaus.plexus.util.io.RawInputStreamFacade;
+
+-import org.apache.maven.index.updater.AbstractResourceFetcher;
++import org.apache.maven.index.updater.ResourceFetcher;
+ import org.apache.maven.wagon.authentication.AuthenticationInfo;
+ import org.apache.maven.wagon.proxy.ProxyInfo;
+ import org.apache.maven.wagon.proxy.ProxyUtils;
+@@ -60,7 +60,7 @@
+ *
+ * @author Benjamin Hanzelmann
+ */
+-public class AsyncFetcher extends AbstractResourceFetcher {
++public class AsyncFetcher implements ResourceFetcher {
+
+ private static Logger log = LoggerFactory.getLogger(AsyncFetcher.class);
+
+@@ -188,7 +188,7 @@
+ }
+ }
+
+- @Override
++ //@Override
+ public InputStream retrieve(String name) throws IOException, FileNotFoundException {
+ final String url = buildUrl(baseUrl, name);
+
+@@ -311,4 +311,4 @@
+ }
+ }
+
+-}
+\ No newline at end of file
++}
diff --git a/eclipse-m2e-core-m2e.feature.patch b/eclipse-m2e-core-m2e.feature.patch
new file mode 100644
index 0000000..3e74369
--- /dev/null
+++ b/eclipse-m2e-core-m2e.feature.patch
@@ -0,0 +1,17 @@
+--- org.eclipse.m2e.feature/feature.xml.orig 2012-08-08 17:34:59.322847984 +0100
++++ org.eclipse.m2e.feature/feature.xml 2012-08-08 17:35:41.016055892 +0100
+@@ -132,10 +132,12 @@
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+-
++
++<!--
+ <plugin id="org.jboss.netty"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+- unpack="false"/>
++ unpack="false"/>
++-->
+ </feature>
diff --git a/eclipse-m2e-core-org.eclipse.m2e.launching-build.properties.patch b/eclipse-m2e-core-org.eclipse.m2e.launching-build.properties.patch
new file mode 100644
index 0000000..948b066
--- /dev/null
+++ b/eclipse-m2e-core-org.eclipse.m2e.launching-build.properties.patch
@@ -0,0 +1,11 @@
+--- org.eclipse.m2e.launching/build.properties.orig 2012-08-05 14:10:02.048873621 +0100
++++ org.eclipse.m2e.launching/build.properties 2012-08-05 14:10:23.108472544 +0100
+@@ -14,8 +14,6 @@
+ .,\
+ plugin.properties,\
+ icons/,\
+- org.eclipse.m2e.cliresolver.jar,\
+- org.eclipse.m2e.cliresolver30.jar,\
+ about.html,\
+ schema/
+ jars.compile.order = .
diff --git a/eclipse-m2e-core-remotearchetypecatalogdialog.patch b/eclipse-m2e-core-remotearchetypecatalogdialog.patch
new file mode 100644
index 0000000..88f5777
--- /dev/null
+++ b/eclipse-m2e-core-remotearchetypecatalogdialog.patch
@@ -0,0 +1,11 @@
+--- org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/preferences/RemoteArchetypeCatalogDialog.java.orig 2012-08-05 13:38:58.000000000 +0100
++++ org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/preferences/RemoteArchetypeCatalogDialog.java 2012-08-05 13:44:20.000000000 +0100
+@@ -179,7 +179,7 @@
+ } finally {
+ final IStatus s = status;
+ @SuppressWarnings("unchecked")
+- final List<Archetype> archetypes = catalog==null ? Collections.emptyList() : catalog.getArchetypes();
++ final List<Archetype> archetypes = catalog==null ? Collections.<Archetype>emptyList() : catalog.getArchetypes();
+ getShell().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ verifyButton.setEnabled(true);
diff --git a/eclipse-m2e-core.spec b/eclipse-m2e-core.spec
new file mode 100644
index 0000000..dc38b69
--- /dev/null
+++ b/eclipse-m2e-core.spec
@@ -0,0 +1,395 @@
+%global eclipse_dropins %{_datadir}/eclipse/dropins
+%global install_loc_plugins %{eclipse_dropins}/%{name}/eclipse/plugins
+%global install_loc_features %{eclipse_dropins}/%{name}/eclipse/features
+%global release_tag %{version}.20120903-1050
+%global release_dir releases/1.2/%{release_tag}
+
+Name: eclipse-m2e-core
+Version: 1.2.0
+Release: 0.1%{?dist}
+Summary: Maven integration for Eclipse
+
+Group: Development/Tools
+License: EPL
+URL: http://eclipse.org/m2e/
+
+Source0: http://git.eclipse.org/c/m2e/m2e-core.git/snapshot/%{release_tag}.tar.bz2
+
+# Add some necessary stuff (mainly requires & imports) to manifests
+Patch0: %{name}-fix-m2e.core-manifest-1.2.0.patch
+Patch1: %{name}-fix-m2e.core.ui-manifest-1.2.0.patch
+
+# AbstractResourceFetcher is now ResourceFetcher (interface)
+Patch2: %{name}-m2e.core-resourcefetcher.patch
+
+# Archetype class is now ArchetypeManager
+Patch3: %{name}-archetype-archetypemanager.patch
+
+# Method returns collection of ArtifactInfo instances rather than just one
+Patch4: %{name}-artifactinfo-return-type.patch
+
+# Have to specify type here
+Patch5: %{name}-remotearchetypecatalogdialog.patch
+
+# org.eclipse.m2e.launching tries to bundle jars, but they don't seem needed
+Patch6: %{name}-org.eclipse.m2e.launching-build.properties.patch
+
+# Exclude org.jboss.netty from the feature - causes tycho to fail
+Patch7: %{name}-m2e.feature.patch
+
+# In updated lucene in F18, some methods have been renamed
+Patch8: %{name}-lucene-deprecated-methods.patch
+
+# Leaving out the modello version causes a NullPointerException
+# See comment 13 on RHBZ #847160
+Patch9: %{name}-m2e.core-modello-version.patch
+
+
+BuildArch: noarch
+
+BuildRequires: aether
+BuildRequires: aopalliance
+BuildRequires: apache-commons-cli
+BuildRequires: apache-commons-collections
+BuildRequires: apache-commons-io
+BuildRequires: apache-commons-lang
+BuildRequires: async-http-client
+BuildRequires: atinject
+BuildRequires: cglib
+BuildRequires: dom4j
+BuildRequires: eclipse-emf >= 2.8.0
+BuildRequires: eclipse-emf-core >= 2.8.0
+BuildRequires: eclipse-jdt >= 4.2.0
+BuildRequires: eclipse-p2-discovery >= 4.2.0
+BuildRequires: eclipse-platform >= 4.2.0
+BuildRequires: eclipse-rcp >= 4.2.0
+BuildRequires: eclipse-swt >= 4.2.0
+BuildRequires: eclipse-wtp-common >= 3.4.0
+BuildRequires: eclipse-wtp-sourceediting >= 3.4.0
+BuildRequires: google-guice
+BuildRequires: guava
+BuildRequires: hamcrest
+BuildRequires: icu4j-eclipse
+BuildRequires: java-devel
+BuildRequires: jchardet
+BuildRequires: jdom
+BuildRequires: jpackage-utils
+BuildRequires: jsr-305
+BuildRequires: junit
+BuildRequires: lucene
+BuildRequires: lucene-contrib
+BuildRequires: maven
+BuildRequires: maven-archetype-catalog
+BuildRequires: maven-archetype-common
+BuildRequires: maven-archetype-descriptor
+BuildRequires: maven-indexer
+BuildRequires: maven-install-plugin
+BuildRequires: maven-resources-plugin
+BuildRequires: maven-compiler-plugin
+BuildRequires: maven-surefire-plugin
+BuildRequires: maven-plugin-build-helper
+BuildRequires: maven-plugin-bundle
+BuildRequires: maven-wagon
+BuildRequires: maven-wagon-ahc
+BuildRequires: netty
+BuildRequires: objectweb-asm
+BuildRequires: plexus-build-api
+BuildRequires: plexus-cipher
+BuildRequires: plexus-classworlds
+BuildRequires: plexus-containers-component-annotations
+BuildRequires: plexus-container-default
+BuildRequires: plexus-interpolation
+BuildRequires: plexus-sec-dispatcher
+BuildRequires: plexus-utils
+BuildRequires: plexus-velocity
+BuildRequires: sisu
+BuildRequires: slf4j
+BuildRequires: tycho
+BuildRequires: tycho-extras
+BuildRequires: velocity
+BuildRequires: xbean
+
+Requires: aether
+Requires: aopalliance
+Requires: apache-commons-cli
+Requires: apache-commons-collections
+Requires: apache-commons-io
+Requires: apache-commons-lang
+Requires: async-http-client
+Requires: atinject
+Requires: cglib
+Requires: dom4j
+Requires: eclipse-emf >= 2.8.0
+Requires: eclipse-emf-core >= 2.8.0
+Requires: eclipse-jdt >= 4.2.0
+Requires: eclipse-p2-discovery >= 4.2.0
+Requires: eclipse-platform >= 4.2.0
+Requires: eclipse-rcp >= 4.2.0
+Requires: eclipse-swt >= 4.2.0
+Requires: eclipse-wtp-common >= 3.4.0
+Requires: eclipse-wtp-sourceediting >= 3.4.0
+Requires: google-guice
+Requires: guava
+Requires: hamcrest
+Requires: icu4j-eclipse
+Requires: java
+Requires: jchardet
+Requires: jdom
+Requires: jpackage-utils
+Requires: jsr-305
+Requires: junit
+Requires: lucene
+Requires: lucene-contrib
+Requires: maven
+Requires: maven-archetype-catalog
+Requires: maven-archetype-common
+Requires: maven-archetype-descriptor
+Requires: maven-indexer
+Requires: maven-wagon
+Requires: maven-wagon-ahc
+Requires: netty
+Requires: objectweb-asm
+Requires: plexus-build-api
+Requires: plexus-cipher
+Requires: plexus-classworlds
+Requires: plexus-containers-component-annotations
+Requires: plexus-container-default
+Requires: plexus-interpolation
+Requires: plexus-sec-dispatcher
+Requires: plexus-utils
+Requires: plexus-velocity
+Requires: sisu
+Requires: slf4j
+Requires: velocity
+Requires: xbean
+
+
+%description
+The goal of the m2ec project is to provide a first-class Apache Maven support
+in the Eclipse IDE, making it easier to edit Maven's pom.xml, run a build from
+the IDE and much more. For Java developers, the very tight integration with JDT
+greatly simplifies the consumption of Java artifacts either being hosted on open
+source repositories such as Maven Central, or in your in-house Maven repository.
+
+m2e is also a platform that let others provide better integration with
+additional Maven plugins (e.g. Android, web development, etc.), and facilitates
+the distribution of those extensions through the m2e marketplace.
+
+
+%prep
+%setup -q -n %{release_dir}
+
+find -name '*.class' -delete
+find -name '*.jar' -delete
+
+# These don't currently build, but don't seem to be absolutely necessary
+%pom_disable_module org.eclipse.m2e.tests.common
+%pom_disable_module org.eclipse.m2e.logback.appender
+%pom_disable_module org.eclipse.m2e.logback.configuration
+%pom_disable_module org.eclipse.m2e.logback.feature
+%pom_disable_module org.eclipse.m2e.sdk.feature
+%pom_disable_module org.eclipse.m2e.site
+
+# jetty already has OSGI info, so doesn't need to be bundled like it is
+%pom_remove_dep org.eclipse.m2e:org.jboss.netty
+%pom_add_dep org.jboss.netty:netty
+
+# async-http-client already has OSGI info, so doesn't need to be bundled
+# adding packaged version as a dep here causes some 'tycholock' problem
+%pom_remove_dep org.eclipse.m2e:com.ning.async-http-client
+
+# Don't add version to jar names that get bundled - easier for symlinking
+pushd m2e-maven-runtime
+ for pom in `find -name pom.xml`; do
+ sed -i -e 's|</Embed-Dependency>|</Embed-Dependency><Embed-StripVersion>true</Embed-StripVersion>|g' ${pom};
+ done
+popd
+
+# Add these dependencies so that they get added to OSGi classpath
+pushd m2e-maven-runtime/org.eclipse.m2e.maven.runtime
+ %pom_add_dep cglib:cglib
+ %pom_add_dep aopalliance:aopalliance
+popd
+
+# oro is jakarta-oro in Fedora
+pushd m2e-maven-runtime/org.eclipse.m2e.archetype.common/
+ sed -i -e 's/oro,/jakarta-oro,/g' pom.xml
+popd
+
+# Fix OSGI generation in pom.xml for MANIFEST.MF
+pushd m2e-maven-runtime/org.eclipse.m2e.maven.runtime/
+ sed -i -e 's/;bundle-version=\".*/,/g' \
+ -e 's/org.slf4j.api,/slf4j.api/g' pom.xml
+
+ # While we're here, re-allow aopalliance to be embedded in OSGi
+ # and exclude plexus-container-default
+ sed -i -e 's/\!aopalliance|/\!plexus-container-default|/g' pom.xml
+
+popd
+
+# Fix incorrect bundle name and version for slf4j in manifests
+find -name MANIFEST.MF \
+ -exec sed -i -e 's|org.slf4j.api;bundle-version=\".*\"|slf4j.api|g' {} \;
+
+%patch0
+%patch1
+%patch2
+%patch3
+%patch4
+%patch5
+%patch6
+%patch7
+%patch8
+%patch9
+
+
+%build
+repo=localrepo
+mvn-rpmbuild -f m2e-maven-runtime/pom.xml install -Dmaven.local.repo=${repo} -X -Dmaven.local.debug=true
+mvn-rpmbuild install -Dmaven.local.repo=${repo} -X -Dmaven.local.debug=true
+
+%install
+install -d -m 0755 %{buildroot}%{install_loc_plugins}
+install -d -m 0755 %{buildroot}%{install_loc_features}
+
+# Install normal plugins as packed jars
+for dir in `find -name target|grep -v feature|grep -v m2e-maven-runtime|grep -v lifecyclemapping`; do
+ if [ -f ${dir}/*-SNAPSHOT.jar ]; then
+ cp -p ${dir}/*-SNAPSHOT.jar %{buildroot}%{install_loc_plugins}
+ fi
+done
+
+# Unpack the plugins from m2e-maven-runtime
+for plug in maven.runtime maven.indexer archetype.common; do
+ unzip -q -d %{buildroot}%{install_loc_plugins}/org.eclipse.m2e.${plug}-%{version}-SNAPSHOT \
+ m2e-maven-runtime/org.eclipse.m2e.${plug}/target/*-SNAPSHOT.jar
+done
+
+unzip -q -d %{buildroot}%{install_loc_plugins}/org.eclipse.m2e.lifecyclemapping.defaults-%{version}-SNAPSHOT \
+ org.eclipse.m2e.lifecyclemapping.defaults/target/*-SNAPSHOT.jar
+
+# symlink existing jars
+pushd %{buildroot}%{install_loc_plugins}
+ %{__ln_s} %{_javadir}/async-http-client.jar
+ %{__ln_s} %{_javadir}/netty.jar
+ %{__ln_s} %{_javadir}/slf4j/api.jar slf4j-api.jar
+ %{__ln_s} %{_javadir}/maven-archetype/catalog.jar
+ %{__ln_s} %{_javadir}/maven-archetype/descriptor.jar
+popd
+
+# delete bundled jars and symlink to system jars
+pushd %{buildroot}%{install_loc_plugins}
+ pushd org.eclipse.m2e.maven.runtime-%{version}-SNAPSHOT/jars
+ rm -f *
+ %{__ln_s} %{_javadir}/aether/api.jar aether-api.jar
+ %{__ln_s} %{_javadir}/aether/connector-asynchttpclient.jar \
+ aether-connector-asynchttpclient.jar
+ %{__ln_s} %{_javadir}/aether/connector-wagon.jar aether-connector-wagon.jar
+ %{__ln_s} %{_javadir}/aether/impl.jar aether-impl.jar
+ %{__ln_s} %{_javadir}/aether/spi.jar aether-spi.jar
+ %{__ln_s} %{_javadir}/aether/util.jar 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}/sisu/guice-bean-binders.jar
+ %{__ln_s} %{_javadir}/sisu/guice-bean-converters.jar
+ %{__ln_s} %{_javadir}/sisu/guice-bean-inject.jar
+ %{__ln_s} %{_javadir}/sisu/guice-bean-locators.jar
+ %{__ln_s} %{_javadir}/sisu/guice-bean-reflect.jar
+ %{__ln_s} %{_javadir}/sisu/guice-bean-scanners.jar
+ %{__ln_s} %{_javadir}/sisu/guice-plexus-binders.jar
+ %{__ln_s} %{_javadir}/sisu/guice-plexus-converters.jar
+ %{__ln_s} %{_javadir}/sisu/guice-plexus-lifecycles.jar
+ %{__ln_s} %{_javadir}/sisu/guice-plexus-locators.jar
+ %{__ln_s} %{_javadir}/sisu/guice-plexus-metadata.jar
+ %{__ln_s} %{_javadir}/sisu/guice-plexus-scanners.jar
+ %{__ln_s} %{_javadir}/sisu/guice-plexus-shim.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}/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/api.jar aether-api.jar
+ %{__ln_s} %{_javadir}/aether/util.jar aether-util.jar
+ %{__ln_s} %{_javadir}/maven-indexer-artifact.jar indexer-artifact.jar
+ %{__ln_s} %{_javadir}/maven-indexer-core.jar 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/common.jar 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.jar
+ %{__ln_s} %{_javadir}/jdom.jar
+ %{__ln_s} %{_javadir}/plexus/velocity.jar plexus-velocity.jar
+ %{__ln_s} %{_javadir}/velocity.jar
+ popd
+popd
+
+# Install main feature
+unzip -q -d %{buildroot}%{install_loc_features}/org.eclipse.m2e.feature-%{version}-SNAPSHOT \
+ org.eclipse.m2e.feature/target/org.eclipse.m2e.feature-%{version}-SNAPSHOT.jar
+
+
+%files
+%{eclipse_dropins}/%{name}
+%doc org.eclipse.m2e.core/about.html
+%doc org.eclipse.m2e.feature/epl-v10.html
+
+
+%changelog
+* Mon Dec 10 2012 Gerard Ryan <galileo at fedoraproject.org> - 1.2.0-0.1
+- Attempt update to upstream 1.2.0
+
+* Mon Dec 10 2012 Gerard Ryan <galileo at fedoraproject.org> - 1.1.0-4
+- Force usage of sisu over plexus-containers for DefaultPlexusContainer.
+
+* Wed Dec 06 2012 Gerard Ryan <galileo at fedoraproject.org> - 1.1.0-3
+- Add cglib and aopalliance as embedded dependencies.
+- Use newer pom macro to add netty dependency.
+- Add cglib and aopalliance as dependencies in org.eclipse.m2e.maven.runtime.
+- Symlink catalog and descriptor jars from maven-archetype.
+- Remove symlink to plexus-container-default.jar, fix sisu-guice.jar link.
+
+* Fri Aug 10 2012 Gerard Ryan <galileo at fedoraproject.org> - 1.1.0-2
+- Fix sources.
+
+* Fri Aug 05 2012 Gerard Ryan <galileo at fedoraproject.org> - 1.1.0-1
+- Initial packaging.
More information about the scm-commits
mailing list