[forge-dev] Add module dependency

George Gastaldi ggastald at redhat.com
Tue Feb 11 16:42:38 EST 2014


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.xml as 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
>>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>>> 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://rpestano.wordpress.com/
>>>>>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>> 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://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
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>> 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://rpestano.wordpress.com/
>>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> -- 
>>>>>>>>>>>>> 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://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
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> -- 
>>>>>>>>>>> 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://rpestano.wordpress.com/
>>>>>>>>>>> @realpestano
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> -- 
>>>>>>>>>> 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://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
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> 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://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
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> 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://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
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> 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://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
> 
> 
> 
> -- 
> 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://rpestano.wordpress.com/
> @realpestano
> _______________________________________________
> 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/20140211/60271e6b/attachment-0001.html 


More information about the forge-dev mailing list