thank you for your answer. Unfortunately, I did not completely
understand what you wanted to tell me. If you run "mvn install" on my
sample com.example.logging project, the resulting
"com.example.logging-1.6.1-SNAPSHOT-sources.jar" does have an OSGi
bundle manifest. In fact that's exactly the benefit of using the
tycho-source-plugin instead of packing the jar manually via the
maven-jar-plugin plugin. The manifest correctly identifies the bundle
as source bundle to the com.example.logging bundle contained in the
"com.example.logging-1.6.1-SNAPSHOT.jar" which itself is provided with
an OSGi bundle manifest.
What exactly do you mean by "has to be added as feature maven dependency"?
In the com.example.logging.feature project, I declared the dependency
to the "com.example.logging-1.6.1-SNAPSHOT.jar" as follows:
I can then list the com.example.logging plugin in the feature.xml and
Tycho builds the feature correctly.
In contrary, with the com.example.logging.source.feature project this
does not work, since Tycho obviously does not correctly resolve the
dependency to the "com.example.logging-1.6.1-SNAPSHOT-sources.jar" in
which the com.example.logging.source plugin is to be found.
Of course my sample setup is a bit special as I am wrapping
third-party libraries in OSGi bundles. But the use case of resolving
binary and source bundles built with Tycho is a common one, I guess.
How would I work with such binary and source bundles if Tycho could
not resolve them?
Any hints, comments, suggestions, ...?
Thank you very much for all your help so far.
Post by Igor Fedorenko
Sources jar has to have specific OSGi bundle manifest and has to be
added as feature maven dependency. I am not sure it is possible to
create sources jar with custom manifest, but I am not 100% sure about that.
Post by Timo Rohrberg
this is a more general form of my original question and problem
The latter is obsolete now.
I am successfully building binary and sources artifacts for a bundle
which wraps third party libraries. Both, the normal and the sources
artifact, are correctly deployed to my local Maven repository. I then
build two feature projects with Tycho, one including the plugin from
the binary artifact, and the other including it from the sources
artifact. Building the first one works, but when trying to build the
second one, Tycho obviously cannot resolve the sources artifact
correctly and thus stops with a "Missing requirement" exception. The
com.example.logging.source plugin referred to by the feature.xml
cannot be found. My idea was to explicitely set the "sources"
classifier when declaring the pom-Dependency in the feature project.
But unfortunately this also doesn't help.
Do you have any idea? Thank you for any hints, advices, etc.
tycho-user mailing list
tycho-user mailing list