Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] For Maven users: Questions about versions and Eclipse

Basically, I'm trying to figure out the "version" I should use when publishing OSGi artifacts to Maven. P2 seems to expect a filename that reflects the bundle-name and bundle-version specified in the manifest. It looked like Maven was doing the same thing when publishing an artifact, but it sounds like this may be an internal repository name.

Ultimately, I generate bundles, then publish them to three distribution mechanisms; zip installer (for web download as POJO), P2 for Eclipse, and a Maven repo for everyone else. I want to make certain that the objects retrieved by users are the same despite the delivery mechanism, and they work as expected for the respective systems as well.

The basic issue is whether an artifact say org.eclipse.snazzy_1.2.3.v201110040823.jar should be published in maven using 1.2.3.v201110040823 as the version to retain artifact integrity, or if artifact integrity isn't an issue (because the filename will be retained irregardless) and 1.2.3-v201110040823 should be used to allow version ranges and other Maven functionality (ie. use what Maven expects).

-Eric

On 08/11/2011 2:57 PM, Igor Fedorenko wrote:
What is the problem you are trying to solve?

--
Regards,
Igor

On 11-11-08 10:54 AM, Eric Gwin wrote:
Hi,

I'm trying to figure out if there is concensus at Eclipse regarding the
versioning of bundles in a Maven repository.

OSGi/Eclipse requires <major>.<minor>.<service>.<qualifier> where the
qualifier is some string designation for the build. However, Maven users
utilizing "version ranges" would require usage of the Maven standard of
<major>.<minor>.<revision>-[qualifier/buildno].

Some experimentation on my part shows that Maven renames objects based
upon the artifactId and versionId when publishing. I haven't confirmed
whether they are renamed back when retrieved for a build. However, to be
compatible with Eclipse they will need to retain the
<bundle_name>_<M>.<m>.<s>.<qualifier>.jar naming. Do they? Am I wrong?
Since I don't use Maven for building I cannot test it easily.

Now Tycho utilizes P2 repositories, so the question is mostly
sidestepped, but not all projects use Tycho to generate their bundles,
not all projects generate only eclipse plugins, and not all teams
publish only to P2. I'm wondering how other teams deal with the
disparity between versioning schemes.

I don't want to accommodate Maven publishing standards only to break the
artifacts published (Publishing to Maven shouldn't preclude the bundles
use in Eclipse). However, given the growing number of bugs I'm receiving
regarding Maven support, I believe that ignoring Maven methodology isn't
in the best interest of the project as a whole.

Any comments/suggestions?

Thanks.

-Eric
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user



Back to the top