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@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@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@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@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@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@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@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@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@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@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@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@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, 


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@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@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@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@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@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@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@redhat.com>:

Hi Rafael,

Why do you need to access  org.eclipse.jdt.core.dom.CompilationUnit? You should only use the classes in java-parser-api that is already provided when you add a dependency to forge-shell-api. That said, forge-shell-api with the provided scope is the only dependency your module might need.

See https://github.com/forge/core/blob/1.x/dev-plugins/pom.xml as an example.

Best Regards,

George


On 10-02-2014 11:14, Rafael Pestano wrote:
here is complete pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.ufrgs.rmpestano</groupId>
  <artifactId>intrabundle</artifactId>
  <version>0.1-SNAPSHOT</version>
  <name>intrabundle</name>
  <properties>
    <forge.version>1.4.4.Final</forge.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <forge.api.version>1.4.4.Final</forge.api.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-shell-api</artifactId>
      <version>${forge.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-maven-api</artifactId>
      <version>${forge.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-javaee-api</artifactId>
      <version>${forge.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>net.sf.jasperreports</groupId>
      <artifactId>jasperreports</artifactId>
      <version>5.1.2</version>
      <exclusions>
        <exclusion>
          <artifactId>itext</artifactId>
          <groupId>com.lowagie</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-collections</artifactId>
          <groupId>commons-collections</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jdtcore</artifactId>
          <groupId>eclipse</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.1</version>
    </dependency>
    <dependency>
      <groupId>com.lowagie</groupId>
      <artifactId>itext</artifactId>
      <version>2.1.7</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>org.eclipse.jdt.core</artifactId>
      <version>3.9.1.v20130905-0837</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-parser-java</artifactId>
      <version>${forge.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-test-harness</artifactId>
      <version>${forge.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-shell</artifactId>
      <version>${forge.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-javaee-impl</artifactId>
      <version>${forge.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-parser-java-api</artifactId>
      <version>1.4.4-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.forge</groupId>
      <artifactId>forge-parser-java</artifactId>
      <version>1.4.4-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <repositories>
    <repository>
      <id>JBOSS_NEXUS</id>
      <url>http://repository.jboss.org/nexus/content/groups/public</url>
    </repository>
  </repositories>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <encoding>UTF-8</encoding>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jasperreports-maven-plugin</artifactId>
        <version>1.0-beta-1</version>
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>compile-reports</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>5.1.2</version>
            <scope>compile</scope>
            <exclusions>
              <exclusion>
                <artifactId>itext</artifactId>
                <groupId>com.lowagie</groupId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>commons-digester</groupId>
            <artifactId>commons-digester</artifactId>
            <version>1.8</version>
          </dependency>
          <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2</version>
          </dependency>
          <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.1.7</version>
          </dependency>
          <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.5</version>
          </dependency>
        </dependencies>
        <configuration>
          <xmlValidation>true</xmlValidation>
          <sourceDirectory>src/main/resources/reports</sourceDirectory>
          <outputDirectory>target/classes/reports</outputDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>



2014-02-10 10:53 GMT-02:00 Rafael Pestano <rmpestano@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?

--
Att,

Rafael M. Pestano

Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS



--
Att,

Rafael M. Pestano

Desenvolvedor Java Cia. de
...

[Mensagem cortada]  



--
Att,

Rafael M. Pestano

Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
Graduando em Ciência da Computação UFRGS

_______________________________________________
forge-dev mailing list
forge-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev



--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."