[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [m2e-dev] semantic versioning / Re: Starting a 2.0 with breaking changes soon?
|
> OSGi misses an important point about "internal APIs"
There is no such thing as "internal API", you either export a package
than it is visible to others or not.
> Or maybe there is some other mechanism I've been missing to cover
that case?
requiring such a construct is more often an indication that your
API/Bundle is not well shaped. "Internal API" is just the eclipse term
of "its useful but I don't want to maintain backward compatibility here"
that's a complete different story.
In a well shaped system there is no need for such constructs as
everything that is internal is simply never exported.
> Seems like the Eclipse recommandations are very close to
So why not switching then to the more broad adopted terms then? Semver
is not only a matter of package export but also proper version imports
and eclipse is simply not respect that part of semver ..
Am 17.02.22 um 11:22 schrieb Mickael Istria:
On Thu, Feb 17, 2022 at 11:05 AM Christoph Läubrich
<laeubi@xxxxxxxxxxxxxx <mailto:laeubi@xxxxxxxxxxxxxx>> wrote:
not really, we just "bump to current release version", also "artifact
level" is way to broad to be really useful.
No, some people do that. But it's not a requirement nor what's
preferred. I personally always increase the micro segment only whenever
possible. However, bumping by +0.0.1 or +0.0.N doesn't make a difference
in practice, that why both approaches are tolerated in m2e.
What need to be avoided is bumping by +0.1.0 where +0.0.N would be
sufficient.
In fact the artifact version
should be the maximum version of all export-package versions.
Major and minor yes, micro no.
probably yes, but it seems it is not used anywhere.
People don't using a standard solution is rarely resolved by building
another custom solution, It just mean the people don't care about this
problem enough to try mitigate it. It's a behavioral problem (usually
not important enough to be worrying) of consumer, not a technical
limitation causing that.
We should also
strictly discourage using require-bundle as it hinder us to move code
around.
Right, but it's not m2e's fight. I think it's more PDE's duty to lead
towards that good practice. you may want to revive
https://bugs.eclipse.org/bugs/show_bug.cgi?id=284731
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=284731> to achieve that goal.
We should clearly state then that this "release-version" has nothing to
do with the bundle/package version.
Right. Any idea where this could fit (ie where would that target
audience stumble upon this info)?
"exported non-internal packages" are a real strange thing, we should
not
use that as this is complete eclipse specific.
Because it's focused on the grain on 1 bundle and not of a whole
software piece, OSGi misses an important point about "internal APIs"
which are things you want to expose to bundles that are build and
shipped and tested together but don't want to maintain as a public API.
There is a real need for it, and the x-internal/x-friends is so far the
only viable solution as far as I'm aware.
Or maybe there is some other mechanism I've been missing to cover that case?
- https://enroute.osgi.org/FAQ/210-semantic_versioning.html
<https://enroute.osgi.org/FAQ/210-semantic_versioning.html>
[...]
Sure Eclipse always has had its own "standards", but here I'm
referencing to what most developers understand when using the term
semantic versioning :-)
Seems like the Eclipse recommandations are very close to
https://enroute.osgi.org/FAQ/210-semantic_versioning.html
<https://enroute.osgi.org/FAQ/210-semantic_versioning.html> with extra
stuff about extension points. So basically, Eclipse is doing proper
semver already.
_______________________________________________
m2e-dev mailing list
m2e-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/m2e-dev