On 17 Jul 2012, at 17:09, Rafael Benevides wrote:
Ok, Pete.
Well, But there are lot of other files that the parser results as Archetype, Bom,
MajorRelease, MinorRelease, Runtime, RuntimeType, and Stacks classes
Right, which is why I said we need to look at using nested classes.
I think that copying all Parser classes will be harder to people maintain than a using it
as dependency, specially when the file format gets updated.
The file format won't be easy to update at all.
Sorry, Is there any special reason for you to prefer copying instead of dependency that I
didn't realize?
Yes, dependencies are evil.
Rafael Benevides | Senior JBoss Consultant
Red Hat Brazil
+55-61-9269-6576
Better technology. Faster innovation. Powered by community collaboration.
See how it works at
redhat.com
Em 17-07-2012 12:56, Pete Muir escreveu:
> Basically, the idea is to avoid a dependency, and allow people to just copy and paste
the class into their project.
>
> On 17 Jul 2012, at 16:51, Rafael Benevides wrote:
>
>> "Also, we need to get the Parser down to one file (i.e. use nested classes)
to make it easier for people to add to their project."
>>
>> I think that i didn't get the point of what you suggested. Any Example of how
do you that is should be used instead of instantiating or injecting the parser ?
>>
>> Rafael Benevides | Senior JBoss Consultant
>> Red Hat Brazil
>> +55-61-9269-6576
>>
>> Better technology. Faster innovation. Powered by community collaboration.
>> See how it works at
redhat.com
>>
>>
>> Em 17-07-2012 11:31, Pete Muir escreveu:
>>> Hi Rafael,
>>>
>>> This is starting to look really good!
>>>
>>> * I think we should add a labels: property to the BOM definitions, just to
try to future proof a bit.
>>> * I think we need a groupId on the BOMs, as we probably will need to include
some in other groupIds at some point. We could default it org.jboss.boms.
>>> * We should add the org.jboss.spec BOMs :-) These will make a better default
for the runtimes
>>> * I think recommendedBOM on the runtime should be defaultBom (notice the case
change), as this seems to make more sense to me (same for recommendedArchetype)
>>> * I don't think we need properties as, labels will cover this (a consumer
can use a label to set up the right properties)
>>>
>>> Also, we need to get the Parser down to one file (i.e. use nested classes) to
make it easier for people to add to their project.
>>>
>>>
>>> On 17 Jul 2012, at 02:19, Rafael Benevides wrote:
>>>
>>>> The latest version of the JBoss Stacks format is right here:
https://github.com/jboss-jdf/jdf-stack/blob/Beta2/stacks.yaml
>>>> I think that this format finally met our requirements.
>>>>
>>>> For now, I put only JBoss EAP 6.0 and JBoss AS 7.0.0 runtimes just to
illustrate how it should be. The archetypes will also follow the same structure.
>>>>
>>>> I committed the parser on the same repo because the parser is tied to the
file format.
>>>>
>>>> The Stacks class is now the root of the Yaml file ( more detail on
attached diagram - modified since last email ).
>>>>
>>>> The API use is simple as:
>>>>
>>>> Stacks stacks = parser.parse(inputStream);
>>>>
>>>> After we just navigate on the graph (various paths are possible):
>>>>
>>>> stacks.getAvailableBoms().get(SOME);
>>>> stacks.getAvailableRuntimes().get(SOME);
>>>>
stacks.getMajorReleases().get(SOME).getMinorReleases().get(OTHER).getRecommendedRuntime().getBoms().get(ANOTHER).
>>>>
stacks.getMinorReleases().get(SOME).getRecommendedRuntime().getRecommendedBOM().getAvailableVersions();
>>>>
>>>> Now I will update the jdf-plugin to use the jdf-stack parser API.
>>>>
>>>
>