I would deal with this same way osgi does: guidelines, annotations, tools.

example:
* be clear if your jar is API artifact vs API consumer artifact vs API
provider artifact.
* @ConsumerType and @ProviderType will tell people what to expect.
* enforcement plugins will quickly educate about the distinctions.

since maven is "convention over configuration", this should work.

"Have you tried " - not yet, about to start :-). please share your
experience.

-------- Original Message --------
Subject: Re: RFP: Version Range Policy
From: David Jencks <david_jen...@yahoo.com>
To: Maven Developers List <dev@maven.apache.org>
Date: Wed 10 Apr 2013 05:54:53 PM CDT
> so you are basically saying all packages are exported.  I think you will find 
> that few meaningful code changes will result in a  non-major-version change 
> whether or not the intended api changes.  Have you tried this out with some 
> real non-osgi projects to see what versions you'd come up with and whether 
> they correspond in any way with what the project developers think the 
> versions are?
>
> thanks
> david jencks
>
> On Apr 10, 2013, at 3:23 PM, Andrei Pozolotin <andrei.pozolo...@gmail.com> 
> wrote:
>
>> I am more optimistic then you. here is the idea
>> https://github.com/barchart/barchart-version-tester/wiki/Maven-OSGI
>>
>> -------- Original Message --------
>> Subject: Re: RFP: Version Range Policy
>> From: David Jencks <david_jen...@yahoo.com>
>> To: Maven Developers List <dev@maven.apache.org>
>> Date: Wed 10 Apr 2013 12:44:19 PM CDT
>>> Can you explain how you think osgi semantic versioning can reasonably be 
>>> applied to non-osgi-bundles?  It typically takes a project a year or two to 
>>> figure out what semantic versioning means when converting a project to 
>>> osgi, I think you would find that trying to apply semantic versioning to 
>>> non-osgi projects will mean that every update is a major version change.
>>>
>>> It would be nice if all projects converted to osgi and used semantic 
>>> versioning correctly, but I don't think that is going to happen any time 
>>> soon and I don't think the majority of maven projects will be osgi any time 
>>> soon.
>>>
>>> thanks
>>> david jencks
>>> On Apr 10, 2013, at 10:27 AM, Andrei Pozolotin <andrei.pozolo...@gmail.com> 
>>> wrote:
>>>
>>>>   *Maven Developers*
>>>>
>>>>   1) This is a formal request to resolve long standing version range
>>>>   policy problem in maven,
>>>>   expressed for example in the following ticket:
>>>>   http://jira.codehaus.org/browse/MNG-3092
>>>>
>>>>   THE PROBLEM: LACK OF VERSION RANGE POLICY.
>>>>
>>>>   2) I there are no better ideas, I suggest Maven to adopt OSGI
>>>>   Semantic Version Guidelines.
>>>>   https://github.com/barchart/barchart-version-tester/wiki/Version-Policy
>>>>
>>>>   3) I have working prototype based on maven 3.0.4 with back port of
>>>>   aether 0.9.0.M2
>>>>   specifically applied to karaf use case, which could be generalized.
>>>>   https://github.com/barchart/barchart-maven-karaf-plugin
>>>>
>>>>   4) there is an Aries version check plugin, that shows generic java
>>>>   binary compatibility checks
>>>>   which should be part of the new maven semantic version contract.
>>>>   https://github.com/apache/aries/tree/trunk/versioning
>>>>
>>>>   Thank you,
>>>>
>>>>   Andrei
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>>> For additional commands, e-mail: dev-h...@maven.apache.org
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

Reply via email to