The ability to visit the element tree is a nice feature for the JavaParser to have.
I'll create a JIRA for this new feature.
Thanks
Em 11/02/2014, às 19:40, Rafael Pestano <rmpestano(a)gmail.com>
escreveu:
maybe it will work but the code will be more complex than just use a visitor for
methodInvocations, and that was just an example i'll have other times of inspections
than just methodInvocations. I'll dig in and try to find a way to use AST.
thanks for the reply
2014-02-11 19:34 GMT-02:00 George Gastaldi <ggastald(a)redhat.com>:
> No, I spoke to soon. What I meant is that calling getMethods() the JavaParser will
traverse the AST tree internally, in a similar way that your code does.
>
>> On 11-02-2014 19:31, George Gastaldi wrote:
>> Hey Rafael,
>>
>> I don't see how using AST is different from what I proposed. When you have a
JavaSource object, the tree was already traversed and the options are just there.
>>
>>
>>> On 11-02-2014 19:27, Rafael Pestano wrote:
>>> Hi George,
>>>
>>> i dont think iterate over all methods is an option, im going to inspect very
large applications(100K + lines of code) so id like to insist with AST.
>>>
>>>
>>> 2014-02-11 17:33 GMT-02:00 George Gastaldi <ggastald(a)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>:
>>>>>> 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> 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>:
>>>>>>>
>>>>>>>> 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>:
>>>>>>>>>> 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>:
>>>>>>>>>>
>>>>>>>>>>> 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>:
>>>>>>>>>>>>> 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>:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> 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>:
>>>>>>>>>>>>>>>> Hi guys,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> how can i add a module
dependency to my plugin?(in forge 1.x)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm using JavaParser
and i need to access org.eclipse.jdt.core.dom.CompilationUnit api which is available in
javaparser module (org.eclipse.jdt.core-3.9.1.jar) which doesnt comes in default module
dependencies[1].
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> in my pom.xml i use
<dependency>
>>>>>>>>>>>>>>>>
<groupId>org.eclipse.tycho</groupId>
>>>>>>>>>>>>>>>>
<artifactId>org.eclipse.jdt.core</artifactId>
>>>>>>>>>>>>>>>>
<version>3.9.1.v20130905-0837</version>
>>>>>>>>>>>>>>>>
<scope>provided</scope> tried compile also
>>>>>>>>>>>>>>>> </dependency>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> but i receive ***ERROR***
Exception encountered: (type "set VERBOSE false" to disable stack traces)
>>>>>>>>>>>>>>>>
java.lang.ClassNotFoundException: org.eclipse.jdt.core.dom.CompilationUnit from [Module
"br.ufrgs.rmpestano.intrabundle:0.1-SNAPSHOT-35a537a5-1ab6-4b19-a253-03e3bbfae57d"
from local module loader @1eac903 (roots:
/home/rmpestano/projetos/forge/dist/forge-distribution-1.4.3.Final/modules,/home/rmpestano/.forge/plugins,/home/rmpestano/projetos)]
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> if i add(manually)
org.eclipse.javaparser module dependency in my plugin module.xml everything works.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> How can i tell forge that
i need that dependency?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks in advance
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
[
1]http://forge.jboss.org/docs/plugin_development/reference-libraries.html
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Att,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Desenvolvedor Java Cia.
de Processamento de Dados do Rio Grande do
Sul
>>>>>>>>>>>>>>>> Graduando em Ciência da
Computação UFRGS
>>>>>>>>>>>>>>>>
http://conventionsframework.org
>>>>>>>>>>>>>>>>
http://rpestano.wordpress.com/
>>>>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Att,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Desenvolvedor Java Cia. de
Processamento de Dados do Rio Grande do Sul
>>>>>>>>>>>>>>> Graduando em Ciência da
Computação UFRGS
>>>>>>>>>>>>>>>
http://conventionsframework.org
>>>>>>>>>>>>>>>
http://rpestano.wordpress.com/
>>>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Att,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>>
>>>>>>>>>>>>> Desenvolvedor Java Cia. de
Processamento de Dados do Rio Grande do Sul
>>>>>>>>>>>>> Graduando em Ciência da Computação
UFRGS
>>>>>>>>>>>>>
http://conventionsframework.org
>>>>>>>>>>>>>
http://rpestano.wordpress.com/
>>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Att,
>>>>>>>>>>>>
>>>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>>>
>>>>>>>>>>>> Desenvolvedor Java Cia. de Processamento
de Dados do Rio Grande do Sul
>>>>>>>>>>>> Graduando em Ciência da Computação
UFRGS
>>>>>>>>>>>>
http://conventionsframework.org
>>>>>>>>>>>>
http://rpestano.wordpress.com/
>>>>>>>>>>>> @realpestano
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>> forge-dev mailing list
>>>>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Att,
>>>>>>>>>>
>>>>>>>>>> Rafael M. Pestano
>>>>>>>>>>
>>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados
do Rio Grande do Sul
>>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>>
http://conventionsframework.org
>>>>>>>>>>
http://rpestano.wordpress.com/
>>>>>>>>>> @realpestano
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Att,
>>>>>>>>>
>>>>>>>>> Rafael M. Pestano
>>>>>>>>>
>>>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do
Rio Grande do Sul
>>>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>>>
http://conventionsframework.org
>>>>>>>>>
http://rpestano.wordpress.com/
>>>>>>>>> @realpestano
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> forge-dev mailing list
>>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> forge-dev mailing list
>>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Att,
>>>>>>>
>>>>>>> Rafael M. Pestano
>>>>>>>
>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio
Grande do Sul
>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>>
http://conventionsframework.org
>>>>>>>
http://rpestano.wordpress.com/
>>>>>>> @realpestano
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> forge-dev mailing list
>>>>>>> forge-dev(a)lists.jboss.org
>>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-dev mailing list
>>>>>> forge-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Att,
>>>>>
>>>>> Rafael M. Pestano
>>>>>
>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
Sul
>>>>> Graduando em Ciência da Computação UFRGS
>>>>>
http://conventionsframework.org
>>>>>
http://rpestano.wordpress.com/
>>>>> @realpestano
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>>
>>> --
>>> Att,
>>>
>>> Rafael M. Pestano
>>>
>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>> Graduando em Ciência da Computação UFRGS
>>>
http://conventionsframework.org
>>>
http://rpestano.wordpress.com/
>>> @realpestano
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>
>
> _______________________________________________
> forge-dev mailing list
> forge-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/forge-dev
--
Att,
Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventionsframework.org
http://rpestano.wordpress.com/
@realpestano
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev