commit 204b785d04c933a7c4e39497928d687bd320dd93470431a605231b5fda5caa5d Author: Fridrich Strba Date: Wed Apr 3 12:18:02 2019 +0000 Accepting request 691088 from home:fstrba:maven OBS-URL: https://build.opensuse.org/request/show/691088 OBS-URL: https://build.opensuse.org/package/show/Java:packages/maven-plugin-bundle?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-Port-to-current-maven-dependency-tree.patch b/0001-Port-to-current-maven-dependency-tree.patch new file mode 100644 index 0000000..cadfbbc --- /dev/null +++ b/0001-Port-to-current-maven-dependency-tree.patch @@ -0,0 +1,255 @@ +From ac9f85cd5fdab1d51defa363b31235c45560c7f6 Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Fri, 12 Feb 2016 09:45:20 +0100 +Subject: [PATCH 1/4] Port to current maven-dependency-tree + +--- + pom.xml | 2 +- + .../apache/felix/bundleplugin/BundleAllPlugin.java | 54 ++++++++++++---------- + .../apache/felix/bundleplugin/BundlePlugin.java | 30 ++++++------ + 3 files changed, 46 insertions(+), 40 deletions(-) + +diff --git a/pom.xml b/pom.xml +index dfbf237..46b2ba6 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -192,7 +192,7 @@ + + org.apache.maven.shared + maven-dependency-tree +- 2.1 ++ 3.0 + + + org.codehaus.plexus +diff --git a/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java b/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java +index f3b5509..6591923 100644 +--- a/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java ++++ b/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java +@@ -21,8 +21,10 @@ package org.apache.felix.bundleplugin; + + import java.io.File; + import java.io.FilenameFilter; ++import java.util.ArrayDeque; + import java.util.Arrays; + import java.util.Collection; ++import java.util.Deque; + import java.util.HashSet; + import java.util.Iterator; + import java.util.LinkedHashMap; +@@ -38,7 +40,6 @@ import org.apache.maven.artifact.Artifact; + import org.apache.maven.artifact.factory.ArtifactFactory; + import org.apache.maven.artifact.metadata.ArtifactMetadataSource; + import org.apache.maven.artifact.repository.ArtifactRepository; +-import org.apache.maven.artifact.resolver.ArtifactCollector; + import org.apache.maven.artifact.resolver.ArtifactNotFoundException; + import org.apache.maven.artifact.resolver.ArtifactResolutionException; + import org.apache.maven.artifact.resolver.ArtifactResolver; +@@ -49,13 +50,14 @@ import org.apache.maven.plugins.annotations.LifecyclePhase; + import org.apache.maven.plugins.annotations.Mojo; + import org.apache.maven.plugins.annotations.Parameter; + import org.apache.maven.plugins.annotations.ResolutionScope; ++import org.apache.maven.project.DefaultProjectBuildingRequest; + import org.apache.maven.project.MavenProject; + import org.apache.maven.project.MavenProjectBuilder; + import org.apache.maven.project.ProjectBuildingException; ++import org.apache.maven.project.ProjectBuildingRequest; + import org.apache.maven.project.artifact.InvalidDependencyVersionException; +-import org.apache.maven.shared.dependency.tree.DependencyNode; +-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder; +-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException; ++import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException; ++import org.apache.maven.shared.dependency.graph.DependencyNode; + import org.codehaus.plexus.util.FileUtils; + + import aQute.bnd.osgi.Analyzer; +@@ -92,24 +94,18 @@ public class BundleAllPlugin extends ManifestPlugin + */ + @Parameter( property = "wrapImportPackage", defaultValue = "*" ) + private String wrapImportPackage; +- + @Component + private ArtifactFactory m_factory; + + @Component + private ArtifactMetadataSource m_artifactMetadataSource; + +- @Component +- private ArtifactCollector m_collector; +- + /** + * Artifact resolver, needed to download jars. + */ + @Component + private ArtifactResolver m_artifactResolver; + +- @Component +- private DependencyTreeBuilder m_dependencyTreeBuilder; + + @Component + private MavenProjectBuilder m_mavenProjectBuilder; +@@ -180,17 +176,19 @@ public class BundleAllPlugin extends ManifestPlugin + + try + { +- dependencyTree = m_dependencyTreeBuilder.buildDependencyTree( project, localRepository, m_factory, +- m_artifactMetadataSource, null, m_collector ); ++ ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); ++ request.setProject(getProject()); ++ request.setRepositorySession(session.getRepositorySession()); ++ dependencyTree = m_dependencyGraphBuilder.buildDependencyGraph(request, null); + } +- catch ( DependencyTreeBuilderException e ) ++ catch ( DependencyGraphBuilderException e ) + { + throw new MojoExecutionException( "Unable to build dependency tree", e ); + } + + BundleInfo bundleInfo = new BundleInfo(); + +- if ( !dependencyTree.hasChildren() ) ++ if ( dependencyTree.getChildren().isEmpty()) + { + /* no need to traverse the tree */ + return bundleRoot( project, bundleInfo ); +@@ -198,20 +196,27 @@ public class BundleAllPlugin extends ManifestPlugin + + getLog().debug( "Will bundle the following dependency tree" + LS + dependencyTree ); + +- for ( Iterator it = dependencyTree.inverseIterator(); it.hasNext(); ) ++ Deque stack = new ArrayDeque(); ++ stack.push(dependencyTree); ++ Set visited = new HashSet(); ++ while (!stack.isEmpty()) + { +- DependencyNode node = ( DependencyNode ) it.next(); +- if ( !it.hasNext() ) ++ DependencyNode node = stack.pop(); ++ if (visited.contains(node)) + { +- /* this is the root, current project */ +- break; ++ continue; + } +- +- if ( node.getState() != DependencyNode.INCLUDED ) ++ visited.add(node); ++ if (node.getChildren() != null) + { +- continue; ++ stack.addAll(node.getChildren()); + } + ++ //if ( node.getState() != DependencyNode.INCLUDED ) ++ //{ ++ // continue; ++ //} ++ + if ( Artifact.SCOPE_SYSTEM.equals( node.getArtifact().getScope() ) ) + { + getLog().debug( "Ignoring system scoped artifact " + node.getArtifact() ); +@@ -235,12 +240,11 @@ public class BundleAllPlugin extends ManifestPlugin + + node.getArtifact().setFile( artifact.getFile() ); + +- int nodeDepth = node.getDepth(); +- if ( nodeDepth > maxDepth ) ++ if ( stack.size() > maxDepth ) + { + /* node is deeper than we want */ + getLog().debug( +- "Ignoring " + node.getArtifact() + ", depth is " + nodeDepth + ", bigger than " + maxDepth ); ++ "Ignoring " + node.getArtifact() + ", depth is " + stack.size() + ", bigger than " + maxDepth ); + continue; + } + +diff --git a/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java b/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java +index 1dcf1c1..3e4384e 100644 +--- a/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java ++++ b/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java +@@ -72,15 +72,15 @@ import org.apache.maven.plugins.annotations.LifecyclePhase; + import org.apache.maven.plugins.annotations.Mojo; + import org.apache.maven.plugins.annotations.Parameter; + import org.apache.maven.plugins.annotations.ResolutionScope; ++import org.apache.maven.project.DefaultProjectBuildingRequest; + import org.apache.maven.project.MavenProject; + import org.apache.maven.project.MavenProjectBuilder; + import org.apache.maven.project.MavenProjectHelper; + import org.apache.maven.project.ProjectBuildingException; ++import org.apache.maven.project.ProjectBuildingRequest; + import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder; + import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException; + import org.apache.maven.shared.dependency.graph.DependencyNode; +-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder; +-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException; + import org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter; + import org.apache.maven.shared.osgi.Maven2OsgiConverter; + import org.codehaus.plexus.archiver.UnArchiver; +@@ -225,9 +225,6 @@ public class BundlePlugin extends AbstractMojo + @Component + protected MavenProjectBuilder mavenProjectBuilder; + +- @Component +- private DependencyTreeBuilder dependencyTreeBuilder; +- + /** + * The dependency graph builder to use. + */ +@@ -347,7 +344,10 @@ public class BundlePlugin extends AbstractMojo + DependencyNode dependencyGraph; + try + { +- dependencyGraph = m_dependencyGraphBuilder.buildDependencyGraph( mavenProject, null ); ++ ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); ++ request.setProject(mavenProject); ++ request.setRepositorySession(session.getRepositorySession()); ++ dependencyGraph = m_dependencyGraphBuilder.buildDependencyGraph( request, null ); + } + catch ( DependencyGraphBuilderException e ) + { +@@ -758,7 +758,7 @@ public class BundlePlugin extends AbstractMojo + // We need to find the direct dependencies that have been included in the uber JAR so that we can modify the + // POM accordingly. + private void createDependencyReducedPom( Set artifactsToRemove ) +- throws IOException, DependencyTreeBuilderException, ProjectBuildingException ++ throws IOException, DependencyGraphBuilderException, ProjectBuildingException + { + Model model = project.getOriginalModel(); + List dependencies = new ArrayList(); +@@ -901,24 +901,26 @@ public class BundlePlugin extends AbstractMojo + } + + public boolean updateExcludesInDeps( MavenProject project, List dependencies, List transitiveDeps ) +- throws DependencyTreeBuilderException ++ throws DependencyGraphBuilderException + { +- org.apache.maven.shared.dependency.tree.DependencyNode node = dependencyTreeBuilder.buildDependencyTree(project, localRepository, artifactFactory, +- artifactMetadataSource, null, +- artifactCollector); ++ ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); ++ request.setProject(project); ++ request.setRepositorySession(session.getRepositorySession()); ++ DependencyNode node = dependencyGraphBuilder.buildDependencyGraph(request, null); + boolean modified = false; + Iterator it = node.getChildren().listIterator(); + while ( it.hasNext() ) + { +- org.apache.maven.shared.dependency.tree.DependencyNode n2 = (org.apache.maven.shared.dependency.tree.DependencyNode) it.next(); ++ DependencyNode n2 = (DependencyNode) it.next(); + Iterator it2 = n2.getChildren().listIterator(); + while ( it2.hasNext() ) + { +- org.apache.maven.shared.dependency.tree.DependencyNode n3 = (org.apache.maven.shared.dependency.tree.DependencyNode) it2.next(); ++ DependencyNode n3 = (DependencyNode) it2.next(); + //anything two levels deep that is marked "included" + //is stuff that was excluded by the original poms, make sure it + //remains excluded IF promoting transitives. +- if ( n3.getState() == org.apache.maven.shared.dependency.tree.DependencyNode.INCLUDED ) ++ //if ( n3.getState() == org.apache.maven.shared.dependency.tree.DependencyNode.INCLUDED ) ++ if (true) + { + //check if it really isn't in the list of original dependencies. Maven + //prior to 2.0.8 may grab versions from transients instead of +-- +2.14.3 + diff --git a/0002-Fix-for-new-maven-archiver.patch b/0002-Fix-for-new-maven-archiver.patch new file mode 100644 index 0000000..fadca9e --- /dev/null +++ b/0002-Fix-for-new-maven-archiver.patch @@ -0,0 +1,25 @@ +From 17a505c7c7924540f9636e3cd2700cc25a59447e Mon Sep 17 00:00:00 2001 +From: Mat Booth +Date: Thu, 14 Apr 2016 17:00:23 +0100 +Subject: [PATCH 2/4] Fix for new maven archiver + +--- + src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java b/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java +index 3e4384e..a42d6ef 100644 +--- a/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java ++++ b/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java +@@ -1104,7 +1104,7 @@ public class BundlePlugin extends AbstractMojo + * Grab customized manifest entries from the maven-jar-plugin configuration + */ + MavenArchiveConfiguration archiveConfig = JarPluginConfiguration.getArchiveConfiguration( currentProject ); +- String mavenManifestText = new MavenArchiver().getManifest( currentProject, archiveConfig ).toString(); ++ String mavenManifestText = new MavenArchiver().getManifest( m_mavenSession, currentProject, archiveConfig ).toString(); + addMavenDescriptor = addMavenDescriptor && archiveConfig.isAddMavenDescriptor(); + + Manifest mavenManifest = new Manifest(); +-- +2.14.3 + diff --git a/0003-Port-to-plexus-utils-3.0.24.patch b/0003-Port-to-plexus-utils-3.0.24.patch new file mode 100644 index 0000000..bc4fe9f --- /dev/null +++ b/0003-Port-to-plexus-utils-3.0.24.patch @@ -0,0 +1,46 @@ +From 5e514316b5cfbe769b21dc089e2631a9c302dd19 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 12 May 2016 09:24:36 +0200 +Subject: [PATCH 3/4] Port to plexus-utils 3.0.24 + +--- + pom.xml | 2 +- + src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java | 9 ++++++++- + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/pom.xml b/pom.xml +index 46b2ba6..144f5ad 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -197,7 +197,7 @@ + + org.codehaus.plexus + plexus-utils +- 3.0.10 ++ 3.0.24 + + + org.sonatype.plexus +diff --git a/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java b/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java +index a42d6ef..c858b6b 100644 +--- a/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java ++++ b/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java +@@ -1806,7 +1806,14 @@ public class BundlePlugin extends AbstractMojo + File filterFile = new File( i.next() ); + if ( filterFile.isFile() ) + { +- properties.putAll( PropertyUtils.loadProperties( filterFile ) ); ++ try ++ { ++ properties.putAll( PropertyUtils.loadProperties( filterFile ) ); ++ } ++ catch ( IOException exc ) ++ { ++ // Ignore ++ } + } + } + +-- +2.14.3 + diff --git a/0004-Use-Maven-3-APIs.patch b/0004-Use-Maven-3-APIs.patch new file mode 100644 index 0000000..209cd57 --- /dev/null +++ b/0004-Use-Maven-3-APIs.patch @@ -0,0 +1,77 @@ +From e0f3d1cddc9ce70d8290aafbdaa36e3aa56e5e9d Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Wed, 12 Oct 2016 23:43:00 +0200 +Subject: [PATCH 4/4] Use Maven 3 APIs + +--- + pom.xml | 17 +++++++++++------ + .../org/apache/felix/bundleplugin/BundlePlugin.java | 4 ++-- + 2 files changed, 13 insertions(+), 8 deletions(-) + +diff --git a/pom.xml b/pom.xml +index 144f5ad..cf3d7dc 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -182,7 +192,17 @@ + + org.apache.maven + maven-core +- 2.2.0 ++ 3.3.9 ++ ++ ++ org.apache.maven ++ maven-compat ++ 3.3.9 ++ ++ ++ org.apache.maven.reporting ++ maven-reporting-impl ++ 2.4 + + + org.apache.maven +@@ -225,11 +234,6 @@ + 1.1 + test + +- +- org.jdom +- jdom +- 1.1 +- + + + +diff --git a/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java b/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java +index c858b6b..5023569 100644 +--- a/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java ++++ b/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java +@@ -46,7 +46,6 @@ import java.util.TreeMap; + import java.util.jar.Attributes; + import java.util.jar.Manifest; + +-import org.apache.felix.bundleplugin.pom.PomWriter; + import org.apache.maven.archiver.ManifestSection; + import org.apache.maven.archiver.MavenArchiveConfiguration; + import org.apache.maven.archiver.MavenArchiver; +@@ -63,6 +62,7 @@ import org.apache.maven.model.Exclusion; + import org.apache.maven.model.License; + import org.apache.maven.model.Model; + import org.apache.maven.model.Resource; ++import org.apache.maven.model.io.xpp3.MavenXpp3Writer; + import org.apache.maven.plugin.AbstractMojo; + import org.apache.maven.plugin.MojoExecutionException; + import org.apache.maven.plugin.MojoFailureException; +@@ -864,7 +864,7 @@ public class BundlePlugin extends AbstractMojo + + try + { +- PomWriter.write( w, model, true ); ++ new MavenXpp3Writer().write( w, model ); + } + finally + { +-- +2.14.3 + diff --git a/maven-bundle-plugin-3.5.1-source-release.tar.gz b/maven-bundle-plugin-3.5.1-source-release.tar.gz new file mode 100644 index 0000000..1569ba0 --- /dev/null +++ b/maven-bundle-plugin-3.5.1-source-release.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d05a772623f1856cdf69bd3c569edd838145044aecfa6ad1864ee6de7e08243c +size 1348331 diff --git a/maven-plugin-bundle.spec b/maven-plugin-bundle.spec new file mode 100644 index 0000000..fe99fbb --- /dev/null +++ b/maven-plugin-bundle.spec @@ -0,0 +1,126 @@ +# +# spec file for package maven-plugin-bundle +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global site_name maven-bundle-plugin +%bcond_with obr +%bcond_without reporting +Name: maven-plugin-bundle +Version: 3.5.1 +Release: 0 +Summary: Maven Bundle Plugin +License: Apache-2.0 +Group: Development/Libraries/Java +URL: http://felix.apache.org +Source0: http://repo2.maven.org/maven2/org/apache/felix/%{site_name}/%{version}/%{site_name}-%{version}-source-release.tar.gz +# Needs polishing to be sent upstream +Patch0: 0001-Port-to-current-maven-dependency-tree.patch +# New maven-archiver removed some deprecated methods we were using +Patch1: 0002-Fix-for-new-maven-archiver.patch +# Port to newer Plexus utils +Patch2: 0003-Port-to-plexus-utils-3.0.24.patch +# Port to newer Maven +Patch3: 0004-Use-Maven-3-APIs.patch +BuildRequires: fdupes +BuildRequires: maven-local +BuildRequires: mvn(biz.aQute.bnd:biz.aQute.bndlib) +BuildRequires: mvn(org.apache.felix:felix-parent:pom:) +BuildRequires: mvn(org.apache.felix:org.apache.felix.utils) +BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations) +BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) +BuildRequires: mvn(org.apache.maven.shared:maven-dependency-tree) +BuildRequires: mvn(org.apache.maven:maven-archiver) +BuildRequires: mvn(org.apache.maven:maven-compat) +BuildRequires: mvn(org.apache.maven:maven-core) +BuildRequires: mvn(org.codehaus.plexus:plexus-utils) +BuildRequires: mvn(org.osgi:osgi.core) +BuildRequires: mvn(org.sonatype.plexus:plexus-build-api) +BuildArch: noarch +%if %{with obr} +BuildRequires: mvn(net.sf.kxml:kxml2) +BuildRequires: mvn(org.apache.felix:org.apache.felix.bundlerepository) +BuildRequires: mvn(xpp3:xpp3) +%endif +%if %{with reporting} +BuildRequires: mvn(org.apache.maven.doxia:doxia-sink-api) +BuildRequires: mvn(org.apache.maven.doxia:doxia-site-renderer) +BuildRequires: mvn(org.apache.maven.reporting:maven-reporting-impl) +%endif + +%description +Provides a maven plugin that supports creating an OSGi bundle +from the contents of the compilation classpath along with its +resources and dependencies. Plus a zillion other features. + +%package javadoc +Summary: Javadoc for %{name} + +%description javadoc +API documentation for %{name}. + +%prep +%setup -q -n %{site_name}-%{version} + +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 + +find -name '*.jar' -delete + +%pom_change_dep :org.osgi.core :osgi.core + +# Bundled class from old maven-dependency-tree +rm -r src/main/java/org/apache/maven/shared/dependency + +# Bundled classes from old maven +rm -r src/main/java/org/apache/felix/bundleplugin/pom + +# There is forked version of maven-osgi in +# src/{main,test}/java/org/apache/maven + +%if %{with obr} +# Deps unbundled from felix-bundlerepository +%pom_add_dep xpp3:xpp3 +%pom_add_dep net.sf.kxml:kxml2 +%else +rm -rf src/main/java/org/apache/felix/obrplugin/ +%pom_remove_dep :org.apache.felix.bundlerepository +%endif + +%if %{without reporting} +rm -f src/main/java/org/apache/felix/bundleplugin/baseline/BaselineReport.java +%pom_remove_dep :doxia-sink-api +%pom_remove_dep :doxia-site-renderer +%pom_remove_dep :maven-reporting-impl +%endif + +%build +# Tests depend on bundled JARs +%{mvn_build} -f + +%install +%mvn_install +%fdupes -s %{buildroot}%{_javadocdir} + +%files -f .mfiles +%license LICENSE NOTICE + +%files javadoc -f .mfiles-javadoc +%license LICENSE NOTICE + +%changelog