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.