[forge-dev] Add module dependency

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


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 
>> <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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
>>>>                     <mailto: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
>>>>>                         <mailto: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
>>>>>                             <mailto: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
>>>>>>                                 <mailto: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 list
>>>>>>                                 forge-dev at lists.jboss.org  <mailto:forge-dev at lists.jboss.org>
>>>>>>                                 https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>>
>>>>>                                 _______________________________________________
>>>>>                                 forge-dev mailing list
>>>>>                                 forge-dev at lists.jboss.org
>>>>>                                 <mailto: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 list
>>>>>                         forge-dev at lists.jboss.org  <mailto:forge-dev at lists.jboss.org>
>>>>>                         https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>>                         _______________________________________________
>>>>                         forge-dev mailing list
>>>>                         forge-dev at lists.jboss.org
>>>>                         <mailto: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 list
>>>>                 forge-dev at lists.jboss.org  <mailto:forge-dev at lists.jboss.org>
>>>>                 https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>>                 _______________________________________________
>>>                 forge-dev mailing list
>>>                 forge-dev at lists.jboss.org
>>>                 <mailto: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 <mailto:forge-dev at lists.jboss.org>
>>>             https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>>
>>>         _______________________________________________
>>>         forge-dev mailing list
>>>         forge-dev at lists.jboss.org <mailto: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  <mailto:forge-dev at lists.jboss.org>
>>>     https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>     _______________________________________________
>>     forge-dev mailing list
>>     forge-dev at lists.jboss.org <mailto: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
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140211/3950d8d4/attachment-0001.html 


More information about the forge-dev mailing list