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: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to