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>

Reply via email to