[forge-dev] Add module dependency

George Gastaldi ggastald at redhat.com
Tue Feb 11 14:33:01 EST 2014


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


More information about the forge-dev mailing list