On Tue, 16 Aug 2016 13:42:53 +0200, Jörg Schaible wrote:
Gilles wrote:
On Tue, 16 Aug 2016 09:10:06 +0200, Jörg Schaible wrote:
Hi Gilles,
Gilles wrote:
Hi.
Suppose that
commons-rng-core-1.0.jar
depends on JDK 1.6.
And that we wish to offer utilities (e.g. random strings) and
other
syntactic sugar (such as Java 8 streams) in
commons-rng-utils-1.0.jar
that would depend on JDK 1.8.
Is it possible?
Yes. Have a look at XStream
(https://github.com/x-stream/xstream/blob/master/xstream/pom.xml),
it
already does this (since
years), currently to support lambda expressions. It declarers
simply
a
second compiler execution. Note, there's a bug in Maven that forces
you to
define as many excludes in the second execution as in the first
one.
IIUC, it is not exactly what I had in mind, which would amount to
having two separate JARs: "core" and "utils".
"core" is anticipated to be stable (hopefully) while "utils" could
evolve faster and possibly in a non-compatible way.
I.e. we could have
core-1.0
utils-1.0
depends on core-1.0
utils-1.1
depends on core-1.0
utils-2.0
depends on core-1.0
core-1.1 (e.g. after adding a new RNG implementation)
utils-2.1
depends on core-1.1
Well, a commons component has *one* version. You can introduce
another
artifact (just like Artem proposed), but there's no independent
release
cycle.
That's what I was afraid of; in this case, it would defeat the purpose:
We shouldn't have to release "core-2.0" (thus a with change of the
top-level package name), just because we want to fix something in the
"utils" code.
Given this situation, would it be possible to consider a separate
component: "commons-rng-utils"?
Regards,
Gilles
Cheers,
Jörg
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]