FELIX-360: apply the rest of Carlos' fixes
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@581888 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/bundleplugin/pom.xml b/bundleplugin/pom.xml
index 10107e6..5bc178e 100644
--- a/bundleplugin/pom.xml
+++ b/bundleplugin/pom.xml
@@ -76,7 +76,7 @@
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-dependency-tree</artifactId>
- <version>1.0</version>
+ <version>1.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
@@ -87,7 +87,7 @@
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-osgi</artifactId>
- <version>0.1.0</version>
+ <version>0.2.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
index b4c9801..c7ec59b 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
@@ -48,7 +48,6 @@
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTree;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
@@ -174,12 +173,12 @@
}
artifactsBeingProcessed.add( project.getArtifact() );
- DependencyTree dependencyTree;
+ DependencyNode dependencyTree;
try
{
dependencyTree = dependencyTreeBuilder.buildDependencyTree( project, localRepository, factory,
- artifactMetadataSource, collector );
+ artifactMetadataSource, null, collector );
}
catch ( DependencyTreeBuilderException e )
{
@@ -188,6 +187,12 @@
BundleInfo bundleInfo = new BundleInfo();
+ if ( !dependencyTree.hasChildren() )
+ {
+ /* no need to traverse the tree */
+ return bundleRoot( project, bundleInfo );
+ }
+
getLog().debug( "Will bundle the following dependency tree" + LS + dependencyTree );
for ( Iterator it = dependencyTree.inverseIterator(); it.hasNext(); )
@@ -199,6 +204,11 @@
break;
}
+ if ( node.getState() != DependencyNode.INCLUDED )
+ {
+ continue;
+ }
+
if ( Artifact.SCOPE_SYSTEM.equals( node.getArtifact().getScope() ) )
{
getLog().debug( "Ignoring system scoped artifact " + node.getArtifact() );
diff --git a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
index 42af16a..7243335 100644
--- a/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
+++ b/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
@@ -534,7 +534,7 @@
{
Properties properties = new Properties();
// Setup defaults
- String bsn = project.getGroupId() + "." + project.getArtifactId();
+ String bsn = maven2OsgiConverter.getBundleSymbolicName( project.getArtifact() );
properties.put(Analyzer.BUNDLE_SYMBOLICNAME, bsn);
properties.put(Analyzer.IMPORT_PACKAGE, "*");
diff --git a/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java b/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java
index 6478f10..1a92d5c 100644
--- a/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java
+++ b/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java
@@ -69,10 +69,10 @@
assertEquals( "2.0.0.SNAPSHOT", osgiVersion );
osgiVersion = plugin.convertVersionToOsgi( "2" );
- assertEquals( "2", osgiVersion );
+ assertEquals( "2.0.0", osgiVersion );
osgiVersion = plugin.convertVersionToOsgi( "2.1" );
- assertEquals( "2.1", osgiVersion );
+ assertEquals( "2.1.0", osgiVersion );
osgiVersion = plugin.convertVersionToOsgi( "2.1.3" );
assertEquals( "2.1.3", osgiVersion );