[forge-dev] Add module dependency
Rafael Pestano
rmpestano at gmail.com
Wed Feb 26 20:01:56 EST 2014
yeap.
you are always wrong Lincoln, i'd like to be wrong as you've been ;P
2014-02-26 11:49 GMT-03:00 Lincoln Baxter, III <lincolnbaxter at gmail.com>:
> 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."
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>
--
<http://www.advancedit.com.br/>Att,
Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventionsframework.org <http://conventions.github.io/home/>
http://rpestano.wordpress.com/
@realpestano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140226/f9855cdf/attachment-0001.html
More information about the forge-dev
mailing list