Rigas Grigoropoulos created FELIX-3772:
------------------------------------------

             Summary: maven-bundle-plugin does not scan blueprint in workspace 
outside default location
                 Key: FELIX-3772
                 URL: https://issues.apache.org/jira/browse/FELIX-3772
             Project: Felix
          Issue Type: Bug
          Components: Maven Bundle Plugin
    Affects Versions: maven-bundle-plugin-2.3.7
         Environment: Windows 7, Maven 3.0.4
            Reporter: Rigas Grigoropoulos
            Priority: Minor


maven-bundle-plugin will not scan blueprint xml files in the workspace during a 
Maven build, unless the blueprint file is located at OSGI-INF/blueprint/ and an 
instruction "Bundle-Blueprint: OSGI-INF/blueprint" is provided.

The bug is in org.apache.felix.bundleplugin.BlueprintPlugin and in method 
analyzeJar.
Original code:

        String bpHeader = analyzer.getProperty( "Bundle-Blueprint", 
"OSGI-INF/blueprint" );
        Map<String, Map<String, String>> map = Processor.parseHeader( bpHeader, 
null );
        for ( String root : map.keySet() )
        {
            Jar jar = analyzer.getJar();
            Map<String, Resource> dir = jar.getDirectories().get( root );
            if ( dir == null || dir.isEmpty() )
            {
                Resource resource = jar.getResource( root );
                if ( resource != null )
                    process( analyzer, root, resource, headers );
                return false;
            }

This code reads a custom location from the Bundle-Blueprint instruction, 
locates the resource in the classpath and does the processing, but then just 
returns false.
Changing as follows fixes the problem:
           if ( resource != null )
                    process( analyzer, root, resource, headers );
                continue;

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to