I talked with Richard Hall a bit about this feature.  I wanted to get
everyone's take.  The idea is to provide fine grain support for inlined
artifacts where users may designate which files from a dependency jar
should be unrolled into the bundle.  The feature would extend the
current <inlinedArtifacts> configuration.

An example:

<inlinedArtifacts>
<bootstrap>
org/apache/catalina/loader/*,org/apache/catalina/startup/catalina.proper
ties,org/apache/catalina/launcher/CatalinaLaunchFilter.class
</bootstrap>
<anotherDependencyJar>*</anotherDependencyJar> (<anotherDependencyJar/>
might also work)
</inlinedArtifacts>

Based on the example above, bootstrap and anotherDependencyJar are
dependency jars.  bootstrap has specific files to be included (all
others should be excluded).  All contents of anotherDependencyJar will
be unrolled.

If anyone knows Maven better, is there a way to store array or List
objects within a Map via Maven's configuration element as oppose to
doing the comma-delimited thing?

An alternative approach, which is less of a diversion from the existing
configuration stanza, suggests that to-be-included classes are listed
after the artifact and a token ("@").  An example is noted below in the
original.

Thoughts?

-Chris


-----Original Message-----
From: Richard S. Hall [mailto:[EMAIL PROTECTED] 
Sent: July 11, 2006 3:34 AM
To: [email protected]
Subject: Re: OSGi Plugin for Maven 2.0 - add support for individual
class dependencies

What is the meaning of the "bootstrap@" portion of the syntax?

-> richard

Chris Wall wrote:
> Hey there.
>  
> I've enhanced the OSGi Plugin for Maven 2.0 to support declaring
> individual classes as dependencies.  Currently the plugin only
supports
> bundling dependencies at the jar level.
>  
> Currently we're using this internally.  Is there interest in including
> this feature back-in into the main plugin?
>  
> Comments, suggestions, etc are welcome.
>  
>  
>   <build>
>     <plugins>
>       <plugin>
>         ...
>         <configuration>
>         <!-- designate classes to be include after "@" comma
delimited; 
>         only designated classes will be included; TODO: wildcard
feature
> -->
>           <inlinedArtifacts>
>  
>
<inlinedArtifact>[EMAIL PROTECTED],org.apa
> che.catalina.startup.CatalinaProperties</inlinedArtifact>
>           </inlinedArtifacts>
>           <manifestFile>../manifest-template.mf</manifestFile>
>          ...
>         </configuration>
>       </plugin>
>     </plugins>
>   </build>
>  
>   <dependencies>
>     <!-- must designate jar containing individual class(es) as a
runtime
> dependency -->
>     <dependency>
>       <groupId>tomcat</groupId>
>       <artifactId>bootstrap</artifactId>
>       <version>5.5.12</version>
>       <scope>runtime</scope>
>     </dependency>    
>   </dependencies>
>  
> Resulting jar:
> ../target 561$ jar tf bootstrap-0.1-SNAPSHOT.jar
> META-INF/
> META-INF/MANIFEST.MF
> com/
> com/example/
> com/example/opensource/
> org/
> org/apache/
> org/apache/catalina/
> org/apache/catalina/startup/
> com/example/boot/Activator.class
> org/apache/catalina/startup/Bootstrap.class
> org/apache/catalina/startup/CatalinaProperties.class
> META-INF/maven/
> META-INF/maven/com.example.boot/
> META-INF/maven/com.example.boot/bootstrap/
> META-INF/maven/com.example.boot/bootstrap/pom.xml
> META-INF/maven/com.example.boot/bootstrap/pom.properties
>  
> -Chris
>  
>
_______________________________________________________________________
> Notice:  This email message, together with any attachments, may
contain
> information  of  BEA Systems,  Inc.,  its subsidiaries  and
affiliated
> entities,  that may be confidential,  proprietary,  copyrighted
and/or
> legally privileged, and is intended solely for the use of the
individual
> or entity named in this message. If you are not the intended
recipient,
> and have received this message in error, please immediately return
this
> by email and then delete it.
>
>   
_______________________________________________________________________
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.

Reply via email to