[JBoss JIRA] (FORGE-427) Facet cannot find @RequiresFacet in another resource JAR
by Tom Cunningham (JIRA)
Tom Cunningham created FORGE-427:
------------------------------------
Summary: Facet cannot find @RequiresFacet in another resource JAR
Key: FORGE-427
URL: https://issues.jboss.org/browse/FORGE-427
Project: Forge
Issue Type: Bug
Components: Event Bus
Affects Versions: 1.0.0.Beta4
Reporter: Tom Cunningham
We've put a number of different plugins inside a common module, and SwitchYardFacet is in switchyard.forge-plugin-0.4.0-SNAPSHOT.jar. Can a facet in one of my other plugin JARs refer to that one? Do I need to go back to shading?
Example - this Facet is in switchyard-camel-plugin-0.4.0-SNAPSHOT.jar but refers to SwitchYardFacet which is in another resource-root : switchyard-forge-plugin-0.4.0-SNAPSHOT.jar.
import org.switchyard.tools.forge.plugin.SwitchYardFacet;
/**
* Forge facet for Camel bindings and services.
*/
@Alias("switchyard.camel")
@RequiresFacet({ DependencyFacet.class, PackagingFacet.class,
SwitchYardFacet.class })
@RequiresPackagingType(PackagingType.JAR)
public class CamelFacet extends AbstractFacet {
module.xml :
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<module xmlns="urn:jboss:module:1.0"
name="org.switchyard.switchyard-forge-plugin" slot="0.4.0-SNAPSHOT">
<resources>
<!-- plugin dependencies that must be local to this module -->
<resource-root path="switchyard-forge-common-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-component-common-rules-0.4.0-SNAPSHOT.jar"/>
<!-- core and component plugins -->
<resource-root path="switchyard-forge-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-bean-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-soap-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-rules-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-bpm-plugin-0.4.0-SNAPSHOT.jar"/>
<resource-root path="switchyard-forge-camel-plugin-0.4.0-SNAPSHOT.jar"/>
</resources>
Error - the missing Type seems to be SwitchYardFacet :
tcunning at localhost:tmp]$ forge
Listening for transport dt_socket at address: 8787
Plugin system disabled due to failure while loading one or more plugins;
try removing offending plugins with "forge remove-plugin <TAB>".
com.google.common.collect.ComputationException:
java.lang.ArrayStoreException:
sun.reflect.annotation.TypeNotPresentExceptionProxy
at
com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:218)
at
com.google.common.collect.ComputingConcurrentHashMap.apply(ComputingConcurrentHashMap.java:100)
at
com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:515)
at
org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:183)
at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:95)
at
org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:134)
at
org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:191)
at
org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:368)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:92)
at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:87)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ArrayStoreException:
sun.reflect.annotation.TypeNotPresentExceptionProxy
at
sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653)
at
sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460)
at
sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286)
at
sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)
at
sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
at
sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
at java.lang.Class.getAnnotations(Class.java:3050)
at
org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:98)
at
org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:54)
at
org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:42)
at
com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:206)
... 10 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] (FORGE-212) Classload dependencies of current project when performing certain operations
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-212?page=com.atlassian.jira.plugin.... ]
Lincoln Baxter III updated FORGE-212:
-------------------------------------
Summary: Classload dependencies of current project when performing certain operations (was: Generate scaffolding views for entities located into an external jar)
Fix Version/s: 2.0.0.Alpha1
(was: Future)
Description:
"Generating crud views for entities located into an external jar is a use case i'd like to see implemented in forge.
In my case i have a model.jar containing my entities and an admin.war generated with seam forge. I'd like to use from-entity to generate scaffolding views in admin.war for the entities located in model.jar"
This means that Forge will need to classload dependencies of the target project in order to perform reflection-based generation. This may also require a reflection-based meta-model such as what was done with Errai/GWT.
was:
Generating crud views for entities located into an external jar is a use case i'd like to see implemented in forge.
In my case i have a model.jar containing my entities and an admin.war generated with seam forge.
I'd like to use from-entity to generate scaffolding views in admin.war for the entities located in model.jar
Component/s: Maven Integration
Parsers / File Manipulation
Plugin API
> Classload dependencies of current project when performing certain operations
> -----------------------------------------------------------------------------
>
> Key: FORGE-212
> URL: https://issues.jboss.org/browse/FORGE-212
> Project: Forge
> Issue Type: Feature Request
> Components: Maven Integration, Parsers / File Manipulation, Plugin API
> Affects Versions: 1.0.0.Alpha3
> Reporter: wiktorowski maximilien
> Priority: Minor
> Fix For: 2.0.0.Alpha1
>
>
> "Generating crud views for entities located into an external jar is a use case i'd like to see implemented in forge.
> In my case i have a model.jar containing my entities and an admin.war generated with seam forge. I'd like to use from-entity to generate scaffolding views in admin.war for the entities located in model.jar"
> This means that Forge will need to classload dependencies of the target project in order to perform reflection-based generation. This may also require a reflection-based meta-model such as what was done with Errai/GWT.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] (FORGE-368) Return list of properties based on higher-level understanding
by Richard Kennard (Created) (JIRA)
Return list of properties based on higher-level understanding
-------------------------------------------------------------
Key: FORGE-368
URL: https://issues.jboss.org/browse/FORGE-368
Project: Forge
Issue Type: Feature Request
Reporter: Richard Kennard
Assignee: Lincoln Baxter III
Hi guys,
As I understand it, Forge has an understanding of your project that transcends Java's own understanding. So for example if I say...
field string --named foo
...Forge knows I'm creating a property, and it creates getters and setters for that property. But later if I do...
org.jboss.forge.parser.java.JavaClass.getMethods()
...then I get back just normal methods. I'll have to check their signature for 'get' or 'set' to see if they're properties. Equally if I do...
org.jboss.forge.parser.java.JavaClass.getFields()
...I get back just normal fields. I don't know if these are property fields (and if so, what their corresponding getter/setter methods are) or whether they're just internal fields (and should be ignored).
Is there a recommended way to 'get back out' the list of properties for a class? Something that tells me a) the field; b) the getter; c) the setter?
If it helps, for now I am using a rough implementation at: https://github.com/kennardconsulting/forge/blob/master/scaffold-metawidge...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] (FORGE-273) Create project from Maven archetype
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-273?page=com.atlassian.jira.plugin.... ]
George Gastaldi updated FORGE-273:
----------------------------------
Fix Version/s: 2.0.0.Alpha1
Component/s: Blessed Plugins
This would be a nice feature on 2.x
> Create project from Maven archetype
> -----------------------------------
>
> Key: FORGE-273
> URL: https://issues.jboss.org/browse/FORGE-273
> Project: Forge
> Issue Type: Feature Request
> Components: Blessed Plugins
> Reporter: Dan Allen
> Assignee: Rodney Russ
> Priority: Minor
> Fix For: 2.0.0.Alpha1
>
>
> Since the catalog of Maven archetypes is substantial, and the archetype plugin interface is so abysmal, Forge could benefit from being a stand-in replacement to archetype:generate. A command in Forge to create a new project from a Maven archetype would certainly offer a nice complement to the more basic "new-project" command. It could just be an additional flag to the new-project command, such as:
> new-project --named MyProject --fromArchetype org.jboss.weld.archetypes:jboss-javaee6-webapp
> Using the interactive prompts, you may be able to provide a list of archetypes, perhaps w/ a filtering mechanism. You could also just do a best guess based on what's found in the catalog.
> new-project --named MyProject --fromArchetype jboss-javaee6-webapp
> You could just delegate to Maven by building up the "mvn archetype:generate" command from Forge. Long term we could consider emulating the archetype:generate plugin so as just to consume the projects that are out there already w/o any linkage to Maven.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] (FORGE-193) Validate plugin @Alias, @Command, and @Option names to ensure no duplicates occur
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-193?page=com.atlassian.jira.plugin.... ]
Lincoln Baxter III updated FORGE-193:
-------------------------------------
Summary: Validate plugin @Alias, @Command, and @Option names to ensure no duplicates occur (was: Should validate plugin @Alias, @Command, and @Option names to ensure no duplicates occur)
Fix Version/s: 2.0.0.Alpha1
(was: Future)
Description:
Should be invalid for same resource scopes
@Alias("whee")
@Alias("whee")
Should be invalid in same command:
@Option(name="named")
@Option(name="named")
And so on...
Or, it should be possible to reference by Fully Qualified Name if this situation does arise (for @Alias.)
was:
Should be invalid for same resource scopes
@Alias("whee")
@Alias("whee")
Should be invalid in same command:
@Option(name="named")
@Option(name="named")
And so on...
> Validate plugin @Alias, @Command, and @Option names to ensure no duplicates occur
> ---------------------------------------------------------------------------------
>
> Key: FORGE-193
> URL: https://issues.jboss.org/browse/FORGE-193
> Project: Forge
> Issue Type: Feature Request
> Components: Plugin API, Shell
> Affects Versions: 1.0.0.Alpha3
> Reporter: Lincoln Baxter III
> Fix For: 2.0.0.Alpha1
>
>
> Should be invalid for same resource scopes
> @Alias("whee")
> @Alias("whee")
> Should be invalid in same command:
> @Option(name="named")
> @Option(name="named")
> And so on...
> Or, it should be possible to reference by Fully Qualified Name if this situation does arise (for @Alias.)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months