On 6 May 2011, at 16:33, Peter Kriens wrote:

> Sorry for the delay, I was walking in the mountains of France oblivious of 
> any bnd problems :-)
> 
> I think the problem is in the maven plugin, I think Stuart has to have a 
> look. The -wab and -wablib options augment the class path but do not add a 
> '.'. So my conclusion is that the maven plugin must set the Bundle-Classpath 
> for some reason ahead of time. The -wab(lib) options then just add their 
> stuff to it.

yes - took a quick at the code in trunk, it seems that the DependencyEmbedder 
adds '.' when assembling the embedded classpath (the pom below embeds 
dependencies)

you could try setting <Bundle-ClassPath>{maven-dependencies}</Bundle-ClassPath> 
as a workaround, I think this should avoid the code path that adds the default 
'.' entry

> I made some examples for -wab(lib) in bndtools: 
> https://github.com/bnd/aQute/tree/master/aQute.waboption
> 
> So Stuart?
> 
> Then again, I do not think this causes any problems and it has the advantage 
> that you do getResource() on the resources in your wab which can be 
> convenient.
> 
> Kind regards,
> 
>       Peter Kriens
> 
> 
> 
> On 26 apr 2011, at 07:21, Sahoo wrote:
> 
>> Any input?
>> 
>> On Friday 22 April 2011 08:04 AM, Sahoo wrote:
>>> Hi,
>>> 
>>> I want to build a WAB using maven-bundle-plugin. My WAB will include some 
>>> dependencies in WEB-INF/lib and the immediate classes in WEB-INF/classes/. 
>>> I have an additional requirement that Bundle-ClassPath must not include 
>>> ".", as it does not make sense for a WAB. I had issues using 
>>> maven-bundle-plugin to build such WABs in the past as discussed in [1]. I 
>>> thought I would be able to overcode those issues with *-wab* instructions 
>>> of new bnd, but I am not. /Should bnd not remove "." from Bundle-ClassPath 
>>> when it sees *-wab* instruction?/ Given below is an entire pom.xml and the 
>>> generated manifest.
>>> 
>>> Thanks,
>>> Sahoo
>>> 
>>> <project xmlns="http://maven.apache.org/POM/4.0.0"; 
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
>>> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>>> <modelVersion>4.0.0</modelVersion>
>>> <groupId>sahoo.osgisamples</groupId>
>>> <artifactId>bundleplugin.wab-with-webinflib-1</artifactId>
>>> <version>1.0-SNAPSHOT</version>
>>> <packaging>bundle</packaging>
>>> 
>>> <name>Bundle plugin sample demonstrating building of a WAB with 
>>> WEB-INF/lib</name>
>>> <build>
>>> <plugins>
>>> <plugin>
>>> <groupId>org.apache.felix</groupId>
>>> <artifactId>maven-bundle-plugin</artifactId>
>>> <version>2.2.0</version>
>>> <extensions>true</extensions>
>>> <configuration>
>>> <supportedProjectTypes>
>>> <supportedProjectType>jar</supportedProjectType>
>>> <supportedProjectType>war</supportedProjectType>
>>> <supportedProjectType>bundle</supportedProjectType>
>>> </supportedProjectTypes>
>>> <instructions>
>>> <Embed-Dependency>*;scope=compile;inline=false</Embed-Dependency>
>>> <Embed-Directory>WEB-INF/lib</Embed-Directory>
>>> <_wab>src/main/webapp</_wab>
>>> <Web-ContextPath>/test</Web-ContextPath>
>>> </instructions>
>>> </configuration>
>>> <executions>
>>> <execution>
>>> <id>bundle-bundle</id>
>>> <phase>package</phase>
>>> <inherited>false</inherited>
>>> <goals>
>>> <goal>bundle</goal>
>>> </goals>
>>> </execution>
>>> </executions>
>>> </plugin>
>>> <plugin>
>>> <artifactId>maven-compiler-plugin</artifactId>
>>> <configuration>
>>> <source>1.6</source>
>>> <target>1.6</target>
>>> </configuration>
>>> </plugin>
>>> <plugin>
>>> <artifactId>maven-war-plugin</artifactId>
>>> <version>2.1</version>
>>> <configuration>
>>> <failOnMissingWebXml>false</failOnMissingWebXml>
>>> </configuration>
>>> </plugin>
>>> </plugins>
>>> </build>
>>> <dependencies>
>>> <dependency>
>>> <groupId>sahoo.osgisamples</groupId>
>>> <artifactId>entities1</artifactId>
>>> <version>1.0-SNAPSHOT</version>
>>> <type>jar</type>
>>> <scope>compile</scope>
>>> </dependency>
>>> <dependency>
>>> <groupId>javax</groupId>
>>> <artifactId>javaee-web-api</artifactId>
>>> <version>6.0</version>
>>> <scope>provided</scope>
>>> </dependency>
>>> </dependencies>
>>> 
>>> </project>
>>> 
>>> [MANIFEST bundleplugin.wab-with-webinflib-1-1.0-SNAPSHOT.jar]
>>> Bnd-LastModified                        1303438835114
>>> Build-Jdk                               1.6.0_21
>>> Built-By                                ss141213
>>> Bundle-ClassPath                        
>>> WEB-INF/classes,.,WEB-INF/lib/entities1-1.0-SNAPSHOT.jar
>>> Bundle-ManifestVersion                  2
>>> Bundle-Name                             Bundle plugin sample demonstrating 
>>> building of a WAB with WEB-INF/lib
>>> Bundle-SymbolicName                     
>>> sahoo.osgisamples.bundleplugin.wab-with-webinflib-1
>>> Bundle-Version                          1.0.0.SNAPSHOT
>>> Class-Path
>>> Created-By                              Apache Maven Bundle Plugin
>>> Embed-Dependency                        *;scope=compile;inline=false
>>> Embed-Directory                         WEB-INF/lib
>>> Export-Package                          sahoo.samples.sample_wab1.api
>>> Import-Package                          
>>> javax.annotation,javax.ejb.embeddable,javax.persistence,javax.servlet,javax.servlet.annotation,javax.servlet.http,javax.transaction
>>> Manifest-Version                        1.0
>>> Tool                                    Bnd-1.15.0
>>> Web-ContextPath                         /test
>>> 
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to