[forge-dev] Stacks - FORGE-2316

George Gastaldi ggastald at redhat.com
Thu Jan 14 16:51:12 EST 2016


I pushed the changes to the master branch. Thanks Antonio for reviewing the
solution.

The use case I described can now be resolved by using stack.exclude(facet).
This will ensure that the installed StackFacets always exclude the
specified facets.

Time for a beer, Forge 3.0.0.Beta2 ships tomorrow!
Em 12/01/2016 21:39, "George Gastaldi" <ggastald at redhat.com> escreveu:

> Let me rephrase that: a custom stack facet that needs the JavaEE 7
> dependency (thus automatically enabling the JavaEE7Facet that also is a
> stack) but targeted for Wildfly Swarm where the  JavaEE stack is somewhat
> limited.
>
> Maybe we could consider that the project stack is the sum of all included
> facets in an installed StackFacet minus the excluded facets from the
> installed StackFacets.
>
> The most important question is: do we have a 1-n relationship between
> Project and Stack (a project can be associated with many stacks)? Or is it
> 1-1?
> Em 12/01/2016 20:18, "George Gastaldi" <ggastald at redhat.com> escreveu:
>
>> Maybe if you have a custom stack that needs the JavaEE7 dependency but
>> runs as a Microservice?
>> Em 12/01/2016 20:04, "Lincoln Baxter, III" <lincolnbaxter at gmail.com>
>> escreveu:
>>
>>> Hmmmmm.... Is there a down side to that scenario? (The stack being
>>> activated?)
>>>
>>> Lincoln Baxter, III
>>> http://ocpsoft.org
>>> "Simpler is better."
>>>
>>> On Mon, Jan 11, 2016 at 10:14 PM, George Gastaldi <ggastald at redhat.com>
>>> wrote:
>>>
>>>> Yes, I did and I refactored the code removing the duplicated part.
>>>> Thank you for reviewing it. I think that adding a new annotation wouldn't
>>>> help much, therefore I added a new protected method in
>>>> AbstractProjectCommand to do the filtering (we can discuss this in the next
>>>> meeting).
>>>>
>>>> However there is one thing that hit my mind: by making the
>>>> JavaEE7FacetImpl a StackFacet, it doesn't matter if I have another stack,
>>>> the JavaEE 7 stack will always be activated when the JavaEE 7 dependencies
>>>> are set in the pom.xml.
>>>>
>>>> Perhaps I should store the stack information used in the project as
>>>> part of the project configuration (by using the ConfigurationFacet)?
>>>> Em 12/01/2016 00:42, "Lincoln Baxter, III" <lincolnbaxter at gmail.com>
>>>> escreveu:
>>>>
>>>>> Did you see my comments on github?
>>>>>
>>>>> Lincoln Baxter, III
>>>>> http://ocpsoft.org
>>>>> "Simpler is better."
>>>>>
>>>>> On Mon, Jan 11, 2016 at 4:53 PM, George Gastaldi <ggastald at redhat.com>
>>>>> wrote:
>>>>>
>>>>>> Hello Forgers!
>>>>>>
>>>>>> I would really appreciate your feedback on the Forge Stacks support.
>>>>>> I have provided a pull-request (
>>>>>> https://github.com/forge/core/pull/592) that I want to merge still
>>>>>> this week with the changes.
>>>>>>
>>>>>> I still need to document this feature, but it basically does what is
>>>>>> described in https://issues.jboss.org/browse/FORGE-2316
>>>>>>
>>>>>> Regarding to the implementation details, I created a StacksFacet
>>>>>> interface (that's supposed to be implemented if you want to add a new
>>>>>> stack) that returns a Stack object (that is in charge of deciding if a
>>>>>> given ProjectFacet is supported). Stacks are built using the StackBuilder
>>>>>> class.
>>>>>> I have added a --stack option in the project-new command that just
>>>>>> calls the StackFacet.install() method. In order to find the facet bound to
>>>>>> the project it is simply a matter of calling:
>>>>>>
>>>>>> project.getFacet(StackFacet.class).
>>>>>>
>>>>>> Let me know if you have any questions. I'd be more than happy to
>>>>>> answer.
>>>>>>
>>>>>> --
>>>>>> *George Gastaldi*
>>>>>>
>>>>>> https://about.me/gastaldi
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-dev mailing list
>>>>>> forge-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20160114/6f0aba20/attachment-0001.html 


More information about the forge-dev mailing list