Felix-
I hadn't really considered being able to spit out multiple artifacts, i.e.
launchpad/app produces launchpad.jar and launchpad.war (which I think is
what you're describing). Is this really a common problem? I would think that
most people are using *either* the webapp *or* the standalone version, not a
combination of both.

And even if you did combine app and webapp, I'm not sure you want to also
put bundles in the same project. app and webapp should be 2 amongst many
consumers of org.apache.sling.launchpad.bundles. The testing module is a
good example of a third.

I'll start working on an implementation of my plugin goal idea over the next
day or so. I'd certainly be curious to see your combination pom.

I'm now leaning towards "init-sling" as the goal name.

Justin

On Mon, Nov 16, 2009 at 1:59 PM, Felix Meschberger <[email protected]>wrote:

> Hi Justin,
>
> Interestingly, I was just some days ago thinking about such a plugin
> while trying to merge the launchpad/app and launchpad/webapp projects
> into the launchpad/bundles project.
>
> I think, if we can create a plugin, which can be configured to include
> some bundles and package them up to create a webapp and a standalone app
> in a single project, this would probably help alot.
>
> Will post a prototype project descriptor of my app/webapp/bundles merge
> exercise tomorrow.
>
> Definitely +1 to do such a plugin.
>
> Can you give it a try ?
>
> Regards
> Felix
>
> Justin Edelson schrieb:
> > I saw some activity regarding the creation of some Maven archetypes for
> > Sling projects. Before going down that path, I'd like to suggest
> enhancing
> > the maven-sling-plugin with a new goal which will handle much of the
> > configuration being done now via the maven-dependency-plugin.
> Specifically,
> > I think the following can be done inside a single goal:
> > * Unpacking the org.apache.sling.launchpad.bundles assembly in the
> correct
> > location.
> > * Placing the base JAR file in the correct location
> > * Adding additional bundles to the start level-based directory name
> >
> > The most significant benefit of doing this is to dramatically simplify
> the
> > pom files. The dependency plugin plus the
> org.apache.sling.launchpad.bundles
> > dependency takes up about 80 LOC (more once/if my patch for SLING-1179 is
> > committed) and I think this can be reduced to around 20. This is also
> > obviously less error-prone.
> >
> > The other benefit is to reduce the (already proven to be error-prone)
> > duplication of the launchpad.base version in the pom. I'm proposing that
> > this new goal in the sling Maven plugin extract the base version from the
> > dependency list.
> >
> > I imagine that this goal would use the packaging type to automatically
> > adjust to the differences in building a standalone app vs. a webapp (i.e.
> > automatically include pax-web in standalone mode and felix-bridge in
> webapp
> > mode).
> >
> > You can see a brief sample of what I'm describing here:
> > http://gist.github.com/233240
> >
> > Thoughts?
> >
> > Justin
> >
>

Reply via email to