Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Platform » New plugin module says "out of sync" when trying to add plugin dependency for new module
New plugin module says "out of sync" when trying to add plugin dependency for new module [message #1720914] Thu, 21 January 2016 19:05 Go to next message
David M. Karr is currently offline David M. KarrFriend
Messages: 800
Registered: July 2009
Senior Member
I inherited a large codebase for an Eclipse plugin, and many of the concepts of Eclipse plugin development are new to me.

I discovered that one of the plugin subprojects just had a small set of jars stored in a "lib" folder, with "Bundle-ClassPath" entries referencing those jars. I need to move away from that and replace the "hard-stored" jars with Maven GAV references. I've read about the issues with Tycho doing "p2-first" or "pom-first", which is mostly described here. I sort of understand the basic process.

For some context, the original module with the hard-stored jars is called "core" (full name is a little longer than that). I defined a new module called "maventhirdparty", and here's an excerpt of its "pom.xml" that shows the dependencies that need to be bundled, and the instructions provided to the maven-bundle-plugin:

  <dependency>
  	<groupId>org.antlr</groupId>
  	<artifactId>antlr4-runtime</artifactId>
  	<version>4.0</version>
  </dependency>
  <dependency>
  	<groupId>org.mapdb</groupId>
  	<artifactId>mapdb</artifactId>
  	<version>1.0.4</version>
  </dependency>
  <dependency>
  	<groupId>org.opendaylight.yangtools</groupId>
  	<artifactId>yang-model-api</artifactId>
  	<version>0.6.1</version>
  </dependency>
  <dependency>
  	<groupId>org.opendaylight.yangtools</groupId>
  	<artifactId>yang-parser-impl</artifactId>
  	<version>0.6.1</version>
  </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Embed-Dependency>
              antlr4-runtime, mapdb, yang-model-api, yang-parser-impl
            </Embed-Dependency>
            <_exportcontents>
              org.opendaylight.yangtools.*, org.antlr.*, org.mapdb.*
            </_exportcontents>
            <Bundle-ClassPath>{maven-dependencies}</Bundle-ClassPath>
            <Embed-Transitive>true</Embed-Transitive>
            <Embed-Directory>jars</Embed-Directory>
            <_failok>true</_failok>
            <_nouses>true</_nouses>
          </instructions>
        </configuration>
      </plugin>
    </plugins>


I ran the build for this module, and then inspected the resulting jar and manifest, and it seemed ok to me.

At this point, I tried to edit the plugin dependencies of the "core" module. When the "add" dialog came up, it listed at the top the modules in my project, including the new one, but that line had a red X on it, and it had "(out of sync)" at the end of the row.

This is the only error marker I can find anywhere, and there is no information more than the "(out of sync)" on the row. This is what it looks like:
http://ibin.co/2UFfyfaEQHxP

Despite this having an error marker, it lets me add the dependency, but the red mark comes with it, displaying on the entry in both the "Required Plug-ins" list, and in the properties detail for that new row. There is no additional information or error message, not even in the "Problems" view for either the referencing or referenced module.

What's going on here?
Re: New plugin module says "out of sync" when trying to add plugin dependency for new modu [message #1721014 is a reply to message #1720914] Fri, 22 January 2016 15:12 Go to previous messageGo to next message
David M. Karr is currently offline David M. KarrFriend
Messages: 800
Registered: July 2009
Senior Member
And probably unsurprisingly, when I run the main build, I get the following error:
[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: com.cisco.yangide.core 1.1.1.qualifier
[ERROR]   Missing requirement: com.cisco.yangide.core 1.1.1.qualifier requires 'bundle com.cisco.yangide.maventhirdparty 1.1.1' but it could not be found
Re: New plugin module says "out of sync" when trying to add plugin dependency for new modu [message #1721029 is a reply to message #1721014] Fri, 22 January 2016 16:59 Go to previous messageGo to next message
David M. Karr is currently offline David M. KarrFriend
Messages: 800
Registered: July 2009
Senior Member
I did notice the following very old post about my "(out of sync)" problem, but my attempts to "reload" the target platform haven't done anything.

https://www.eclipse.org/forums/index.php/m/1721028/#msg_1721028 .
Re: New plugin module says "out of sync" when trying to add plugin dependency for new modu [message #1721038 is a reply to message #1721029] Fri, 22 January 2016 22:17 Go to previous message
David M. Karr is currently offline David M. KarrFriend
Messages: 800
Registered: July 2009
Senior Member
Hmph. I restarted Eclipse, and now the "(out of sync)" error is gone. Whatever.

However, I'm still left with the "missing requirement" error, which is different from the original subject. At this point in the build, the "com.cisco.yangide.maventhirdparty" project has already been built. I inspected the jar file and manifest that produced, and it appears to be fine. How can I get this to be more verbose about what it's looking at (adding "-X" didn't help)?
Previous Topic:Plugin "out of sync"
Next Topic:How to configure testng with excel
Goto Forum:
  


Current Time: Tue Mar 19 09:08:42 GMT 2024

Powered by FUDForum. Page generated in 0.01939 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top