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(a)redhat.com
> <mailto:ggastald@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/ufr...
>> and here:
>>
https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufr...
>>
>> 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(a)gmail.com <mailto:ivan.st.ivanov@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(a)gmail.com <mailto:rmpestano@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(a)redhat.com <mailto:ggastald@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(a)gmail.com
<mailto:rmpestano@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(a)redhat.com
>>> <mailto:ggastald@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/b...
>>>>
>>>> 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(a)gmail.com
>>>> <mailto:rmpestano@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(a)redhat.com
>>>> <mailto:ggastald@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(a)gmail.com
>>>>>
<mailto:rmpestano@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(a)lists.jboss.org
<mailto:forge-dev@lists.jboss.org>
>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>>
_______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev(a)lists.jboss.org
>>>> <mailto:forge-dev@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(a)lists.jboss.org
<mailto:forge-dev@lists.jboss.org>
>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>> <mailto:forge-dev@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(a)lists.jboss.org
<mailto:forge-dev@lists.jboss.org>
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev(a)lists.jboss.org
>> <mailto:forge-dev@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(a)lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev(a)lists.jboss.org <mailto:forge-dev@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(a)lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>
>
> _______________________________________________
> forge-dev mailing list
> forge-dev(a)lists.jboss.org <mailto:forge-dev@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(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/forge-dev