<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    Em 17-07-2012 13:08, Pete Muir escreveu:
    <blockquote
      cite="mid:5F47EE03-701C-45C1-A255-3067770B1C3B@redhat.com"
      type="cite"><br>
      On 17 Jul 2012, at 17:09, Rafael Benevides wrote:<br>
      <br>
      <blockquote type="cite">Ok, Pete.<br>
        <br>
        Well, But there are lot of other files that the parser results
        as&nbsp;Archetype, Bom, MajorRelease, MinorRelease, Runtime,
        RuntimeType,&nbsp;and Stacks classes<br>
      </blockquote>
      <div><br>
      </div>
      <div>Right, which is why I said we need to look at using nested
        classes.</div>
    </blockquote>
    <br>
    Now I get the idea.<br>
    <blockquote
      cite="mid:5F47EE03-701C-45C1-A255-3067770B1C3B@redhat.com"
      type="cite">
      <blockquote type="cite">Sorry, Is there any special reason for you
        to prefer copying instead&nbsp;of dependency that I didn't realize?<br>
      </blockquote>
      <div><br>
      </div>
      <div>Yes, dependencies are evil.</div>
    </blockquote>
    LOL :D<br>
    <br>
    <blockquote
      cite="mid:5F47EE03-701C-45C1-A255-3067770B1C3B@redhat.com"
      type="cite">
      <blockquote type="cite"><br>
        <div>Rafael Benevides | Senior JBoss Consultant</div>
        <div>Red Hat Brazil</div>
        <div>+55-61-9269-6576</div>
        <div><br>
        </div>
        <div>Better technology. Faster innovation. Powered by community
          collaboration.&nbsp;</div>
        <div>See how it works at <a moz-do-not-send="true"
            href="http://redhat.com">redhat.com</a></div>
        <br class="Apple-interchange-newline">
        <br>
        Em 17-07-2012 12:56, Pete Muir escreveu:<br>
        <blockquote
          cite="mid:EB561EA0-6760-4A55-8763-8FFC774132D8@redhat.com"
          type="cite">Basically, the idea is to avoid a dependency,
          and&nbsp;allow people to just copy and paste the class into their
          project.<br>
          <br>
          On 17 Jul 2012, at 16:51, Rafael Benevides wrote:<br>
          <br>
          <blockquote type="cite">"Also, we need to get the Parser down
            to&nbsp;one file (i.e. use nested classes) to make it easier
            for&nbsp;people to add to their project."<br>
            <br>
            I think that i didn't get the point of what you
            suggested.&nbsp;Any Example of how do you that is should be used
            instead&nbsp;of instantiating or injecting the parser ?<br>
            <br>
            Rafael Benevides | Senior JBoss Consultant<br>
            Red Hat Brazil<br>
            +55-61-9269-6576<br>
            <br>
            Better technology. Faster innovation. Powered by&nbsp;community
            collaboration.&nbsp;<br>
            See how it works at&nbsp;<a moz-do-not-send="true"
              href="http://redhat.com">redhat.com</a><br>
            <br>
            <br>
            Em 17-07-2012 11:31, Pete Muir escreveu:<br>
            <blockquote
              cite="mid:797DB4D8-E1F7-4D25-844C-820BCC717ECA@redhat.com"
              type="cite">Hi Rafael,<br>
              <br>
              This is starting to look really good!<br>
              <br>
              * I think we should add a labels: property to the&nbsp;BOM
              definitions, just to try to future proof a bit.<br>
              * I think we need a groupId on the BOMs, as we
              probably&nbsp;will need to include some in other groupIds at
              some point.&nbsp;We could default it org.jboss.boms.<br>
              * We should add the org.jboss.spec BOMs :-) These will
              make&nbsp;a better default for the runtimes<br>
              * I think recommendedBOM on the runtime should
              be&nbsp;defaultBom (notice the case change), as this seems to
              make&nbsp;more sense to me (same for recommendedArchetype)<br>
              * I don't think we need properties as, labels will
              cover&nbsp;this (a consumer can use a label to set up the
              right&nbsp;properties)<br>
              <br>
              Also, we need to get the Parser down to one file (i.e.&nbsp;use
              nested classes) to make it easier for people to add
              to&nbsp;their project.<br>
              <br>
              <br>
              On 17 Jul 2012, at 02:19, Rafael Benevides wrote:<br>
              <br>
              <blockquote type="cite">The latest version of the
                JBoss&nbsp;Stacks format is right
                here:&nbsp;<a class="moz-txt-link-freetext" href="https://github.com/jboss-jdf/jdf-stack/blob/Beta2/stacks.yaml">https://github.com/jboss-jdf/jdf-stack/blob/Beta2/stacks.yaml</a>&nbsp;<br>
                I think that this format finally met our requirements.<br>
                <br>
                For now, I put only JBoss EAP 6.0 and JBoss AS
                7.0.0&nbsp;runtimes just to illustrate how it should be.
                The&nbsp;archetypes will also follow the same structure.<br>
                <br>
                I committed the parser on the same repo because the
                parser&nbsp;is tied to the file format.<br>
                <br>
                The Stacks class is now the root of the Yaml file (&nbsp;more
                detail on attached diagram - modified since last&nbsp;email
                ).<br>
                <br>
                The API use is simple as:<br>
                <br>
                Stacks stacks = parser.parse(inputStream);<br>
                <br>
                After we just navigate on the graph (various paths&nbsp;are
                possible):<br>
                <br>
                stacks.getAvailableBoms().get(SOME);<br>
                stacks.getAvailableRuntimes().get(SOME);<br>
stacks.getMajorReleases().get(SOME).getMinorReleases().get(OTHER).getRecommendedRuntime().getBoms().get(ANOTHER).<br>
stacks.getMinorReleases().get(SOME).getRecommendedRuntime().getRecommendedBOM().getAvailableVersions();<br>
                <br>
                Now I will update the jdf-plugin to use the
                jdf-stack&nbsp;parser API.<br>
                <img name="Class Diagram.png"
                  id="74b95004-b27b-4794-83e0-e9451f9afbb7"
                  apple-width="yes" apple-height="yes"
                  src="cid:part3.05030506.03070302@redhat.com"
                  width="1000" height="762"><br>
              </blockquote>
              <br>
            </blockquote>
          </blockquote>
          <br>
        </blockquote>
      </blockquote>
      <br>
    </blockquote>
  </body>
</html>