Skip to content
Skip to breadcrumbs
Skip to header menu
Skip to action menu
Skip to quick search
Quick Search
Browse
Pages
Blog
Labels
Attachments
Mail
Advanced
What’s New
Space Directory
Feed Builder
Keyboard Shortcuts
Confluence Gadgets
Log In
Sign Up
Dashboard
Maven User
Copy Page
You are not logged in. Any changes you make will be marked as
anonymous
. You may want to
Log In
if you already have an account. You can also
Sign Up
for a new account.
This page is being edited by
.
Paragraph
Paragraph
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Preformatted
Quote
Bold
Italic
Underline
More colours
Strikethrough
Subscript
Superscript
Monospace
Clear Formatting
Bullet list
Numbered list
Outdent
Indent
Align left
Align center
Align right
Link
Table
Insert
Insert Content
Image
Link
Attachment
Symbol
Emoticon
Wiki Markup
Horizontal rule
tinymce.confluence.insert_menu.macro_desc
Info
JIRA Issue
Status
Gallery
Tasklist
Table of Contents
Other Macros
Page Layout
No Layout
Two column (simple)
Two column (simple, left sidebar)
Two column (simple, right sidebar)
Three column (simple)
Two column
Two column (left sidebar)
Two column (right sidebar)
Three column
Three column (left and right sidebars)
Undo
Redo
Find/Replace
Keyboard Shortcuts Help
<p>This proposal is heavily inspired by the changes that are made to many linux applications within the last years. Apache, crontab, X11, php...<br /> My debian machine has 45 "*.d" directories within /etc...</p> <h1>Problems with huge poms </h1> <p>The pom.xml files I use, become really huge sometimes.<br /> Escpecially if developer informations and other "static" data is added, the poms start to grow really fast.</p> <p>The informations described in the pom cover many different scopes and are changed with a different rate.</p> <p>There are several shortcomings when only one file is used to store all those informations.</p> <ul> <li>big (maybe unreadable) file </li> <li>many revisions due to many changes; results into <ul> <li>hard to track changes (ever tried to find the revision, a dependency has changed in?)</li> </ul> </li> <li>more (unnecessary) conflicts/merges in a multi developer setup</li> </ul> <h1>Proposal: "pom.d"</h1> <p>Of course it is very easy for small projects to just create a small pom.xml. So I suggest to keep this possibility. But optionally it should be possible to create a directory called "pom.d"</p> <p>All files within this directory are virtually merged to one pom.xml file. So it is possible to keep several files for different scopes. Best practices could be to create a file for dependencies ("dependencies.xml"), one for build configurations, another for the developers section. The file names should/could reflect the name of the xml tag they contain/represent.</p> <h2>Benefits</h2> <ul> <li> Changes can be tracked down much faster <ul> <li>searching for dependency changes only affects revisions of "dependencies.xml"</li> </ul> </li> <li>Lesser conflicts/merges necessary</li> <li>shorter files --> easier to navigate and locate informations</li> <li><strong>template/shared files may be copied/linked into the directory</strong> <ul> <li>some other proposals ask for thinks that could be solved with this option very easily <ul> <li><a href="http://docs.codehaus.org/display/MAVEN/Templated+POM+Sections">http://docs.codehaus.org/display/MAVEN/Templated+POM+Sections</a></li> <li><a href="http://docs.codehaus.org/display/MAVEN/Terse+POM+Syntax+-+Design+Discussion">http://docs.codehaus.org/display/MAVEN/Terse+POM+Syntax+-+Design+Discussion</a></li> <li>...</li> </ul> </li> <li>this could be done using SVN copy / external definitions. But maybe there could also be added some kind of special references later.</li> <li>Adding hibernate/spring/myComplexDependency could be a one liner.</li> </ul> </li> </ul> <h1>Backward compatibility</h1> <p>I suggest to keep the current behaviour and add the new pom.d directoy only as option to offer an easy way to migrate maven 2.0.x projects. Creating a new plugin that converts a pom.xml into a pom.d directory with several files within should be a task of only a few minutes.</p> <p>Autogenerating a pom.xml for backward compatibility is an easy task too.</p> <h1>Necessary changes</h1> <p>Only the parsing code of the pom.xml must be changed.</p> <p>One problem is, that there exist several 3rd party parsers (IDE integration etc.). But they should be able to implement the changes very fast.</p> <p>Maybe it is necessary to change/extend the XML schema for those files. Could anyone provide some informations about this issue?</p>
Please type the word appearing in the picture.
Attachments
Labels
Location
Watch this page
< Edit
Preview >
Loading…
Save
Cancel
Next hint
search
attachments
weblink
advanced