Well, let's try to solicit a little more feedback (people?) and if no one complains too loudly, then you can attach a patch to the a JIRA issue and I will commit it.

-> richard

Chris Wall wrote:
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.

Reply via email to