[forge-dev] Add module dependency

Lincoln Baxter, III lincolnbaxter at gmail.com
Wed Feb 26 09:49:47 EST 2014


But you did get it working via the module? Don't worry about my suggestion.
I was probably wrong :)


On Wed, Feb 26, 2014 at 8:49 AM, Rafael Pestano <rmpestano at gmail.com> wrote:

> Hi again,
>
> just created a small forge 1.x project trying to use jgit and eclipse jtd,
> but im getting the errors i've talked at this topic
>
>  can you take a look? maybe i'm doing something wrong
>
> https://github.com/rmpestano/forge-issue/
>
>
>
>
> 2014-02-26 6:40 GMT-03:00 Rafael Pestano <rmpestano at gmail.com>:
>
>> Thanks for the reply Lincoln,
>>
>> i doesn't work for me regardless the scope , maybe its my environment,
>> i'll create a clean project and try again
>>
>>
>>
>> 2014-02-25 23:22 GMT-03:00 Lincoln Baxter, III <lincolnbaxter at gmail.com>:
>>
>>  Thanks for posting this workaround, Rafael :) The other alternative is
>>> to include the dependency at compile scope; this should also work as far as
>>> I know.
>>>
>>>
>>> On Tue, Feb 25, 2014 at 8:42 PM, Rafael Pestano <rmpestano at gmail.com>wrote:
>>>
>>>> Hi guys,
>>>>
>>>> i dont want to be annoying or repetitive, i will post it here (again)
>>>> for historic reasons but i've facet the "cannot use an API already used  by
>>>> forge", this time it was the JGit api which is available at
>>>> org.jboss.forge.git module. GitPlugin only expose as few methods and i need
>>>> more information from git projects.
>>>> using
>>>>
>>>> <dependency>
>>>>       <groupId>org.eclipse.jgit</groupId>
>>>>       <artifactId>org.eclipse.jgit</artifactId>
>>>>       <version>3.2.0.201312181205-r</version>
>>>>       <scope>provided</scope>
>>>>     </dependency>
>>>>
>>>> gives me noclassdef found and using it as compile gives me
>>>> classnotfound(classpath hell)
>>>>
>>>> the solution is the same as i did with JDT API, added  <module
>>>> name="org.jboss.forge.git" /> to forge.xml in my modified
>>>> forge-distribution.
>>>>
>>>> Note that not everyone has the time and/or expertise to migrate their
>>>> forge 1.x plugin to forge 2.x so they may use this topic as reference to
>>>> such issue.
>>>>
>>>>
>>>>
>>>>
>>>> 2014-02-13 13:57 GMT-02:00 Rafael Pestano <rmpestano at gmail.com>:
>>>>
>>>>> Hi guys,
>>>>>
>>>>> i've managed to add module dependencies to a plugin looking at
>>>>> forge.xml, what do you think?  this is a valid approach?
>>>>>
>>>>> basically i declare module dependencies i want to add to my plugin
>>>>> module xml, here is my forge.xml:
>>>>>
>>>>> <forge>
>>>>>      <dependencies>
>>>>>          <module name="org.eclipse.javaparser" />
>>>>>       </dependencies>
>>>>> </forge>
>>>>>
>>>>>
>>>>> and at PluginManager#createModule i add it.
>>>>>
>>>>> I've failled to create a test cause i receive a null runtime
>>>>> version(InstalledPluginRegistry.getRuntimeAPIVersion()) when invoking
>>>>> source-plugin command in my test:
>>>>> java.lang.NullPointerException
>>>>>     at java.util.regex.Matcher.getTextLength(Matcher.java:1234)
>>>>>     at java.util.regex.Matcher.reset(Matcher.java:308)
>>>>>     at java.util.regex.Matcher.<init>(Matcher.java:228)
>>>>>     at java.util.regex.Pattern.matcher(Pattern.java:1088)
>>>>>     at
>>>>> org.jboss.forge.shell.InstalledPluginRegistry.isApiCompatible(InstalledPluginRegistry.java:318)
>>>>>     at
>>>>> org.jboss.forge.shell.plugins.PluginManager.registerPlugin(PluginManager.java:560)
>>>>>     at
>>>>> org.jboss.forge.shell.plugins.PluginManager.createModule(PluginManager.java:382)
>>>>>
>>>>> Here is the diff:
>>>>> https://github.com/rmpestano/core/commit/abf43ac5c4dcf508c59e3c16cf673f995be49cca
>>>>>
>>>>>
>>>>> With this approach i can now declare org.eclipse.jdt.core maven
>>>>> dependency as provided cause its exported by the module
>>>>> "org.eclipse.javaparser" and now i have have conflicts with JDT.
>>>>>
>>>>> WDYT?
>>>>>
>>>>>
>>>>>
>>>>> 2014-02-12 9:02 GMT-02:00 Rafael Pestano <rmpestano at gmail.com>:
>>>>>
>>>>> I see, no problerm. I'll take a look at PluginManager and if got any
>>>>>> progress i ping you back.
>>>>>>
>>>>>> 2014-02-11 20:39 GMT-02:00 Lincoln Baxter, III <
>>>>>> lincolnbaxter at gmail.com>:
>>>>>>
>>>>>>> Due to the feature freeze, this feature will need to go into Forge
>>>>>>> 2.0.
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Feb 11, 2014 at 5:35 PM, George Gastaldi <
>>>>>>> ggastald at redhat.com> wrote:
>>>>>>>
>>>>>>>>  Sorry, Forge 1 is feature-frozen, unless you want to submit a
>>>>>>>> pull-request for it.
>>>>>>>> If you really need AST, I'd recommend you to use Forge 2 instead.
>>>>>>>>
>>>>>>>> On 11-02-2014 19:46, Rafael Pestano wrote:
>>>>>>>>
>>>>>>>> great! about jboss modules, any chance to add the feature to
>>>>>>>> override default plugin module.xml? :P
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2014-02-11 19:42 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>>>>>>>>
>>>>>>>>>  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 at 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 at 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 at redhat.com>:
>>>>>>>>>>
>>>>>>>>>>>  Hi Rafael,
>>>>>>>>>>>
>>>>>>>>>>> You don't need AST for your code. You can use the forge-parser
>>>>>>>>>>> API for that.
>>>>>>>>>>>
>>>>>>>>>>> Cast your JavaSource to JavaClass and you can call
>>>>>>>>>>> javaClass.getMethods() to fetch the methods the JavaClass declares. Then
>>>>>>>>>>> iterate through them and you'll have your information.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 11-02-2014 13:50, Rafael Pestano wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi Ivan,
>>>>>>>>>>>
>>>>>>>>>>>  i need to visit AST, such as here:
>>>>>>>>>>> https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/jdt/StaleReferencesVisitor.java
>>>>>>>>>>> and here:
>>>>>>>>>>> https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/model/OSGiModuleImpl.java#L373
>>>>>>>>>>>
>>>>>>>>>>>  that can be done with forge parser?
>>>>>>>>>>>
>>>>>>>>>>>  I have no issues with the tests.
>>>>>>>>>>>
>>>>>>>>>>>  One thing that would solve the problem would be to provide
>>>>>>>>>>> module.xml inside the plugin which would override default module.xml ,
>>>>>>>>>>> something like is done with jboss-deployment-structure in Java EE apps, is
>>>>>>>>>>> that possible?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2014-02-10 16:46 GMT-02:00 Ivan St. Ivanov <
>>>>>>>>>>> ivan.st.ivanov at gmail.com>:
>>>>>>>>>>>
>>>>>>>>>>>> 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> 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>:
>>>>>>>>>>>>>
>>>>>>>>>>>>>  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>:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  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>:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  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>:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  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>:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  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.xmlas 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>:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>  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
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>  ...
>>
>> [Mensagem cortada]
>
>
>
>
> --
> <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
>



-- 
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140226/d7685e95/attachment-0001.html 


More information about the forge-dev mailing list