Stuart McCulloch-3 wrote:
> 
> On 19/04/2008, Niall Pemberton <[EMAIL PROTECTED]> wrote:
>>
>> On Fri, Apr 18, 2008 at 4:07 PM, mraible <[EMAIL PROTECTED]> wrote:
>> >
>> >  I have a Maven 2 project with <packaging>war</packaging>. I've
>> hand-written a
>> >  MANIFEST.MF to make my WAR OSGi-aware and have proven it works with
>> Spring
>> >  DM.
>> >
>> >  Now I want to get away from maintaining my MANIFEST and use the
>> >  maven-bundle-plugin to generate it. Is it possible to use this plugin
>> in a
>> >  "war" project or does it only work with <packaging>bundle</packaging>?
>>
>> You can use the bundle plugin to just generate the MANIFEST (using the
>> "manifest" goal) - this is what we've done in Apache Commons (thru's
>> the parent pom) -
>>
>>
>> http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-9/pom.xml
>>
>> The generated OSGi manifest is then merged in by the maven-jar-plugin.
>> This is an alternative to using packaging "bundle".
> 
> 
> btw, if you want to avoid manually setting the Bundle-ClassPath then you
> could
> use something like the following to match the bnd generated classpath
> against
> the actual WAR content:
> 
>   <configuration>
>     <instructions>
> 
> <Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
>       <Embed-Directory>WEB-INF/lib</Embed-Directory>
>       <Embed-Transitive>true</Embed-Transitive>
>     </instructions>
>   </configuration>
> 
> which will mimic the maven WAR layout of
> "WEB-INF/lib/artifactId-version.jar"
> 
> HTH
> 
> -- 
> Cheers, Stuart
> 
> 

For some reason, the following doesn't work for me:

<plugin>
  <artifactId>maven-war-plugin</artifactId>
  <configuration>
    <archive>
      <!--manifestFile>src/main/webapp/META-INF/MANIFEST.MF</manifestFile-->
     
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
    </archive>
  </configuration>
</plugin>
<plugin>
  <groupId>org.apache.felix</groupId>
  <artifactId>maven-bundle-plugin</artifactId>
  <extensions>true</extensions>
  <version>1.4.0</version>
  <configuration>
    <instructions>
      <!-- bundle specific conf -->
      <Bundle-Name>${artifactId}</Bundle-Name>
      <Bundle-SymbolicName>${osgi.symbolic.name}</Bundle-SymbolicName>
      <Export-Package>${osgi.export.pkg}</Export-Package>
      <Import-Package>${osgi.import.pkg}</Import-Package>
      <Private-Package>${osgi.private.pkg}</Private-Package>
      <!-- jar entries -->
     
<Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
      <Embed-Directory>WEB-INF/lib</Embed-Directory>
      <Embed-Transitive>true</Embed-Transitive>

      <Implementation-Title>MyApp</Implementation-Title>
      <Implementation-Version>${pom.version}</Implementation-Version>
      <Implementation-Vendor>AppFuse</Implementation-Vendor>
      <Implementation-Vendor-Id>org.appfuse</Implementation-Vendor-Id>
      <!-- Spring specific entries -->
      <Spring-DM-Version>${spring.dm.version}</Spring-DM-Version>
      <Spring-Version>${spring.version}</Spring-Version>
    </instructions>
  </configuration>
  <executions>
    <execution>
      <id>bundle-manifest</id>
      <phase>process-classes</phase>
      <goals>
        <goal>manifest</goal>
      </goals>
    </execution>
  </executions>
</plugin>

The plugin looks like it's running:

[INFO] [bundle:manifest {execution: bundle-manifest}]

But no manifest is created.

Any ideas?

Here's the manifest I'm trying to auto-generate:

Manifest-Version: 1
Bundle-ManifestVersion: 2
Spring-DM-Version: 1.1.0-m2-SNAPSHOT
Spring-Version: 2.5.2
Bundle-Name: Simple OSGi War
Bundle-SymbolicName: myapp
Bundle-Classpath: .,WEB-INF/classes,WEB-INF/lib/freemarker-2.3.12.jar,
 WEB-INF/lib/sitemesh-2.3.jar,WEB-INF/lib/urlrewritefilter-3.0.4.jar
Import-Package:
javax.servlet,javax.servlet.http,javax.servlet.resources,javax.swing.tree,

javax.naming,org.w3c.dom,org.apache.commons.logging,javax.xml.parsers;resolution:=optional,
 org.xml.sax;resolution:=optional,org.xml.sax.helpers;resolution:=optional,
 org.springframework.osgi.web.context.support,
 org.springframework.context.support,
 org.springframework.web.context,
 org.springframework.web.context.support,
 org.springframework.web.servlet,
 org.springframework.web.servlet.mvc,
 org.springframework.web.servlet.mvc.support,
 org.springframework.web.servlet.view,
 org.springframework.ui,
 org.springframework.web.servlet.view.freemarker

Thanks,

Matt
-- 
View this message in context: 
http://www.nabble.com/Is-it-possible-to-use-the-maven-bundle-plugin-on-a-WAR-project--tp16763483p16834883.html
Sent from the Apache Felix - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to