<div dir="ltr">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.</div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Tue, Feb 25, 2014 at 8:42 PM, Rafael Pestano <span dir="ltr"><<a href="mailto:rmpestano@gmail.com" target="_blank">rmpestano@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div><div><div>Hi guys,<br><br></div>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.<br>
</div>using <br><br><dependency><br> <groupId>org.eclipse.jgit</groupId><br> <artifactId>org.eclipse.jgit</artifactId><br> <version>3.2.0.201312181205-r</version><br>
<scope>provided</scope><br> </dependency><br><br></div>gives me noclassdef found and using it as compile gives me classnotfound(classpath hell)<br><br></div><div>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.<br>
</div><div><br></div>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.<br><br><br><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">2014-02-13 13:57 GMT-02:00 Rafael Pestano <span dir="ltr"><<a href="mailto:rmpestano@gmail.com" target="_blank">rmpestano@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div>Hi guys,<br><br></div>i've managed to add module dependencies to a plugin looking at forge.xml, what do you think? this is a valid approach?<br>
<br></div><div>basically i declare module dependencies i want to add to my plugin module xml, here is my forge.xml:<br>
<br><forge><br> <dependencies><br> <module name="org.eclipse.javaparser" /><br> </dependencies><br></forge><br><br><br></div><div>and at PluginManager#createModule i add it. <br>
</div><div><br></div>I've failled to create a test cause i receive a null runtime version(InstalledPluginRegistry.getRuntimeAPIVersion()) when invoking source-plugin command in my test:<br>java.lang.NullPointerException<br>
at java.util.regex.Matcher.getTextLength(Matcher.java:1234)<br> at java.util.regex.Matcher.reset(Matcher.java:308)<br> at java.util.regex.Matcher.<init>(Matcher.java:228)<br> at java.util.regex.Pattern.matcher(Pattern.java:1088)<br>
at org.jboss.forge.shell.InstalledPluginRegistry.isApiCompatible(InstalledPluginRegistry.java:318)<br> at org.jboss.forge.shell.plugins.PluginManager.registerPlugin(PluginManager.java:560)<br> at org.jboss.forge.shell.plugins.PluginManager.createModule(PluginManager.java:382)<br>
<br></div>Here is the diff:<a href="https://github.com/rmpestano/core/commit/abf43ac5c4dcf508c59e3c16cf673f995be49cca" target="_blank">https://github.com/rmpestano/core/commit/abf43ac5c4dcf508c59e3c16cf673f995be49cca</a><br>
<br> <br><div>
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.<br><br></div><div>WDYT?<br>
</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-12 9:02 GMT-02:00 Rafael Pestano <span dir="ltr"><<a href="mailto:rmpestano@gmail.com" target="_blank">rmpestano@gmail.com</a>></span>:<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra">I see, no problerm. I'll take a look at PluginManager and if got any progress i ping you back. <br>
<br><div class="gmail_quote">2014-02-11 20:39 GMT-02:00 Lincoln Baxter, III <span dir="ltr"><<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Due to the feature freeze, this feature will need to go into Forge 2.0.</div><div class="gmail_extra">
<br>
<br><div class="gmail_quote">On Tue, Feb 11, 2014 at 5:35 PM, George Gastaldi <span dir="ltr"><<a href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Sorry, Forge 1 is feature-frozen, unless you want to submit a
pull-request for it. <br>
If you really need AST, I'd recommend you to use Forge 2 instead.<br>
<br>
<div>On 11-02-2014 19:46, Rafael Pestano
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">great! about jboss modules, any chance to add the
feature to override default plugin module.xml? :P
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-11 19:42 GMT-02:00 George
Gastaldi <span dir="ltr"><<a href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="auto">
<div>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.</div>
<div><br>
</div>
<div>Thanks</div>
<div><br>
Em 11/02/2014, às 19:40, Rafael Pestano <<a href="mailto:rmpestano@gmail.com" target="_blank">rmpestano@gmail.com</a>>
escreveu:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div dir="ltr">
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.
<div>
<br>
</div>
<div>thanks for the reply </div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-11 19:34 GMT-02:00
George Gastaldi <span dir="ltr"><<a href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> 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.<br>
<br>
<div>On 11-02-2014 19:31, George Gastaldi
wrote:<br>
</div>
<blockquote type="cite"> Hey Rafael,<br>
<br>
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.<br>
<br>
<br>
<div>On 11-02-2014 19:27, Rafael Pestano
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi George,
<div><br>
</div>
<div>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.</div>
</div>
<div class="gmail_extra"> <br>
<br>
<div class="gmail_quote">2014-02-11
17:33 GMT-02:00 George Gastaldi <span dir="ltr"><<a href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hi Rafael,<br>
<br>
You don't need AST for your code.
You can use the forge-parser API
for that. <br>
<br>
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.<br>
<br>
<br>
<div>On 11-02-2014 13:50, Rafael
Pestano wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi Ivan,
<div><br>
</div>
<div>i need to visit AST, such
as here: <a href="https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/jdt/StaleReferencesVisitor.java" target="_blank">https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/jdt/StaleReferencesVisitor.java</a></div>
<div>and here: <a href="https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/model/OSGiModuleImpl.java#L373" target="_blank">https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/model/OSGiModuleImpl.java#L373</a></div>
<div><br>
</div>
<div>that can be done with
forge parser?</div>
<div><br>
</div>
<div>I have no issues with the
tests.</div>
<div><br>
</div>
<div>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?</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-10
16:46 GMT-02:00 Ivan St.
Ivanov <span dir="ltr"><<a href="mailto:ivan.st.ivanov@gmail.com" target="_blank">ivan.st.ivanov@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Hi Rafael,
<div><br>
</div>
<div>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 <span style="font-family:arial,sans-serif;font-size:13px">CompilationUnit
class in different
classloader than
yours.</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px">So
I would expect that
the provided scope
should work, not
sure why it failed.</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px">I
would suggest
following what
George asked earlier
in this thread: </span><i><span style="font-size:13px;font-family:arial,sans-serif">Why do you need to
access
org.eclipse.jdt.core.dom.</span><span style="font-size:13px;font-family:arial,sans-serif">CompilationUnit? You
should only use
the classes in
java-parser-api
that is already
provided when you
add a dependency
to forge-shell-api</span></i></div>
<div><span style="font-size:13px;font-family:arial,sans-serif"><br>
</span></div>
<div><font face="arial,
sans-serif">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.</font></div>
<div><font face="arial,
sans-serif"><br>
</font></div>
<div><font face="arial,
sans-serif">Cheers,</font></div>
<div><font face="arial,
sans-serif">Ivan</font></div>
</div>
<div>
<div>
<div class="gmail_extra">
<br>
<br>
<div class="gmail_quote">
On Mon, Feb 10,
2014 at 7:07 PM,
Rafael Pestano <span dir="ltr"><<a href="mailto:rmpestano@gmail.com" target="_blank">rmpestano@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">same
exceptions,
with compile
got classcast
and with
provided
classnot found<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-10
14:58
GMT-02:00
George
Gastaldi <span dir="ltr"><<a href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a>></span>:
<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Try adding<code><span></span><span>
<dependencies-as-resource-root/>
to your
forge.xml file
as described
in: <br>
</span></code> <a href="http://forge.jboss.org/docs/plugin_development/reference-libraries.html" target="_blank">http://forge.jboss.org/docs/plugin_development/reference-libraries.html</a>
<div>
<div><br>
<br>
<div>On
10-02-2014
14:55, Rafael
Pestano wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">there
isnt an easy
way to add
<module
name="org.eclipse.javaparser"
/><br>
to my plugin
module.xml at
build time?<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-10
14:52
GMT-02:00
Rafael Pestano
<span dir="ltr"><<a href="mailto:rmpestano@gmail.com" target="_blank">rmpestano@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Hi
George,<br>
<br>
</div>
that was my
first attempt,
i got
classnotfound,
see
stacktrace:
<div> <br>
<br>
***ERROR***
Exception
encountered:
(type "set
VERBOSE false"
to disable
stack traces)<br>
</div>
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)]<br>
at
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)<br>
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)<br>
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)<br>
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)<br>
at
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
<div>
<div><br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.verifyStaleReference(OSGiModuleImpl.java:368)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:359)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.findStaleReferences(OSGiModuleImpl.java:346)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.getStaleReferences(OSGiModuleImpl.java:461)<br>
at
br.ufrgs.rmpestano.intrabundle.plugin.BundlePlugin.staleReferences(BundlePlugin.java:107)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
at
java.lang.reflect.Method.invoke(Method.java:606)<br>
at
org.jboss.forge.shell.command.Execution.perform(Execution.java:160)<br>
at
org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)<br>
at
org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)<br>
at
org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:796)<br>
at
org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:819)<br>
at
org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:609)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
at
java.lang.reflect.Method.invoke(Method.java:606)<br>
at
org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)<br>
at
org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)<br>
at
org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
at
java.lang.reflect.Method.invoke(Method.java:606)<br>
at
org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)<br>
at
org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)<br>
at
org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)<br>
at
org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)<br>
at
org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)<br>
at
org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)<br>
at
org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)<br>
at
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)<br>
at
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)<br>
at
org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)<br>
at
org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)<br>
at
org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)<br>
at
org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)<br>
at
org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)<br>
at
java.lang.Thread.run(Thread.java:744)<br>
</div>
</div>
</div>
<div class="gmail_extra">
<br>
<br>
<div class="gmail_quote">2014-02-10
14:48
GMT-02:00
George
Gastaldi <span dir="ltr"><<a href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a>></span>:
<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Rafael,<br>
<br>
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.
<div>
<div><br>
<br>
<br>
<div>On
10-02-2014
14:43, Rafael
Pestano wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>Hi Ivan<br>
"Are you sure
that changing
the scope to
compile won't
fix the
issue?"<br>
<br>
<br>
</div>
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.<br>
<br>
</div>
Here is the
code: <br>
private
boolean
verifyStaleReference(JavaSource
source) {<br>
CompilationUnit
comp =
(CompilationUnit)
source.getInternal();<br>
comp.getRoot().toString();<br>
</div>
//todo verify
services stale
references<br>
<div>
source.getOrigin().toString();<br>
return
true;<br>
}<br>
<br>
<br>
<br>
full source
code is here:<a href="https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/model/OSGiModuleImpl.java#L351" target="_blank">https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/model/OSGiModuleImpl.java#L351</a><br>
<br>
</div>
<div>I've also
tried jdt from
this
dependency:<br>
<dependency><br>
<groupId>org.eclipse.jdt</groupId><br>
<artifactId>org.eclipse.jdt.core</artifactId><br>
<version>3.7.1</version><br>
<scope>compile</scope><br>
</dependency><br>
</div>
<div>i got
same
classcastexception.<br>
</div>
<div> <br>
</div>
<div>stacktrace:<br>
***ERROR***
Exception
encountered:
(type "set
VERBOSE false"
to disable
stack traces)<br>
java.lang.ClassCastException:
org.eclipse.jdt.core.dom.CompilationUnit
cannot be cast
to
org.eclipse.jdt.core.dom.CompilationUnit<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.verifyStaleReference(OSGiModuleImpl.java:368)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:359)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.findStaleReferences(OSGiModuleImpl.java:346)<br>
at
br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.getStaleReferences(OSGiModuleImpl.java:461)<br>
at
br.ufrgs.rmpestano.intrabundle.plugin.BundlePlugin.staleReferences(BundlePlugin.java:107)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
at
java.lang.reflect.Method.invoke(Method.java:606)<br>
at
org.jboss.forge.shell.command.Execution.perform(Execution.java:160)<br>
at
org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)<br>
at
org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)<br>
at
org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:796)<br>
at
org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:819)<br>
at
org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:609)
<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
at
java.lang.reflect.Method.invoke(Method.java:606)<br>
at
org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)<br>
at
org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)<br>
at
org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)<br>
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
at
java.lang.reflect.Method.invoke(Method.java:606)<br>
at
org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)<br>
at
org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)<br>
at
org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)<br>
at
org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)<br>
at
org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)<br>
at
org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)<br>
at
org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)<br>
at
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)<br>
at
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)<br>
at
org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)<br>
at
org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)<br>
at
org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)<br>
at
org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)<br>
at
org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)<br>
at
java.lang.Thread.run(Thread.java:744)</div>
<div>
<div><br>
<br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-02-10
14:16
GMT-02:00
Rafael Pestano
<span dir="ltr"><<a href="mailto:rmpestano@gmail.com" target="_blank">rmpestano@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Hi guys,<br>
<br>
</div>
i need to
access class
AST, is that
possible with
forge-shell-api?
</div>
<div class="gmail_extra">
<br>
<br>
<div class="gmail_quote">2014-02-10
11:41
GMT-02:00
George
Gastaldi <span dir="ltr"><<a href="mailto:ggastald@redhat.com" target="_blank">ggastald@redhat.com</a>></span>:
<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Hi Rafael,<br>
<br>
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.<br>
<br>
See <a href="https://github.com/forge/core/blob/1.x/dev-plugins/pom.xml" target="_blank">https://github.com/forge/core/blob/1.x/dev-plugins/pom.xml</a>
as an example.<br>
<br>
Best Regards,<br>
<br>
George
<div>
<div><br>
<br>
<div>On
10-02-2014
11:14, Rafael
Pestano wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">here
is complete
pom.xml:<br>
<br>
<?xml
version="1.0"
encoding="UTF-8"?><br>
<project
xsi:schemaLocation="<a href="http://maven.apache.org/POM/4.0.0" target="_blank">http://maven.apache.org/POM/4.0.0</a>
<a href="http://maven.apache.org/xsd/maven-4.0.0.xsd" target="_blank">http://maven.apache.org/xsd/maven-4.0.0.xsd</a>"
xmlns="<a href="http://maven.apache.org/POM/4.0.0" target="_blank">http://maven.apache.org/POM/4.0.0</a>"<br>
xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>"><br>
<modelVersion>4.0.0</modelVersion><br>
<groupId>br.ufrgs.rmpestano</groupId><br>
<artifactId>intrabundle</artifactId><br>
<version>0.1-SNAPSHOT</version><br>
<name>intrabundle</name><br>
<properties><br>
<forge.version>1.4.4.Final</forge.version><br>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><br>
<forge.api.version>1.4.4.Final</forge.api.version><br>
</properties><br>
<dependencies><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-shell-api</artifactId><br>
<version>${forge.version}</version><br>
<scope>provided</scope><br>
</dependency><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-maven-api</artifactId><br>
<version>${forge.version}</version><br>
<scope>provided</scope><br>
</dependency><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-javaee-api</artifactId><br>
<version>${forge.version}</version><br>
<scope>provided</scope><br>
</dependency><br>
<dependency><br>
<groupId>net.sf.jasperreports</groupId><br>
<artifactId>jasperreports</artifactId><br>
<version>5.1.2</version><br>
<exclusions><br>
<exclusion><br>
<artifactId>itext</artifactId><br>
<groupId>com.lowagie</groupId><br>
</exclusion><br>
<exclusion><br>
<artifactId>commons-collections</artifactId><br>
<groupId>commons-collections</groupId><br>
</exclusion><br>
<exclusion><br>
<artifactId>jdtcore</artifactId><br>
<groupId>eclipse</groupId><br>
</exclusion><br>
</exclusions><br>
</dependency><br>
<dependency><br>
<groupId>commons-collections</groupId><br>
<artifactId>commons-collections</artifactId><br>
<version>3.2.1</version><br>
</dependency><br>
<dependency><br>
<groupId>com.lowagie</groupId><br>
<artifactId>itext</artifactId><br>
<version>2.1.7</version><br>
</dependency><br>
<dependency><br>
<groupId>org.eclipse.tycho</groupId><br>
<artifactId>org.eclipse.jdt.core</artifactId><br>
<version>3.9.1.v20130905-0837</version><br>
<scope>provided</scope><br>
</dependency><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-parser-java</artifactId><br>
<version>${forge.version}</version><br>
<scope>provided</scope><br>
</dependency><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-test-harness</artifactId><br>
<version>${forge.version}</version><br>
<scope>test</scope><br>
</dependency><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-shell</artifactId><br>
<version>${forge.version}</version><br>
<scope>test</scope><br>
</dependency><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-javaee-impl</artifactId><br>
<version>${forge.version}</version><br>
<scope>test</scope><br>
</dependency><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-parser-java-api</artifactId><br>
<version>1.4.4-SNAPSHOT</version><br>
<scope>provided</scope><br>
</dependency><br>
<dependency><br>
<groupId>org.jboss.forge</groupId><br>
<artifactId>forge-parser-java</artifactId><br>
<version>1.4.4-SNAPSHOT</version><br>
<scope>provided</scope><br>
</dependency><br>
</dependencies><br>
<repositories><br>
<repository><br>
<id>JBOSS_NEXUS</id><br>
<url><a href="http://repository.jboss.org/nexus/content/groups/public" target="_blank">http://repository.jboss.org/nexus/content/groups/public</a></url><br>
</repository><br>
</repositories><br>
<build><br>
<plugins><br>
<plugin><br>
<artifactId>maven-compiler-plugin</artifactId><br>
<version>2.3.2</version><br>
<configuration><br>
<encoding>UTF-8</encoding><br>
<source>1.6</source><br>
<target>1.6</target><br>
</configuration><br>
</plugin><br>
<plugin><br>
<groupId>org.codehaus.mojo</groupId><br>
<artifactId>jasperreports-maven-plugin</artifactId><br>
<version>1.0-beta-1</version><br>
<executions><br>
<execution><br>
<phase>prepare-package</phase><br>
<goals><br>
<goal>compile-reports</goal><br>
</goals><br>
</execution><br>
</executions><br>
<dependencies><br>
<dependency><br>
<groupId>net.sf.jasperreports</groupId><br>
<artifactId>jasperreports</artifactId><br>
<version>5.1.2</version><br>
<scope>compile</scope><br>
<exclusions><br>
<exclusion><br>
<artifactId>itext</artifactId><br>
<groupId>com.lowagie</groupId><br>
</exclusion><br>
</exclusions><br>
</dependency><br>
<dependency><br>
<groupId>commons-digester</groupId><br>
<artifactId>commons-digester</artifactId><br>
<version>1.8</version><br>
</dependency><br>
<dependency><br>
<groupId>commons-collections</groupId><br>
<artifactId>commons-collections</artifactId><br>
<version>3.2</version><br>
</dependency><br>
<dependency><br>
<groupId>com.lowagie</groupId><br>
<artifactId>itext</artifactId><br>
<version>2.1.7</version><br>
</dependency><br>
<dependency><br>
<groupId>commons-beanutils</groupId><br>
<artifactId>commons-beanutils</artifactId><br>
<version>1.5</version><br>
</dependency><br>
</dependencies><br>
<configuration><br>
<xmlValidation>true</xmlValidation><br>
<sourceDirectory>src/main/resources/reports</sourceDirectory><br>
<outputDirectory>target/classes/reports</outputDirectory><br>
</configuration><br>
</plugin><br>
</plugins><br>
</build><br>
</project><br>
<br>
</div>
<div class="gmail_extra">
<br>
<br>
<div class="gmail_quote">2014-02-10
10:53
GMT-02:00
Rafael Pestano
<span dir="ltr"><<a href="mailto:rmpestano@gmail.com" target="_blank">rmpestano@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>
<div>Hi guys,<br>
<br>
</div>
how can i add
a module
dependency to
my plugin?(in
forge 1.x)<br>
<br>
</div>
<div>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].<br>
<br>
</div>
<div>in my
pom.xml i use
<dependency><br>
<groupId>org.eclipse.tycho</groupId><br>
<artifactId>org.eclipse.jdt.core</artifactId><br>
<version>3.9.1.v20130905-0837</version><br>
<scope>provided</scope>
tried compile
also<br>
</dependency><br>
<br>
</div>
<div>but i
receive
***ERROR***
Exception
encountered:
(type "set
VERBOSE false"
to disable
stack traces)<br>
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)]<br>
</div>
<div><br>
</div>
<div>if i
add(manually)
org.eclipse.javaparser
module
dependency in
my plugin
module.xml
everything
works.<br>
<br>
How can i tell
forge that i
need that
dependency?<br>
</div>
<br clear="all">
<div>
<div>
<div> Thanks
in advance<br>
<br>
[1]<a href="http://forge.jboss.org/docs/plugin_development/reference-libraries.html" target="_blank">http://forge.jboss.org/docs/plugin_development/reference-libraries.html</a><span><font color="#888888"><br>
</font></span></div>
<span><font color="#888888">
<div>-- <br>
<div dir="ltr">
<a href="http://www.advancedit.com.br/" target="_blank"><span style="text-decoration:none"></span></a><span></span><span><span style="color:rgb(192,192,192)">Att, </span><br style="color:rgb(192,192,192)">
<br style="color:rgb(192,192,192)">
<span style="color:rgb(192,192,192)">Rafael
M. Pestano</span><br style="color:rgb(192,192,192)">
<br style="color:rgb(192,192,192)">
<span style="color:rgb(192,192,192)">Desenvolvedor
Java Cia. de
Processamento
de Dados do
Rio Grande do
Sul</span><br style="color:rgb(192,192,192)">
<span style="color:rgb(192,192,192)">Graduando
em Ciência da
Computação
UFRGS</span></span>
<div><a href="http://conventions.github.io/home/" target="_blank">http://conventionsframework.org</a><br>
<div>
<div><font color="#c0c0c0"><a href="http://rpestano.wordpress.com/" target="_blank">http://rpestano.wordpress.com/</a></font></div>
<div><span style="color:rgb(192,192,192)">@realpestano</span></div>
</div>
</div>
</div>
</div>
</font></span></div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
<div dir="ltr"><a href="http://www.advancedit.com.br/" target="_blank"><span style="text-decoration:none"></span></a><span></span><span><span style="color:rgb(192,192,192)">Att,
</span><br style="color:rgb(192,192,192)">
<br style="color:rgb(192,192,192)">
<span style="color:rgb(192,192,192)">Rafael
M. Pestano</span><br style="color:rgb(192,192,192)">
<br style="color:rgb(192,192,192)">
<span style="color:rgb(192,192,192)">Desenvolvedor
Java Cia. de
Processamento
de Dados do
Rio Grande do
Sul</span><br style="color:rgb(192,192,192)">
<span style="color:rgb(192,192,192)">Graduando
em Ciência da
Computação
UFRGS</span></span>
<div><a href="http://conventions.github.io/home/" target="_blank">http://conventionsframework.org</a><br>
<div>
<div><font color="#c0c0c0"><a href="http://rpestano.wordpress.com/" target="_blank">http://rpestano.wordpress.com/</a></font></div>
<div><span style="color:rgb(192,192,192)">@realpestano</span></div>
</div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<div>
<pre>_______________________________________________
forge-dev mailing list
<a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a></pre>
</div>
</blockquote>
<br>
</div>
<br>
_______________________________________________<br>
forge-dev
mailing list<br>
<a href="mailto:forge-dev@lists.jboss.org" target="_blank"></a></blockquote></div></div></div></div></blockquote></div></div></div></blockquote></div></div></div>
</blockquote></div></div></div></div></blockquote></div></div></blockquote></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></blockquote></div></div></blockquote></div></blockquote>
</div></div></blockquote></blockquote></div></blockquote></div></div></div></blockquote></div></blockquote></div></div></blockquote></div></blockquote></div></div></blockquote></div></div></div></blockquote></div></div></div>
</div>...<br><br>[Mensagem cortada] </blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div dir="ltr"><a href="http://www.advancedit.com.br/" target="_blank"><span style="text-decoration:none"></span></a><span></span><span><span style="color:rgb(192,192,192)">Att, </span><br style="color:rgb(192,192,192)">
<br style="color:rgb(192,192,192)"><span style="color:rgb(192,192,192)">Rafael M. Pestano</span><br style="color:rgb(192,192,192)"><br style="color:rgb(192,192,192)"><span style="color:rgb(192,192,192)">Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul</span><br style="color:rgb(192,192,192)">
<span style="color:rgb(192,192,192)">Graduando em Ciência da Computação UFRGS</span></span><div><a href="http://conventions.github.io/home/" target="_blank">http://conventionsframework.org</a><br><div><div><font color="#c0c0c0"><a href="http://rpestano.wordpress.com/" target="_blank">http://rpestano.wordpress.com/</a></font></div>
<div><span style="color:rgb(192,192,192)">@realpestano</span></div></div></div></div>
</font></span></div></div></div></div>
<br>_______________________________________________<br>
forge-dev mailing list<br>
<a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>
"Simpler is better."
</div>