Hello Stuart,

Thanks very much for your very complete and clear answer!
Thierry

> you can provide a file with manifest entries, just use the
> <_include>filename</_include>
> element in your POM (maps to the -include instruction, see
> http://aqute.biz/Code/Bnd)
> or you can set your manifest entries directly in the
> <instructions> section
> in the POM:
> 
>   <plugin>
>     <groupId>org.apache.felix</groupId>
>    
> <artifactId>maven-bundle-plugin</artifactId>
>     <configuration>
>       <instructions>
>        
> <_include>some-manifest-or-property-file.txt</_include>
>         <SomeManifestHeader>some value or
> other</SomeManifestHeader>
>         <!-- etc -->
>       </instructions>
> 
> however, the Bnd tool may augment your given manifest with
> information it
> finds out about
> package versions, directives, etc. - but you can turn a lot
> of this off by
> using instructions
> documented at the above Bnd site. For example the
> <_removeheaders> element
> will let
> you remove named entries from the final manifest, allowing
> you to discard
> the additional
> (informational) entries typically added by Bnd:
> 
> <_removeheaders>Bnd-LastModified,Include-Resource,Private-Package,Tool</_removeheaders>
> 
> the Bnd tool will also warn you if it thinks your manifest
> doesn't match the
> bundle content
> 
> you could add an extra build step that ensures your exact
> manifest file is
> the one in the
> final bundle, but that would negate a lot of the benefit of
> the bundleplugin
> - you might as
> well jar up your bundle normally with the maven-jar-plugin
> and then use the
> Bnd tool in
> a separate Ant task to verify the bundle is valid.
> 
> 
> yes - you could put these entries in whatever file you
> include or add them
> as elements to the
> <instructions> in your POM. You can also use built-in
> Maven properties like
> ${project.name}
> or custom project properties you set in the POM (or its
> parents)
> 
> alternatively you could get Maven to filter this file (like
> any other
> resource) and then pull in the
> filtered version into the bundleplugin instructions
> 
> 
> > In this case, the problem is that only classes of the
> specified package are
> > included in the bundle. Is there a way to specify
> which packages must be
> > added in the resulting bundle without specifying
> additional MANIFEST
> > headers?
> >
> 
> try the 2.0.0 release candidate I mentioned in an earlier
> post:
> 
> 
> http://mail-archives.apache.org/mod_mbox/felix-dev/200902.mbox/%[email protected]%3e
> 
> by default it sets Private-Package to include all your
> locally compiled
> classes
> 
> if you want more control over your bundle content (ie.
> embedding
> dependencies
> or pulling in more resources from non-Maven locations) then
> you'll have to
> tell the
> Bnd tool by adding the relevant headers, as it can't
> read your mind ;)
> 
> but you can then use <_removeheaders> to remove them
> from the final manifest





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

Reply via email to