[forge-dev] Add module dependency

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


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/b810970b/attachment-0001.html 


More information about the forge-dev mailing list