On Sun, Nov 27, 2016 at 1:19 PM, Benedikt Ritter <brit...@apache.org> wrote:

> Hello Gilles,
>
> Gilles <gil...@harfang.homelinux.org> schrieb am So., 27. Nov. 2016 um
> 22:11 Uhr:
>
> > On Sun, 27 Nov 2016 11:52:12 -0600, Matt Sicker wrote:
> > > I think everything would be much easier to just maintain one version
> > > per
> > > repository. Besides, it would get confusing having multiple git tags
> > > or svn
> > > tags for different component versions, especially if a repository
> > > uses
> > > short tag names that only include the version number and not the
> > > component
> > > name.
> >
> > I do not follow what is being discussed here.
> >
> > In the "Commons Math" git repository, there is "MATH_3_X" branch that
> > was explicitly created to release "another" version.
> >
> > My proposal is simply to extend it to each module, reflecting the
> > the actual contents (what else?).
> > A common version numbering is just misleading.
>
>
> > I don't see what can of worms this suggestion is opening.
> > On the other hand, I do see the nuisances caused by forcing the same
> > version number on loosely related modules (one of which is reminded
> > by Stian, quoted below).
> >
>
> You have asked for opinions - be prepared people don't agree with you.
>
>
> >
> >  From the outset, I've suspected that "RNG Utils" should be a separate
> > component because of the different set of skills required to design,
> > implement and test, say, "commons-rng-core" and "commons-rng-sampling".
> >
> > Upon being told that such a component would not be accepted, I resorted
> > to make it a module, along with others, which were a Good Thing (TM)...
> >
> > But now I'm being told that having modules does not provide any more
> > flexibility than a monolithic project!
> >
> > And then, to revert the changes brought about to achieve
> > modularization!
> > If it's a joke, it is not funny.
> >
> > IIUC, those issues were raised:
> >   * Users could be at a loss as to which modules they can use together.
> >     -> Isn't this solved by automatic dependency management nowadays?
> >   * Users would not know what are the most recent release of each module
> >     -> This would be mentioned in the release notes: even if a module is
> >      not released (because it did not change), its latest version would
> >      be referenced.
> >   * Developers would not know what/where to fix.
> >     -> Isn't that the purpose of having a source control system?
> >
> > I've still to see one use-case where it will cause a problem, while
> > I've described several where the independent version numbering
> > provides advantages.
> >
> > Incidentally, this is all supported by maven: IIUC, each modules has
> > its
> > own version number, and it cannot be inherited from the parent project.
> >
>
> Just because it is supported doesn't mean it is a good idea.
>

<IMO>
Let's keep in mind the context here: This is a component in Apache Commons,
not a TLP. Therefore, IMO, we should match user's expectations of
simplicity, which is one repo and version for the component, multi-module
or not, just like all of the other Apache Commons components, where all
Commons multi-module components are released as one version.
</IMO>

Gary




>
>
> >
> > Regards,
> > Gilles
> >
> > >
> > > On 27 November 2016 at 07:36, Rob Tompkins <chtom...@gmail.com>
> > > wrote:
> > >
> > >> I forgot to mention that it seems to me that this (a singly versions
> > >> block
> > >> of code) is the fundamental "meaning" of what a repository is. I
> > >> mean that
> > >> in the sense that if you want separate separately versioned
> > >> components,
> > >> that is a direct argument for separate repositories.
> > >>
> > >> With that said, I'm not opposed to the conversation of enabling
> > >> separately
> > >> versioned portions of rng by pulling them out into other repos, but
> > >> that
> > >> bumps into the definition of a "commons" component.
> > >>
> > >> Either way these are just thoughts and not hard and fast rules. I
> > >> don't
> > >> feel overly tied to any position here.
> > >>
> > >> Cheers,
> > >> -Rob
> > >>
> > >> > On Nov 27, 2016, at 8:12 AM, Benedikt Ritter <brit...@apache.org>
> > >> wrote:
> > >> >
> > >> > I'm also in the "one-version per repository"-camp.
> > >> >
> > >> > Benedikt
> > >> >
> > >> > Stian Soiland-Reyes <st...@apache.org> schrieb am So., 27. Nov.
> > >> 2016 um
> > >> > 11:48 Uhr:
> > >> >
> > >> >> I think Gilles' reasoning is sound for semantic versioning and
> > >> releases, in
> > >> >> line with OSGi principles. However I think that would be better
> > >> suited
> > >> in a
> > >> >> large or enterprise project with mainly internal usersnpf the
> > >> libraries
> > >> >> that can play along, not in Apache Commons which are making
> > >> general
> > >> >> availability libraries for the whole Java community.
> > >> >>
> > >> >> So I'm afraid I agree with the quorum here, let's keep it simple
> > >> with a
> > >> >> single version across modules - it is so much easier for
> > >> downstream
> > >> users
> > >> >> if we make the version in the distribution match the tag, which
> > >> should
> > >> >> match every module (and also the OSGi package version)
> > >> >>
> > >> >> Users with Maven can then just have a single $commons.foo.versiom
> > >> property
> > >> >> to update and it all plays along, as tested in our release
> > >> candidate.
> > >> >>
> > >> >> Having to figure out the internal release policies and selecting
> > >> across
> > >> >> many different source releases is not just a barrier to use, but
> > >> also
> > >> for
> > >> >> inviting new collaborators, they may struggle to know what to
> > >> rebuild
> > >> when
> > >> >> fixing a bug.
> > >> >>
> > >> >> Another convenience argument for co-releasing is that the
> > >> <dependencies>
> > >> >> section will pull the latest friends, users won't have to manage
> > >> each
> > >> >> version to update, unless they want to deliberately stay behind
> > >> "at own
> > >> >> risk" (Commons won't have tested that combination)
> > >> >>
> > >> >> It does mean we sometimes get "pointless" upgrades on some
> > >> modules where
> > >> >> nothing has changed. As long as we are not claiming
> > >> major/breaking
> > >> changes,
> > >> >> and don't use restricting (version,ranges] I don't think there is
> > >> a big
> > >> >> problem with that.
> > >> >>
> > >> >> The cases Gilles mention that is very much a potential scenario
> > >> is
> > >> where a
> > >> >> -utils module does breaking changes, but the -api module has not
> > >> broken
> > >> >> anything. I think here we can be more lax about our
> > >> package/artifact
> > >> name
> > >> >> change rule, so you *could* release foo-api 2.0.0 and foo-utils2
> > >> 2.0.0.  If
> > >> >> foo-api later breaks, that would be foo-api3 3.0.0 (there was
> > >> never a
> > >> >> foo-api2) and foo-utils3 3.0.0 (not the very confusing double
> > >> versioned
> > >> >> foo3-utils2! )
> > >> >>
> > >> >>> On 26 Nov 2016 10:49 pm, "Jörg Schaible" <joerg.schai...@gmx.de>
> > >> wrote:
> > >> >>>
> > >> >>> Gary Gregory wrote:
> > >> >>>
> > >> >>>> On Sat, Nov 26, 2016 at 9:06 AM, Jörg Schaible
> > >> <joerg.schai...@gmx.de
> > >> >
> > >> >>>> wrote:
> > >> >>>>
> > >> >>>>> Sorry, for me this is going down the wrong road. For me
> > >> different
> > >> >>>>> versions mean different components. Allowing multiple versions
> > >> for
> > >> >>>>> modules in one component will exactly open the can of worms
> > >> Gilles
> > >> >>>>> described below. We had that already with Jakarta.
> > >> >>>>>
> > >> >>>>
> > >> >>>> +1 and we do not need a Commons within Commons.
> > >> >>>>
> > >> >>>> For the case:
> > >> >>>>
> > >> >>>>  commons-modproj-foo-1.0
> > >> >>>>  commons-modproj-bar-1.1
> > >> >>>>
> > >> >>>> You'd just release
> > >> >>>>
> > >> >>>>  commons-modproj-foo-1.0
> > >> >>>>  commons-modproj-bar-1.0
> > >> >>>>
> > >> >>>> and then
> > >> >>>>
> > >> >>>>  commons-modproj-foo-1.1
> > >> >>>>  commons-modproj-bar-1.1
> > >> >>>>
> > >> >>>> If nothing has changed in commons-modproj-foo between 1.0 and
> > >> 1.1,
> > >> then
> > >> >>>> that's fine. You just get all your matching modules and you are
> > >> done.
> > >> >>>>
> > >> >>>>
> > >> >>>>> I still propose commons-rng-tools as separate component.
> > >> Because of
> > >> >> this
> > >> >>>>> mail. KISS.
> > >> >>>>>
> > >> >>>>
> > >> >>>> I'm not even in favor of that. Commons is already loose
> > >> ecosystem of
> > >> >>>> components, having sibling components will fog things up IMO.
> > >> It's not
> > >> >>>> just what's compatible with what according to some guidelines,
> > >> it's
> > >> >> more
> > >> >>>> what has been tested with what so I can know for sure what will
> > >> work.
> > >> >>> When
> > >> >>>> I get Commons Foo 1.3 and it has 10 modules, I know it's all
> > >> MEANT to
> > >> >>> work
> > >> >>>> together, I KNOW it was all BUILT and TESTED together.
> > >> >>>>
> > >> >>>> Just keep it all in one component and make user's life easy.
> > >> >>>
> > >> >>> We already have dbcp depending heavily on pool.
> > >> >>>
> > >> >>> - Jörg
> > >> >>>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > For additional commands, e-mail: dev-h...@commons.apache.org
> >
> >
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to