On Thu, Sep 12, 2019 at 5:24 PM Gilles Sadowski <gillese...@gmail.com>
wrote:

> Le jeu. 12 sept. 2019 à 20:28, Gary Gregory <garydgreg...@gmail.com> a
> écrit :
> >
> > On Thu, Sep 12, 2019 at 11:42 AM Gilles Sadowski <gillese...@gmail.com>
> > wrote:
> >
> > > Le jeu. 12 sept. 2019 à 17:32, Claude Warren <cla...@xenei.com> a
> écrit :
> > > >
> > > > The base code depended on commons-lang3 for building hashes.  Is this
> > > > acceptable or should the hash generation code from lang3 be cut and
> > > pasted
> > > > into the classes.  Not sure what the standard is in this project.
> > >
> > > There is no "standard".
> > > The least common denominator is "no dependency", not even towards
> > > other components of this "Commons" project (at the cost of duplication
> > > of code and/or API).
> > >
> >
> > Note that plenty of Commons components depend on other Commons
> components,
> > not just for testing. The most prominent example is Commons DBCP which
> > relies on Commons Pool; in which case duplicating code would be madness
> ;-)
>
> Good to hear.
>
> > Some Commons components are "higher" level, like Commons Configuration
> and
> > Commons VFS, and so depend on other Commons components and other 3rd
> party
> > libraries.
>
> Right. But for those, it's their purpose to provide a uniform interface to
> external APIs.
> What I had in mind however is the kind of reluctance that popped up,
> for example, when [Text] introduced functionality related to random
> numbers but would not tolerate a dependency on the API defined in
> [RNG] (even though it was defined in a maven module to not incur any
> unnecessary dependencies).
>
> > It is fair to say that other components we have like Commons Lang and
> > perhaps Commons IO are considered "low" level and do not depend on
> > anything. I would expect Commons Lang to ever depend on anything else
> > (except for testing of course.)
>
> Sure, [Lang] should not depend on anything.  But it also should not
> attempt to provide anything that would be better located in another
> component.  Again, RNG functionality is a case in point.
> Creating [Text] was a step in the right direction (i.s. stop the bloat).
>
> We don't look actively into defining/refining scopes for the components,
> and how to make them modular.  This should be a design requirement,
> rather than an afterthought.
>

Gilles,

Take a look at the PR, I added comments to allow the PR to have 0 deps.

Gary


>
> Gilles
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

Reply via email to