]
Lincoln Baxter III closed SEAMFORGE-92.
---------------------------------------
Assignee: Lincoln Baxter III
Fix Version/s: 1.0.0.Alpha4
Resolution: Done
Resolved by scanning for any plugin with a @Command("setup") and providong a
list of completion options.
[plugin-example] Runner.java $ setup
scaffold richfaces beans arquillian shade plugins
setup prettyfaces persistence
[plugin-example] Runner.java $ setup p
plugins prettyfaces persistence
[plugin-example] Runner.java $ setup persistence
? [provider=ARG (of type org.jboss.forge.spec.javaee.jpa.api.JPAProvider)]:
HIBERNATE OPENJPA ECLIPSELINK
? [provider=ARG (of type org.jboss.forge.spec.javaee.jpa.api.JPAProvider)]: HIBERNATE
? [container=ARG (of type org.jboss.forge.spec.javaee.jpa.api.JPAContainer)]:
JBOSS_AS6 JBOSS_AS7 GLASSFISH_3 CUSTOM_JDBC CUSTOM_JTA
CUSTOM_NON_JTA
? [container=ARG (of type org.jboss.forge.spec.javaee.jpa.api.JPAContainer)]:
***INFO*** Aborted.
[plugin-example] Runner.java $
Centralize the plugin setup process
-----------------------------------
Key: SEAMFORGE-92
URL:
https://issues.jboss.org/browse/SEAMFORGE-92
Project: Seam Forge
Issue Type: Feature Request
Components: Brainstorming, Builtin Plugins, Plugin API
Affects Versions: 1.0.0.Alpha2
Reporter: Lincoln Baxter III
Assignee: Lincoln Baxter III
Fix For: 1.0.0.Alpha4
Many plugins have to implement a setup method which prevents them from correctly using
@RequiresFacet or packaging types - because the setup method cannot be called unless the
@RequiredFacets are installed, which may not be the case before setup() is executed.
Plugins should be able use a @Observes or @Produces method to tie into a centralized setup
system, which executes the plugin setup function sans arguments, and ignoring
requirements.
{code}$ setup myplugin{code}
{code}
public void setup(@Observes SetupPlugin<MyPlugin> event, ...)
{
// do setup here
}
{code}
{code}
@Produces public SetupPlugin<MyPlugin> setup(...)
{
// do setup here
}
{code}
or perhaps something simpler, but this would need to implement some kind of parameter
injection
{code}
@Setup
public void setup(...)
{
// do setup here
}
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: