<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">&nbsp;</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">&nbsp;</span>-<span
                class="Apple-converted-space">&nbsp;</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">&nbsp;</span>and<span
                class="Apple-converted-space">&nbsp;</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 &lt;module&gt; 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;">&nbsp;</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;">&nbsp;</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">&nbsp;</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;">&nbsp;</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>