<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><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><br><blockquote type="cite"><br>I think that copying all Parser classes will be harder to people&nbsp;maintain than a using it as dependency, specially when the file&nbsp;format gets updated.&nbsp;<br></blockquote><div><br></div><div>The file format won't be easy to update at all.</div><br><blockquote type="cite"><br>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><br><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 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 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;https://github.com/jboss-jdf/jdf-stack/blob/Beta2/stacks.yaml&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" width="1000" height="762" src="cid:part3.05040003.06090606@redhat.com"><br></blockquote><br></blockquote></blockquote><br></blockquote></blockquote><br></body></html>