Question

I am creating some OSGI modules contains many plugin and features that require dependencies from p2 repo...

  • I use tycho with artifactory
  • In order to satisfy those dependencies , I add Kepler repo , ( tycho can't resolve dependencies from local repo) ...

my main pom.xml :

<repository>
<layout>p2</layout>
<id>kepler</id>
<url>http://download.eclipse.org/releases/kepler</url>
</repository>

And other artifactory local repo

<repository>
<id>central</id>
<url>{server.addr}/libs-release </url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
.......

all seem ok, except this error :

Caused by: java.lang.RuntimeException: No solution found because the problem is unsatisfiable.: [Unable to satisfy dependency from xx.xx.xx.xxx.xxx  to bundle org.eclipse.jet 1.1.1.; No solution found because the problem is unsatisfiable.] ???

How to find this dependency : org.eclipse.jet ??? Why tycho didn't find in Kepler p2?

Was it helpful?

Solution 2

I solved the problem...this is the solution , may be it will be useful for someone :

-First download org.eclipse.jet from (http://www.eclipse.org/modeling/m2t/downloads/?project=jet).

-Deploy "org.eclipse.jet_1.1.1.v201101311015.jar" in Artifactory ( libs-release-local)

-Artifactory will generate code to include for dependency :

<dependency>
<groupId>org.eclipse.jet</groupId>
<artifactId>org.eclipse.jet</artifactId>
<version>1.1.1</version>
</dependency>

-Add this dependency declaration in module's pom.xml file where we need jet (not in main pom.xml)

-Build project (i use Jenkins for that). -Success ...

Note that jet also need this dependency :

<dependency>
<groupId>org.eclipse.jet</groupId>
<artifactId>org.eclipse.jet.core</artifactId>
<version>1.2.1</version>
</dependency>

There are may better solutions for that, but for now i' ll use this.Based on some forum JET has been overtaken by more recent tools such as Xtend or Acceleo .. So Soon i ll switch to this new solutions ...

OTHER TIPS

org.eclipse.jet is not part of the Kepler p2 repository, as you can e.g. find out with this shell script:

eclipse -application org.eclipse.equinox.p2.director \
    -repository http://download.eclipse.org/releases/kepler \
    -list | grep -F 'org.eclipse.jet'

If you can find a p2 repository with that bundle, you could also you reference that p2 repository by adding it to the pom.xml in the same way as the Kepler repository.

http://www.eclipse.org/modeling/m2t/updates/ lists a few p2 repositories of the Modelling Project. Probably one of them also includes the bundle you want (and its dependencies).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top