Hey Richard. The thing about the latest example
(<[artifact-name]>[file,file,...]</[artifact-name]>) is that Maven
automatically creates a Map containing the artifact-files associations.
The initial notation is probably not natural to an experienced Maven
user and requires transforming the Maven-created inlinedArtifacts List
to a Map.
Another example:
<inlinedArtifacts>
<bootstrap>
org/apache/catalina/loader/*,
org/apache/catalina/startup/catalina.properties,
org/apache/catalina/launcher/CatalinaLaunchFilter.class
</bootstrap>
<commons-logging/>
</inlinedArtifacts>
This is all set to go.
-Chris
-----Original Message-----
From: Richard S. Hall [mailto:[EMAIL PROTECTED]
Sent: July 12, 2006 2:05 AM
To: [email protected]
Subject: Re: OSGi Plugin for Maven 2.0 - add support for individual
class dependencies
Actually, now that I understand your original '@' syntax, I don't mind
it since it is simple...I suppose we could debate which character to
use...maybe ';' would appear more OSGi-like...other people might have
thoughts on that.
-> richard
Chris Wall wrote:
> 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.
>
>
_______________________________________________________________________
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.