You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ch...@apache.org on 2011/01/27 19:32:03 UTC

svn commit: r1064245 - /felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java

Author: chirino
Date: Thu Jan 27 18:32:03 2011
New Revision: 1064245

URL: http://svn.apache.org/viewvc?rev=1064245&view=rev
Log:
Fixes FELIX-2808 - scan for local packages by looking for *.class files instead of *.java so that all the JVM languages can be supported.

Modified:
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java?rev=1064245&r1=1064244&r2=1064245&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java Thu Jan 27 18:32:03 2011
@@ -379,7 +379,7 @@ public class BundlePlugin extends Abstra
         includeMavenResources( currentProject, builder, getLog() );
 
         // calculate default export/private settings based on sources
-        addLocalPackages( currentProject.getCompileSourceRoots(), builder );
+        addLocalPackages( outputDirectory, builder );
 
         // update BND instructions to embed selected Maven dependencies
         Collection embeddableArtifacts = getEmbeddableArtifacts( currentProject, builder );
@@ -913,29 +913,25 @@ public class BundlePlugin extends Abstra
     }
 
 
-    private static void addLocalPackages( List sourceDirectories, Analyzer analyzer )
+    private static void addLocalPackages( File outputDirectory, Analyzer analyzer )
     {
         Collection packages = new LinkedHashSet();
 
-        for ( Iterator d = sourceDirectories.iterator(); d.hasNext(); )
+        if ( outputDirectory != null && outputDirectory.isDirectory() )
         {
-            String sourceDirectory = (String) d.next();
-            if ( sourceDirectory != null && new File( sourceDirectory ).isDirectory() )
-            {
-                // scan local Java sources for potential packages
-                DirectoryScanner scanner = new DirectoryScanner();
-                scanner.setBasedir( sourceDirectory );
-                scanner.setIncludes( new String[]
-                    { "**/*.java" } );
+            // scan classes directory for potential packages
+            DirectoryScanner scanner = new DirectoryScanner();
+            scanner.setBasedir( outputDirectory );
+            scanner.setIncludes( new String[]
+                { "**/*.class" } );
 
-                scanner.addDefaultExcludes();
-                scanner.scan();
+            scanner.addDefaultExcludes();
+            scanner.scan();
 
-                String[] paths = scanner.getIncludedFiles();
-                for ( int i = 0; i < paths.length; i++ )
-                {
-                    packages.add( getPackageName( paths[i] ) );
-                }
+            String[] paths = scanner.getIncludedFiles();
+            for ( int i = 0; i < paths.length; i++ )
+            {
+                packages.add( getPackageName( paths[i] ) );
             }
         }