[forge-dev] Add module dependency

Lincoln Baxter, III lincolnbaxter at gmail.com
Tue Feb 11 17:39:16 EST 2014


Due to the feature freeze, this feature will need to go into Forge 2.0.


On Tue, Feb 11, 2014 at 5:35 PM, George Gastaldi <ggastald at redhat.com>wrote:

>  Sorry, Forge 1 is feature-frozen, unless you want to submit a
> pull-request for it.
> If you really need AST, I'd recommend you to use Forge 2 instead.
>
> On 11-02-2014 19:46, Rafael Pestano wrote:
>
> great! about jboss modules, any chance to add the feature to override
> default plugin module.xml? :P
>
>
>
>
> 2014-02-11 19:42 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>
>>  The ability to visit the element tree is a nice feature for the
>> JavaParser to have. I'll create a JIRA for this new feature.
>>
>>  Thanks
>>
>> Em 11/02/2014, às 19:40, Rafael Pestano <rmpestano at gmail.com> escreveu:
>>
>>   maybe it will work but the code will be more complex than just use a
>> visitor for methodInvocations, and that was just an example i'll have other
>> times of inspections than just methodInvocations. I'll dig in and try to
>> find a way to use AST.
>>
>>  thanks for the reply
>>
>>
>> 2014-02-11 19:34 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>>
>>>  No, I spoke to soon. What I meant is that calling getMethods() the
>>> JavaParser will traverse the AST tree internally, in a similar way that
>>> your code does.
>>>
>>> On 11-02-2014 19:31, George Gastaldi wrote:
>>>
>>> Hey Rafael,
>>>
>>> I don't see how using AST is different from what I proposed. When you
>>> have a JavaSource object, the tree was already traversed and the options
>>> are just there.
>>>
>>>
>>> On 11-02-2014 19:27, Rafael Pestano wrote:
>>>
>>> Hi George,
>>>
>>>  i dont think iterate over all methods is an option, im going to
>>> inspect very large applications(100K + lines of code) so id like to insist
>>> with AST.
>>>
>>>
>>> 2014-02-11 17:33 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>>>
>>>>  Hi Rafael,
>>>>
>>>> You don't need AST for your code. You can use the forge-parser API for
>>>> that.
>>>>
>>>> Cast your JavaSource to JavaClass and you can call
>>>> javaClass.getMethods() to fetch the methods the JavaClass declares. Then
>>>> iterate through them and you'll have your information.
>>>>
>>>>
>>>> On 11-02-2014 13:50, Rafael Pestano wrote:
>>>>
>>>> Hi Ivan,
>>>>
>>>>  i need to visit AST, such as here:
>>>> https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/jdt/StaleReferencesVisitor.java
>>>> and here:
>>>> https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/model/OSGiModuleImpl.java#L373
>>>>
>>>>  that can be done with forge parser?
>>>>
>>>>  I have no issues with the tests.
>>>>
>>>>  One thing that would solve the problem would be to provide module.xml
>>>> inside the plugin which would override default module.xml , something like
>>>> is done with jboss-deployment-structure in Java EE apps, is that possible?
>>>>
>>>>
>>>>
>>>>
>>>> 2014-02-10 16:46 GMT-02:00 Ivan St. Ivanov <ivan.st.ivanov at gmail.com>:
>>>>
>>>>> Hi Rafael,
>>>>>
>>>>>  Most probably the reason for the class cast exception is that you
>>>>> have declared compile dependency to both the Forge parser and the jdt-core
>>>>> module. The parser module has itself dependency to jdt core. Both modules
>>>>> are loaded in separate classloaders. So maybe Forge loads the CompilationUnit
>>>>> class in different classloader than yours.
>>>>>
>>>>>  So I would expect that the provided scope should work, not sure why
>>>>> it failed.
>>>>>
>>>>>  I would suggest following what George asked earlier in this thread: *Why
>>>>> do you need to access  org.eclipse.jdt.core.dom.CompilationUnit? You should
>>>>> only use the classes in java-parser-api that is already provided when you
>>>>> add a dependency to forge-shell-api*
>>>>>
>>>>>  Besides the classloading issues, the Forge parser API is much more
>>>>> intuitive to use than JDT core. The downside is that not all of the JDT
>>>>> core is wrapped. But I hope that it has everything you need.
>>>>>
>>>>>  Cheers,
>>>>> Ivan
>>>>>
>>>>>
>>>>>  On Mon, Feb 10, 2014 at 7:07 PM, Rafael Pestano <rmpestano at gmail.com>wrote:
>>>>>
>>>>>> same exceptions, with compile got classcast and with provided
>>>>>> classnot found
>>>>>>
>>>>>>
>>>>>> 2014-02-10 14:58 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>>>>>>
>>>>>>  Try adding <dependencies-as-resource-root/> to your forge.xml file
>>>>>>> as described in:
>>>>>>>
>>>>>>> http://forge.jboss.org/docs/plugin_development/reference-libraries.html
>>>>>>>
>>>>>>>
>>>>>>> On 10-02-2014 14:55, Rafael Pestano wrote:
>>>>>>>
>>>>>>> there isnt an easy way to add     <module
>>>>>>> name="org.eclipse.javaparser" />
>>>>>>> to my plugin module.xml at build time?
>>>>>>>
>>>>>>>
>>>>>>> 2014-02-10 14:52 GMT-02:00 Rafael Pestano <rmpestano at gmail.com>:
>>>>>>>
>>>>>>>>  Hi George,
>>>>>>>>
>>>>>>>>  that was my first attempt, i got classnotfound, see stacktrace:
>>>>>>>>
>>>>>>>>
>>>>>>>> ***ERROR*** Exception encountered: (type "set VERBOSE false" to
>>>>>>>> disable stack traces)
>>>>>>>>  java.lang.ClassNotFoundException:
>>>>>>>> org.eclipse.jdt.core.dom.CompilationUnit from [Module
>>>>>>>> "br.ufrgs.rmpestano.intrabundle:0.1-SNAPSHOT-3734196a-d501-400f-b6ec-bfcd0ce08b99"
>>>>>>>> from local module loader @1eac903 (roots:
>>>>>>>> /home/rmpestano/projetos/forge/dist/forge-distribution-1.4.3.Final/modules,/home/rmpestano/.forge/plugins,/home/rmpestano/projetos)]
>>>>>>>>         at
>>>>>>>> org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
>>>>>>>>         at
>>>>>>>> org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
>>>>>>>>         at
>>>>>>>> org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
>>>>>>>>         at
>>>>>>>> org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
>>>>>>>>         at
>>>>>>>> org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
>>>>>>>>
>>>>>>>>
>>>>>>>>         at
>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.verifyStaleReference(OSGiModuleImpl.java:368)
>>>>>>>>         at
>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:359)
>>>>>>>>         at
>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>>>>>         at
>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>>>>>         at
>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.findStaleReferences(OSGiModuleImpl.java:346)
>>>>>>>>         at
>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.getStaleReferences(OSGiModuleImpl.java:461)
>>>>>>>>         at
>>>>>>>> br.ufrgs.rmpestano.intrabundle.plugin.BundlePlugin.staleReferences(BundlePlugin.java:107)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>> Method)
>>>>>>>>         at
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>         at
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>         at
>>>>>>>> org.jboss.forge.shell.command.Execution.perform(Execution.java:160)
>>>>>>>>         at
>>>>>>>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)
>>>>>>>>         at
>>>>>>>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)
>>>>>>>>         at
>>>>>>>> org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:796)
>>>>>>>>         at
>>>>>>>> org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:819)
>>>>>>>>         at
>>>>>>>> org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:609)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>> Method)
>>>>>>>>         at
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>         at
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>>>>>>>         at
>>>>>>>> org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>> Method)
>>>>>>>>         at
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>         at
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
>>>>>>>>         at
>>>>>>>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
>>>>>>>>         at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)
>>>>>>>>         at java.lang.Thread.run(Thread.java:744)
>>>>>>>>
>>>>>>>>
>>>>>>>> 2014-02-10 14:48 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>>>>>>>>
>>>>>>>>  Rafael,
>>>>>>>>>
>>>>>>>>> Try adding your JDT dependencies as provided. I'm afraid Forge 1
>>>>>>>>> won't handle conflicting classes very well. This is fixed in Forge 2.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 10-02-2014 14:43, Rafael Pestano wrote:
>>>>>>>>>
>>>>>>>>>   Hi Ivan
>>>>>>>>> "Are you sure that changing the scope to compile won't fix the
>>>>>>>>> issue?"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  When i use compile scope i got classcast exception,(full
>>>>>>>>> stacktrace also added below) but as soon i use org.eclipse.jdt.core as
>>>>>>>>> provided and add java-parser module dependency to my plugin module.xml
>>>>>>>>> everything works. I think its a classloading issue.
>>>>>>>>>
>>>>>>>>>  Here is the code:
>>>>>>>>> private boolean verifyStaleReference(JavaSource source) {
>>>>>>>>>         CompilationUnit comp = (CompilationUnit)
>>>>>>>>> source.getInternal();
>>>>>>>>>         comp.getRoot().toString();
>>>>>>>>>  //todo verify services stale references
>>>>>>>>>         source.getOrigin().toString();
>>>>>>>>>         return true;
>>>>>>>>>     }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> full source code is here:
>>>>>>>>> https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/model/OSGiModuleImpl.java#L351
>>>>>>>>>
>>>>>>>>>  I've also tried jdt from this dependency:
>>>>>>>>> <dependency>
>>>>>>>>>       <groupId>org.eclipse.jdt</groupId>
>>>>>>>>>       <artifactId>org.eclipse.jdt.core</artifactId>
>>>>>>>>>       <version>3.7.1</version>
>>>>>>>>>       <scope>compile</scope>
>>>>>>>>>     </dependency>
>>>>>>>>>  i got same classcastexception.
>>>>>>>>>
>>>>>>>>>  stacktrace:
>>>>>>>>> ***ERROR*** Exception encountered: (type "set VERBOSE false" to
>>>>>>>>> disable stack traces)
>>>>>>>>> java.lang.ClassCastException:
>>>>>>>>> org.eclipse.jdt.core.dom.CompilationUnit cannot be cast to
>>>>>>>>> org.eclipse.jdt.core.dom.CompilationUnit
>>>>>>>>>         at
>>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.verifyStaleReference(OSGiModuleImpl.java:368)
>>>>>>>>>         at
>>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:359)
>>>>>>>>>         at
>>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>>>>>>         at
>>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>>>>>>         at
>>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.findStaleReferences(OSGiModuleImpl.java:346)
>>>>>>>>>         at
>>>>>>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.getStaleReferences(OSGiModuleImpl.java:461)
>>>>>>>>>         at
>>>>>>>>> br.ufrgs.rmpestano.intrabundle.plugin.BundlePlugin.staleReferences(BundlePlugin.java:107)
>>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>> Method)
>>>>>>>>>         at
>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>         at
>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>         at
>>>>>>>>> org.jboss.forge.shell.command.Execution.perform(Execution.java:160)
>>>>>>>>>         at
>>>>>>>>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)
>>>>>>>>>         at
>>>>>>>>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)
>>>>>>>>>         at
>>>>>>>>> org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:796)
>>>>>>>>>         at
>>>>>>>>> org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:819)
>>>>>>>>>         at
>>>>>>>>> org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:609)
>>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>> Method)
>>>>>>>>>         at
>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>         at
>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>>>>>>>>         at
>>>>>>>>> org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
>>>>>>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>> Method)
>>>>>>>>>         at
>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>>         at
>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
>>>>>>>>>         at
>>>>>>>>> org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)
>>>>>>>>>         at java.lang.Thread.run(Thread.java:744)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2014-02-10 14:16 GMT-02:00 Rafael Pestano <rmpestano at gmail.com>:
>>>>>>>>>
>>>>>>>>>>  Hi guys,
>>>>>>>>>>
>>>>>>>>>>  i need to access class AST, is that possible with
>>>>>>>>>> forge-shell-api?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2014-02-10 11:41 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  Hi Rafael,
>>>>>>>>>>>
>>>>>>>>>>> Why do you need to access
>>>>>>>>>>> org.eclipse.jdt.core.dom.CompilationUnit? You should only use the classes
>>>>>>>>>>> in java-parser-api that is already provided when you add a dependency to
>>>>>>>>>>> forge-shell-api. That said, forge-shell-api with the provided scope is the
>>>>>>>>>>> only dependency your module might need.
>>>>>>>>>>>
>>>>>>>>>>> See https://github.com/forge/core/blob/1.x/dev-plugins/pom.xmlas an example.
>>>>>>>>>>>
>>>>>>>>>>> Best Regards,
>>>>>>>>>>>
>>>>>>>>>>> George
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 10-02-2014 11:14, Rafael Pestano wrote:
>>>>>>>>>>>
>>>>>>>>>>>  here is complete pom.xml:
>>>>>>>>>>>
>>>>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>>>> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>>>>>>>>>>> http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="
>>>>>>>>>>> http://maven.apache.org/POM/4.0.0"
>>>>>>>>>>>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>>>>>>>>>>>   <modelVersion>4.0.0</modelVersion>
>>>>>>>>>>>   <groupId>br.ufrgs.rmpestano</groupId>
>>>>>>>>>>>   <artifactId>intrabundle</artifactId>
>>>>>>>>>>>   <version>0.1-SNAPSHOT</version>
>>>>>>>>>>>   <name>intrabundle</name>
>>>>>>>>>>>   <properties>
>>>>>>>>>>>     <forge.version>1.4.4.Final</forge.version>
>>>>>>>>>>>
>>>>>>>>>>> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>>>>>>>>>>>     <forge.api.version>1.4.4.Final</forge.api.version>
>>>>>>>>>>>   </properties>
>>>>>>>>>>>   <dependencies>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-shell-api</artifactId>
>>>>>>>>>>>       <version>${forge.version}</version>
>>>>>>>>>>>       <scope>provided</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-maven-api</artifactId>
>>>>>>>>>>>       <version>${forge.version}</version>
>>>>>>>>>>>       <scope>provided</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-javaee-api</artifactId>
>>>>>>>>>>>       <version>${forge.version}</version>
>>>>>>>>>>>       <scope>provided</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>net.sf.jasperreports</groupId>
>>>>>>>>>>>       <artifactId>jasperreports</artifactId>
>>>>>>>>>>>       <version>5.1.2</version>
>>>>>>>>>>>       <exclusions>
>>>>>>>>>>>         <exclusion>
>>>>>>>>>>>           <artifactId>itext</artifactId>
>>>>>>>>>>>           <groupId>com.lowagie</groupId>
>>>>>>>>>>>         </exclusion>
>>>>>>>>>>>         <exclusion>
>>>>>>>>>>>           <artifactId>commons-collections</artifactId>
>>>>>>>>>>>           <groupId>commons-collections</groupId>
>>>>>>>>>>>         </exclusion>
>>>>>>>>>>>         <exclusion>
>>>>>>>>>>>           <artifactId>jdtcore</artifactId>
>>>>>>>>>>>           <groupId>eclipse</groupId>
>>>>>>>>>>>         </exclusion>
>>>>>>>>>>>       </exclusions>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>commons-collections</groupId>
>>>>>>>>>>>       <artifactId>commons-collections</artifactId>
>>>>>>>>>>>       <version>3.2.1</version>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>com.lowagie</groupId>
>>>>>>>>>>>       <artifactId>itext</artifactId>
>>>>>>>>>>>       <version>2.1.7</version>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.eclipse.tycho</groupId>
>>>>>>>>>>>       <artifactId>org.eclipse.jdt.core</artifactId>
>>>>>>>>>>>       <version>3.9.1.v20130905-0837</version>
>>>>>>>>>>>       <scope>provided</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-parser-java</artifactId>
>>>>>>>>>>>       <version>${forge.version}</version>
>>>>>>>>>>>       <scope>provided</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-test-harness</artifactId>
>>>>>>>>>>>       <version>${forge.version}</version>
>>>>>>>>>>>       <scope>test</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-shell</artifactId>
>>>>>>>>>>>       <version>${forge.version}</version>
>>>>>>>>>>>       <scope>test</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-javaee-impl</artifactId>
>>>>>>>>>>>       <version>${forge.version}</version>
>>>>>>>>>>>       <scope>test</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-parser-java-api</artifactId>
>>>>>>>>>>>       <version>1.4.4-SNAPSHOT</version>
>>>>>>>>>>>       <scope>provided</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>     <dependency>
>>>>>>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>>>>>>       <artifactId>forge-parser-java</artifactId>
>>>>>>>>>>>       <version>1.4.4-SNAPSHOT</version>
>>>>>>>>>>>       <scope>provided</scope>
>>>>>>>>>>>     </dependency>
>>>>>>>>>>>   </dependencies>
>>>>>>>>>>>   <repositories>
>>>>>>>>>>>     <repository>
>>>>>>>>>>>       <id>JBOSS_NEXUS</id>
>>>>>>>>>>>       <url>
>>>>>>>>>>> http://repository.jboss.org/nexus/content/groups/public</url>
>>>>>>>>>>>     </repository>
>>>>>>>>>>>   </repositories>
>>>>>>>>>>>   <build>
>>>>>>>>>>>     <plugins>
>>>>>>>>>>>       <plugin>
>>>>>>>>>>>         <artifactId>maven-compiler-plugin</artifactId>
>>>>>>>>>>>         <version>2.3.2</version>
>>>>>>>>>>>         <configuration>
>>>>>>>>>>>           <encoding>UTF-8</encoding>
>>>>>>>>>>>           <source>1.6</source>
>>>>>>>>>>>           <target>1.6</target>
>>>>>>>>>>>         </configuration>
>>>>>>>>>>>       </plugin>
>>>>>>>>>>>       <plugin>
>>>>>>>>>>>         <groupId>org.codehaus.mojo</groupId>
>>>>>>>>>>>         <artifactId>jasperreports-maven-plugin</artifactId>
>>>>>>>>>>>         <version>1.0-beta-1</version>
>>>>>>>>>>>         <executions>
>>>>>>>>>>>           <execution>
>>>>>>>>>>>             <phase>prepare-package</phase>
>>>>>>>>>>>             <goals>
>>>>>>>>>>>               <goal>compile-reports</goal>
>>>>>>>>>>>             </goals>
>>>>>>>>>>>           </execution>
>>>>>>>>>>>         </executions>
>>>>>>>>>>>         <dependencies>
>>>>>>>>>>>           <dependency>
>>>>>>>>>>>             <groupId>net.sf.jasperreports</groupId>
>>>>>>>>>>>             <artifactId>jasperreports</artifactId>
>>>>>>>>>>>             <version>5.1.2</version>
>>>>>>>>>>>             <scope>compile</scope>
>>>>>>>>>>>             <exclusions>
>>>>>>>>>>>               <exclusion>
>>>>>>>>>>>                 <artifactId>itext</artifactId>
>>>>>>>>>>>                 <groupId>com.lowagie</groupId>
>>>>>>>>>>>               </exclusion>
>>>>>>>>>>>             </exclusions>
>>>>>>>>>>>           </dependency>
>>>>>>>>>>>           <dependency>
>>>>>>>>>>>             <groupId>commons-digester</groupId>
>>>>>>>>>>>             <artifactId>commons-digester</artifactId>
>>>>>>>>>>>             <version>1.8</version>
>>>>>>>>>>>           </dependency>
>>>>>>>>>>>           <dependency>
>>>>>>>>>>>             <groupId>commons-collections</groupId>
>>>>>>>>>>>             <artifactId>commons-collections</artifactId>
>>>>>>>>>>>             <version>3.2</version>
>>>>>>>>>>>           </dependency>
>>>>>>>>>>>           <dependency>
>>>>>>>>>>>             <groupId>com.lowagie</groupId>
>>>>>>>>>>>             <artifactId>itext</artifactId>
>>>>>>>>>>>             <version>2.1.7</version>
>>>>>>>>>>>           </dependency>
>>>>>>>>>>>           <dependency>
>>>>>>>>>>>             <groupId>commons-beanutils</groupId>
>>>>>>>>>>>             <artifactId>commons-beanutils</artifactId>
>>>>>>>>>>>             <version>1.5</version>
>>>>>>>>>>>           </dependency>
>>>>>>>>>>>         </dependencies>
>>>>>>>>>>>         <configuration>
>>>>>>>>>>>           <xmlValidation>true</xmlValidation>
>>>>>>>>>>>
>>>>>>>>>>> <sourceDirectory>src/main/resources/reports</sourceDirectory>
>>>>>>>>>>>
>>>>>>>>>>> <outputDirectory>target/classes/reports</outputDirectory>
>>>>>>>>>>>         </configuration>
>>>>>>>>>>>       </plugin>
>>>>>>>>>>>     </plugins>
>>>>>>>>>>>   </build>
>>>>>>>>>>> </project>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2014-02-10 10:53 GMT-02:00 Rafael Pestano <rmpestano at gmail.com>:
>>>>>>>>>>>
>>>>>>>>>>>>  Hi guys,
>>>>>>>>>>>>
>>>>>>>>>>>>  how can i add a module dependency to my plugin?(in forge 1.x)
>>>>>>>>>>>>
>>>>>>>>>>>>  I'm using JavaParser and i need to access
>>>>>>>>>>>> org.eclipse.jdt.core.dom.CompilationUnit api which is available in
>>>>>>>>>>>> javaparser module (org.eclipse.jdt.core-3.9.1.jar) which doesnt comes in
>>>>>>>>>>>> default module dependencies[1].
>>>>>>>>>>>>
>>>>>>>>>>>>  in my pom.xml i use <dependency>
>>>>>>>>>>>>       <groupId>org.eclipse.tycho</groupId>
>>>>>>>>>>>>       <artifactId>org.eclipse.jdt.core</artifactId>
>>>>>>>>>>>>       <version>3.9.1.v20130905-0837</version>
>>>>>>>>>>>>       <scope>provided</scope> tried compile also
>>>>>>>>>>>>     </dependency>
>>>>>>>>>>>>
>>>>>>>>>>>>  but i receive ***ERROR*** Exception encountered: (type "set
>>>>>>>>>>>> VERBOSE false" to disable stack traces)
>>>>>>>>>>>> java.lang.ClassNotFoundException:
>>>>>>>>>>>> org.eclipse.jdt.core.dom.CompilationUnit from [Module
>>>>>>>>>>>> "br.ufrgs.rmpestano.intrabundle:0.1-SNAPSHOT-35a537a5-1ab6-4b19-a253-03e3bbfae57d"
>>>>>>>>>>>> from local module loader @1eac903 (roots:
>>>>>>>>>>>> /home/rmpestano/projetos/forge/dist/forge-distribution-1.4.3.Final/modules,/home/rmpestano/.forge/plugins,/home/rmpestano/projetos)]
>>>>>>>>>>>>
>>>>>>>>>>>>  if i add(manually) org.eclipse.javaparser module dependency
>>>>>>>>>>>> in my plugin module.xml everything works.
>>>>>>>>>>>>
>>>>>>>>>>>> How can i tell forge that i need that dependency?
>>>>>>>>>>>>
>>>>>>>>>>>>   Thanks in advance
>>>>>>>>>>>>
>>>>>>>>>>>> [1]
>>>>>>>>>>>> http://forge.jboss.org/docs/plugin_development/reference-libraries.html
>>>>>>>>>>>>  --
>>>>>>>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>>>>>>>
>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>
>>>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande
>>>>>>>>>>>> do Sul
>>>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>>>> http://conventionsframework.org<http://conventions.github.io/home/>
>>>>>>>>>>>>  http://rpestano.wordpress.com/
>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>>>>>>
>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>
>>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande
>>>>>>>>>>> do Sul
>>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>>> http://conventionsframework.org<http://conventions.github.io/home/>
>>>>>>>>>>>  http://rpestano.wordpress.com/
>>>>>>>>>>> @realpestano
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>   _______________________________________________
>>>>>>>>>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://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
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>>>>>
>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>
>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande
>>>>>>>>>> do Sul
>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>> http://conventionsframework.org<http://conventions.github.io/home/>
>>>>>>>>>>  http://rpestano.wordpress.com/
>>>>>>>>>> @realpestano
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>>>>
>>>>>>>>> Rafael M. Pestano
>>>>>>>>>
>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
>>>>>>>>> Sul
>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>> http://conventionsframework.org<http://conventions.github.io/home/>
>>>>>>>>>  http://rpestano.wordpress.com/
>>>>>>>>> @realpestano
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://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
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>>>
>>>>>>>> Rafael M. Pestano
>>>>>>>>
>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
>>>>>>>> Sul
>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>> http://conventionsframework.org<http://conventions.github.io/home/>
>>>>>>>>  http://rpestano.wordpress.com/
>>>>>>>> @realpestano
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>>
>>>>>>> Rafael M. Pestano
>>>>>>>
>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
>>>>>>> Sul
>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>>>>>  http://rpestano.wordpress.com/
>>>>>>> @realpestano
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>
>>>>>> Rafael M. Pestano
>>>>>>
>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>>>>  http://rpestano.wordpress.com/
>>>>>> @realpestano
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>>  <http://www.advancedit.com.br/>Att,
>>>>
>>>> Rafael M. Pestano
>>>>
>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>> Graduando em Ciência da Computação UFRGS
>>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>>  http://rpestano.wordpress.com/
>>>> @realpestano
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://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
>>>>
>>>
>>>
>>>
>>>  --
>>>  <http://www.advancedit.com.br/>Att,
>>>
>>> Rafael M. Pestano
>>>
>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>> Graduando em Ciência da Computação UFRGS
>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>  http://rpestano.wordpress.com/
>>> @realpestano
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://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
>>>
>>
>>
>>
>>  --
>>  <http://www.advancedit.com.br/>Att,
>>
>> Rafael M. Pestano
>>
>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>> Graduando em Ciência da Computação UFRGS
>> http://conventionsframework.org <http://conventions.github.io/home/>
>>  http://rpestano.wordpress.com/
>> @realpestano
>>
>>  _______________________________________________
>> 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
>>
>
>
>
>  --
>  <http://www.advancedit.com.br/>Att,
>
> Rafael M. Pestano
>
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventionsframework.org <http://conventions.github.io/home/>
>  http://rpestano.wordpress.com/
> @realpestano
>
>
> _______________________________________________
> forge-dev mailing listforge-dev at lists.jboss.orghttps://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
>



-- 
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140211/cb3882bb/attachment-0001.html 


More information about the forge-dev mailing list