Great to see this being discussed.
Initial thoughts that come to mind reading that you've got here ( which for
the most part all looks good ).
You mentioned the possibility of having the templates inline, rather than
<templateSpecs> I was wondering if using <templateManagement> to be
consistent with <dependencyManagement> and <pluginManagement>. If you have
multiple inline templates, how would you identify them? <id>'s like
plugins?
<templateManagement>
<template>
<id>web</id>
<build>
<plugins>
...
</plugins>
</build>
</template>
</templateManagement>
Feels really ik and complicated as you say. If the template was external,
how does the template file get attached/referenced? At work, we currently
use the build-helper-plugin from codehaus to attach additional files to our
build to push to the repository, maybe pulling that plugin, or a variation
of it in as something to attach template files ( or any ) to the build, and
still have the <template/> section you mention to use them.
The other idea I had a long time ago when thinking about this briefly, is
there any way of using XInclude [1] with a custom URI resolver for
repositories to just pull in POM parts ( not as type safe tho ).
<project xmlns:xi="http://www.w3.org/2001/XInclude">
<groupId>com.mytest</groupId>
<artifactId>mytest</artifactId>
<version>1.0-SNAPSHOT</version>
<xi:include href="com.mytest:mymixin:1.0:xml" xpointer="mixindeps"/>
</project>
( here - mymixin.xml could be a standard pom, with <dependencies
id="mixingdeps">
[1] http://www.w3.org/TR/xinclude/
--
"Great artists are extremely selfish and arrogant things" — Steven Wilson,
Porcupine Tree
On Tue, May 24, 2011 at 5:30 PM, Brett Porter <[email protected]> wrote:
> <templateSpecs>