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@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@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@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@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@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.

--

_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev


_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev

_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev


_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev