I am trying to configure <artifactId>maven-ipojo-plugin</artifactId> to be used 
in combination with the <artifactId>maven-war-plugin</artifactId>
The overall goal is to have a <packaging>war</packaging> which can also be 
exposed as a bundle.

I have managed that the <maven-bundle-plugin> generates a manifest, which is 
picked up and included in the war. However the next step, using ipojo for 
handling the service and service instances isn't working. It's not being 
included in the manifest.

Please find attached the relevant snapshots of my maven pom:

Thanks for your support,
Kr Andrew

<plugins>
            <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                                   <warSourceDirectory>web</warSourceDirectory>
                                   <archive>
                                               <!-- add the generated manifest 
of the osgi-bundle plugin to the war -->
                                               
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                                   </archive>
                                   <webXml>src/main/web/WEB-INF/web.xml</webXml>
                        </configuration>
            </plugin>
            <plugin>
                        <!--
                                   The goal here is to be able to use a 
different packaging type than "bundle", say "war" packaging, and still get 
benefits of the maven-bundle-plugin.
                                   The major benefit is of course having the 
manifest being generated by the BND tool.
                                   If your project is packaged as "war", you 
can still use the maven-bundle-plugin to generate the manifest if you add "war" 
to supportedProjectTypes:
                                   -->
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-bundle-plugin</artifactId>
                        <version>2.1.0</version>
                        <executions>
                                   <execution>
                                               <id>bundle-manifest</id>
                                               <phase>process-classes</phase>
                                               <goals>
                                                           <goal>manifest</goal>
                                               </goals>
                                   </execution>
                        </executions>
                        <extensions>true</extensions>
                        <configuration>
                                   <supportedProjectTypes>
                                               
<supportedProjectType>jar</supportedProjectType>
                                               
<supportedProjectType>bundle</supportedProjectType>
                                               
<supportedProjectType>war</supportedProjectType>
                                   </supportedProjectTypes>
                                   <instructions>
                                               <Bundle-SymbolicName>Planets 
Service - JTidy</Bundle-SymbolicName>
                                               
<Bundle-Version>${pom.version}</Bundle-Version>
                                               <!--assume public classes are in 
the top package, and private classes are under ".internal"-->
                                               
<Export-Package>eu.planets_project.services.migrate.jtidy.*;version="${pom.version}"</Export-Package>
                                               <!--each module can override 
these defaults in their osgi.bnd file-->
                                               <_include>-osgi.bnd</_include>
                                   </instructions>
                        </configuration>
            </plugin>
            <!-- osgi - ipojo: meta.xml located in src>main>osgi>ipojo -->
            <plugin>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-ipojo-plugin</artifactId>
                        <version>1.4.2</version>
                        <executions>
                                   <execution>
                                               <goals>
                                                           
<goal>ipojo-bundle</goal>
                                               </goals>
                                               <configuration>
                                                           
<metadata>src/main/osgi/ipojo/meta.xml</metadata>
                                               </configuration>
                                   </execution>
                        </executions>
            </plugin>
</plugins>


Reply via email to