<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi all.<br>
<br>
Today the pom checker gave a huge step and it's already verifying if
the pom.xml has duplicate dependencies (managed or not) and
properties.<br>
<br>
Now I would like to bring the discussion about the pom xml elements
order. I tried to use XSD but it seems to strict since I think we
only need to check some main elements. I chose the following
elements in the following order: parent, modules, properties,
dependencyManagement, dependencies, build, profiles.<br>
<br>
All of them are optional. They don't need to be present, but if so,
they must follow it's place in the order. If you have any comments
about the chosen elements and it's order, please let me know.<br>
<br>
Thanks.<br>
<br>
<br>
<div class="moz-cite-prefix">Em 14/02/13 18:25, Rafael Benevides
escreveu:<br>
</div>
<blockquote cite="mid:511D4822.2090007@redhat.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
Hi all,<br>
<br>
JDF is growing each day. As a consequence, keep the quickstarts
consistent is becoming a hard work.<br>
<br>
To mitigate this and help the maintenance of the quickstart and
also to help the contributors to see if their quickstarts are
ready to review, we are planning and starting the development of a
tooling for quickstart automation.<br>
<br>
This tool will make use of some other well know and opensource
projects like PMD (pmd.sf.net), checkstyke (checkstyle.sf.net),
Maven Enforcer plugin, etc to attend the following requirements: <br>
<br>
<meta charset="utf-8">
<ul style="background-color: rgb(248, 244, 230); border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size: 12px;
list-style: disc; margin: 0px; outline: 0px; padding: 0px 0px
0px 2.25em; color: rgb(51, 51, 51); font-family: 'Lucida
Grande', Arial, Helvetica, sans-serif; font-style: normal;
font-variant: normal; font-weight: normal; letter-spacing:
normal; line-height: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; background-position: initial
initial; background-repeat: initial initial;">
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Validating quickstart POM files:<span
style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; list-style: none; margin: 0px; outline: 0px; padding:
0px; background-position: initial initial;
background-repeat: initial initial;"></span>
<ul style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
13px; list-style: circle; margin: 0px; outline: 0px;
padding: 0px 0px 0px 2.25em; background-position: initial
initial; background-repeat: initial initial;">
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;"><span style="background-color:
transparent; border: 0px; border-collapse: collapse;
border-spacing: 0px; font-size: 10pt; list-style: none;
margin: 0px; outline: 0px; padding: 0px;
background-position: initial initial; background-repeat:
initial initial;">Check for the License header (<a
moz-do-not-send="true"
class="jive-link-external-small"
href="http://checkstyle.sourceforge.net/config_header.html"
style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px;
font-size: 13px; list-style: none; margin: 0px;
outline: 0px; padding: 0px; color: rgb(53, 84, 145);
text-decoration: initial; background-position: initial
initial; background-repeat: initial initial;">checkstyle
headers</a>)</span></li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Check for proper spacing and Indentation
(try<span class="Apple-converted-space"> </span><a
moz-do-not-send="true" class="jive-link-external-small"
href="http://checkstyle.sourceforge.net/"
style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px;
font-size: 13px; list-style: none; margin: 0px; outline:
0px; padding: 0px; color: rgb(53, 84, 145);
text-decoration: initial; background-position: initial
initial; background-repeat: initial initial;">checkstyle</a><span
class="Apple-converted-space"> </span>-<span
class="Apple-converted-space"> </span><a
moz-do-not-send="true" class="jive-link-external-small"
href="http://checkstyle.sourceforge.net/config_whitespace.html"
style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px;
font-size: 13px; list-style: none; margin: 0px; outline:
0px; padding: 0px; color: rgb(53, 84, 145);
text-decoration: initial; background-position: initial
initial; background-repeat: initial initial;">whitespace
rule</a><span class="Apple-converted-space"> </span>and<span
class="Apple-converted-space"> </span><a
moz-do-not-send="true" class="jive-link-external-small"
href="http://checkstyle.sourceforge.net/config_misc.html#Indentation"
style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px;
font-size: 13px; list-style: none; margin: 0px; outline:
0px; padding: 0px; color: rgb(53, 84, 145);
text-decoration: initial; background-position: initial
initial; background-repeat: initial initial;">indentation
rule</a>)</li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Check and verify if all quickstarts are
using the same/latest BOM versions</li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Verify is it using the standard
properties names (We will provide the standard properties
name)<br>
</li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;"><span style="background-color:
transparent; border: 0px; border-collapse: collapse;
border-spacing: 0px; font-size: 10pt; list-style: none;
margin: 0px; outline: 0px; padding: 0px;
background-position: initial initial; background-repeat:
initial initial;">Check for non bom versions (and
identify if we should create a new BOM)<br>
</span></li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Check javascript and css versions</li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;"><span style="background-color:
transparent; border: 0px; border-collapse: collapse;
border-spacing: 0px; font-size: 10pt; list-style: none;
margin: 0px; outline: 0px; padding: 0px;
background-position: initial initial; background-repeat:
initial initial;">Check for duplicate properties and
dependencies</span></li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Check the pom.xml elements order</li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Create scripts to update versions
(quickstart, boms, etc)<br>
</li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">When a new quickstart is added, if it
has a pom.xml file, make sure the <module> is
defined in one of the following profiles: default,
requires-postgres, complex-dependencies, requires-full,
requires-xts, non-maven.</li>
</ul>
</li>
</ul>
<p style="background-color: rgb(248, 244, 230); border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size: 10pt;
list-style: none; margin: 0px; outline: 0px; padding: 0px;
color: rgb(51, 51, 51); font-family: 'Lucida Grande', Arial,
Helvetica, sans-serif; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; line-height:
normal; orphans: 2; text-align: left; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; min-height: 8pt; height: 8pt;
background-position: initial initial; background-repeat: initial
initial;"> </p>
<ul style="background-color: rgb(248, 244, 230); border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size: 12px;
list-style: disc; margin: 0px; outline: 0px; padding: 0px 0px
0px 2.25em; color: rgb(51, 51, 51); font-family: 'Lucida
Grande', Arial, Helvetica, sans-serif; font-style: normal;
font-variant: normal; font-weight: normal; letter-spacing:
normal; line-height: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; background-position: initial
initial; background-repeat: initial initial;">
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Validating quickstart README files:<span
style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; list-style: none; margin: 0px; outline: 0px; padding:
0px; background-position: initial initial;
background-repeat: initial initial;"></span>
<ul style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
13px; list-style: circle; margin: 0px; outline: 0px;
padding: 0px 0px 0px 2.25em; background-position: initial
initial; background-repeat: initial initial;">
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Check for the required metadata tags in
README (Level, Author, Target Product, etc)<br>
</li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;"><span style="background-color:
transparent; border: 0px; border-collapse: collapse;
border-spacing: 0px; font-size: 10pt; list-style: none;
margin: 0px; outline: 0px; padding: 0px;
background-position: initial initial; background-repeat:
initial initial;">Verify the quickstart name in the
README matches the folder name and the project name</span></li>
</ul>
</li>
</ul>
<p style="background-color: rgb(248, 244, 230); border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size: 10pt;
list-style: none; margin: 0px; outline: 0px; padding: 0px;
color: rgb(51, 51, 51); font-family: 'Lucida Grande', Arial,
Helvetica, sans-serif; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; line-height:
normal; orphans: 2; text-align: left; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; min-height: 8pt; height: 8pt;
background-position: initial initial; background-repeat: initial
initial;"> </p>
<ul style="background-color: rgb(248, 244, 230); border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size: 12px;
list-style: disc; margin: 0px; outline: 0px; padding: 0px 0px
0px 2.25em; color: rgb(51, 51, 51); font-family: 'Lucida
Grande', Arial, Helvetica, sans-serif; font-style: normal;
font-variant: normal; font-weight: normal; letter-spacing:
normal; line-height: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; background-position: initial
initial; background-repeat: initial initial;">
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Validating quickstart source code
<ul style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
13px; list-style: circle; margin: 0px; outline: 0px;
padding: 0px 0px 0px 2.25em; background-position: initial
initial; background-repeat: initial initial;">
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Check the quantity of comments in the
code (evaluate<span class="Apple-converted-space"> </span><a
moz-do-not-send="true" class="jive-link-external-small"
href="http://pmd.sourceforge.net/pmd-5.0.2/rules/java/comments.html"
style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px;
font-size: 13px; list-style: none; margin: 0px; outline:
0px; padding: 0px; color: rgb(53, 84, 145);
text-decoration: initial; background-position: initial
initial; background-repeat: initial initial;">PMD</a>)</li>
</ul>
</li>
</ul>
<p style="background-color: rgb(248, 244, 230); border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size: 10pt;
list-style: none; margin: 0px; outline: 0px; padding: 0px;
color: rgb(51, 51, 51); font-family: 'Lucida Grande', Arial,
Helvetica, sans-serif; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; line-height:
normal; orphans: 2; text-align: left; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; min-height: 8pt; height: 8pt;
background-position: initial initial; background-repeat: initial
initial;"> </p>
<ul style="background-color: rgb(248, 244, 230); border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size: 12px;
list-style: disc; margin: 0px; outline: 0px; padding: 0px 0px
0px 2.25em; color: rgb(51, 51, 51); font-family: 'Lucida
Grande', Arial, Helvetica, sans-serif; font-style: normal;
font-variant: normal; font-weight: normal; letter-spacing:
normal; line-height: normal; orphans: 2; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto;
-webkit-text-stroke-width: 0px; background-position: initial
initial; background-repeat: initial initial;">
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">General validation (desired):
<ul style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
13px; list-style: circle; margin: 0px; outline: 0px;
padding: 0px 0px 0px 2.25em; background-position: initial
initial; background-repeat: initial initial;">
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">If a quickstart with a source other than
the current repository is modified, create an alert of
some sort so we can notify the upstream repository of the
change.</li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;"><span style="background-color:
transparent; border: 0px; border-collapse: collapse;
border-spacing: 0px; font-size: 10pt; list-style: none;
margin: 0px; outline: 0px; padding: 0px;
background-position: initial initial; background-repeat:
initial initial;">When we update a BOM property version
in the quickstarts, we need to make the same changes in
the archetypes.</span></li>
<li style="background-color: transparent; border: 0px;
border-collapse: collapse; border-spacing: 0px; font-size:
10pt; margin: 0px; outline: 0px; padding: 0px;
list-style-type: inherit; display: list-item;
background-position: initial initial; background-repeat:
initial initial;">Also, if there is a code fix in the
kitchensink or kitchensink-ear, we need to make the same
fix in the archetype code and check other quickstarts
based on the same archetype to see if they need the fixes
applied.</li>
</ul>
</li>
</ul>
<br>
If you have some comments, I will be glad to hear you.<br>
<br>
Thanks<br>
<pre class="moz-signature" cols="72">--
Rafael Benevides | Senior Software Engineer
Red Hat Brazil
+55-61-9269-6576
Better technology. Faster innovation. Powered by community collaboration.
See how it works at redhat.com </pre>
</blockquote>
<br>
</body>
</html>