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 );