2

I build an Eclipse plug-in project with Tycho.

I got this error message.

[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: org.sample.ide.core 1.0.0.qualifier
[ERROR]   Missing requirement: org.sample.ide.core 1.0.0.qualifier requires 'bundle org.sample.ide.common 1.0.0' but it could not be found

org.sample.ide.core-1.0.0.qualifier has org.sample.ide.common-1.0.0.qualifier as required bundle.

When I export the plug-in project with the Eclipse PDE export function, the dependent projects are recognized inside the same workspace.

And my manifest.mf has version like 1.0.0.qualifier, and my pom.xml has 1.0.0-SNAPSHOT. Is that problem?

skolima
  • 31,963
  • 27
  • 115
  • 151

2 Answers2

3

Having artifacts with .qualifier versions is supported, so this is not the cause of your problem.

However I am not sure to what extend Tycho also supports .qualifier replacement in dependencies, e.g. Require-Bundle headers. (At least, this is buggy.) So you should try to build your project with a dependency to version 1.0.0 instead of 1.0.0.qualifier.

oberlies
  • 11,503
  • 4
  • 63
  • 110
2

Tycho replaces the .qualifier with a timestamp or fixed string in the reactor build within all manifest files. It resolves the files from the repositories defined from the target files attached, and from the local repository. If none of these contain an exactly matching dependency, tycho will not succeed with the build. Note that the resolution of PDE export is based on the current target set in Eclipse, and that PDE will replace the qualifier for all bundles open in the workspace. Tycho does not know of these, its scope is what is included in the reactor during the build.

Jörn Guy Süß
  • 1,408
  • 11
  • 18