Re: [forge-dev] Add module dependency
gastaldi Feb 11, 2014 4:31 PMHey 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@redhat.com
<mailto:ggastald@redhat.com>>:
Hi Rafael,
You don't need AST for your code. You can use the forge-parser API
for that.
Cast your JavaSource to JavaClass and you can call
javaClass.getMethods() to fetch the methods the JavaClass
declares. Then iterate through them and you'll have your information.
>
On 11-02-2014 13:50, Rafael Pestano wrote:
>> Hi Ivan,
>>
>> i need to visit AST, such as here:
>> and here:
>>
>> 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
>> **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
>>> **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
>>>> 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
>>>>>
>>>>> http://forge.jboss.org/docs/plugin_development/reference-libraries.html
>>>>> --
>>>>> <http://www.advancedit.com.br/>Att,
>>>>>
>>>>>
>>>>> Rafael M. Pestano
>>>>>
>>>>> Desenvolvedor Java Cia. de
>>>>> Processamento de Dados do Rio
>>>>> Grande do Sul
>>>>> Graduando em Ciência da
>>>>> Computação UFRGS
>>>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>>> http://rpestano.wordpress.com/
>>>>> @realpestano
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> <http://www.advancedit.com.br/>Att,
>>>>>
>>>>> Rafael M. Pestano
>>>>>
>>>>> Desenvolvedor Java Cia. de
>>>>> Processamento de Dados do Rio
>>>>> Grande do Sul
>>>>> Graduando em Ciência da Computação
>>>>> UFRGS
>>>>> http://conventionsframework.org
>>>>> <http://conventions.github.io/home/>
>>>>> http://rpestano.wordpress.com/
>>>>> @realpestano
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-dev mailing list
>>>>> forge-dev@lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev@lists.jboss.org
>>>> <mailto:forge-dev@lists.jboss.org>
>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> <http://www.advancedit.com.br/>Att,
>>>>
>>>> Rafael M. Pestano
>>>>
>>>> Desenvolvedor Java Cia. de
>>>> Processamento de Dados do Rio Grande do Sul
>>>> Graduando em Ciência da Computação UFRGS
>>>> http://conventionsframework.org
>>>> <http://conventions.github.io/home/>
>>>> http://rpestano.wordpress.com/
>>>> @realpestano
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> <http://www.advancedit.com.br/>Att,
>>>>
>>>> Rafael M. Pestano
>>>>
>>>> Desenvolvedor Java Cia. de Processamento de
>>>> Dados do Rio Grande do Sul
>>>> Graduando em Ciência da Computação UFRGS
>>>> http://conventionsframework.org
>>>> <http://conventions.github.io/home/>
>>>> http://rpestano.wordpress.com/
>>>> @realpestano
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev@lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> <mailto:forge-dev@lists.jboss.org>
>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>>
>>>
>>> --
>>> <http://www.advancedit.com.br/>Att,
>>>
>>> Rafael M. Pestano
>>>
>>> Desenvolvedor Java Cia. de Processamento de
>>> Dados do Rio Grande do Sul
>>> Graduando em Ciência da Computação UFRGS
>>> http://conventionsframework.org
>>> <http://conventions.github.io/home/>
>>> http://rpestano.wordpress.com/
>>> @realpestano
>>>
>>>
>>>
>>>
>>> --
>>> <http://www.advancedit.com.br/>Att,
>>>
>>> Rafael M. Pestano
>>>
>>> Desenvolvedor Java Cia. de Processamento de Dados do
>>> Rio Grande do Sul
>>> Graduando em Ciência da Computação UFRGS
>>> http://conventionsframework.org
>>> <http://conventions.github.io/home/>
>>> http://rpestano.wordpress.com/
>>> @realpestano
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev@lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> <mailto:forge-dev@lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>
>>
>> --
>> <http://www.advancedit.com.br/>Att,
>>
>> Rafael M. Pestano
>>
>> Desenvolvedor Java Cia. de Processamento de Dados do Rio
>> Grande do Sul
>> Graduando em Ciência da Computação UFRGS
>> http://conventionsframework.org
>> <http://conventions.github.io/home/>
>> http://rpestano.wordpress.com/
>> @realpestano
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev@lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev@lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>
>>
>> --
>> <http://www.advancedit.com.br/>Att,
>>
>> Rafael M. Pestano
>>
>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande
>> do Sul
>> Graduando em Ciência da Computação UFRGS
>> http://conventionsframework.org <http://conventions.github.io/home/>
>> http://rpestano.wordpress.com/
>> @realpestano
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev@lists.jboss.org <mailto:forge-dev@lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>
_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org <mailto:forge-dev@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/forge-dev
>
>
--
<http://www.advancedit.com.br/>Att,
Rafael M. Pestano
Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS
http://conventionsframework.org <http://conventions.github.io/home/>
http://rpestano.wordpress.com/
@realpestano
>
_______________________________________________
forge-dev mailing list
-
att1.html.zip 9.0 KB