I am a Maven user and we have custom plugins we wrote over at Apache
Commons and this type of change has been painful in the past, see
https://issues.apache.org/jira/browse/MNG-7316

I do not think we can make a blanket statement like "everything is
immutable" without causing a world of pain.

Gary

On Thu, May 19, 2022, 07:32 Doyon Sebastien <[email protected]> wrote:

> Hi Garry,
>
> I understand what you are saying. I though that there was a discussion
> about making the API immutable for mvn4. I also read that to modify some
> values on the API, the best practice was to replace the value (collection?)
> with a new one and not modify the actual one. What do you think?
>
> Regards
>
> > Le 19 mai 2022 à 13:23, Gary Gregory <[email protected]> a écrit :
> >
> > Bad idea unless you can look at each call site and _guarantee_ that you
> > want an immutable Collection instead of a mutable one... which I do not
> see
> > how you can do especially once a Collection escapes an API. Unless you're
> > ok with breaking behavioral compatibility...
> >
> > Gary
> >
> > On Thu, May 19, 2022, 02:34 Sebastien Doyon <[email protected]>
> > wrote:
> >
> >> Hi,
> >>
> >> Recently I found some small potential improvements that could help clean
> >> the maven code. I would be glad to contribute it back to my most useful
> >> Java project, if you find it of interest.
> >>
> >> The changes are mostly :
> >>
> >> - Use of Collections.emptyList() instead of new ArrayList() when
> possible.
> >> - Use of Collections.emptyMap() instead of new concrete Map object when
> >> possible
> >> - Use of Collections.singletonList() instead of new concrete List object
> >> when possible
> >> - Guarding logging statements with conditionals on isXXXXEnabled() to
> >> avoid garbage
> >> - Replacing StringBuilder or StringBuffer usage when + operator is more
> >> appropriate
> >> - Various small improvements
> >>
> >> Please tell me if this is something that can be contributed to the Maven
> >> project and I will proceed with the creation a Jira ticket and GitHub
> PR.
> >> You can find the changes on this branch :
> >>
> >> https://github.com/sebastien-doyon/maven/tree/codeImprovements2022
> >>
> >> Please note that this would be my first contribution to the project and
> I
> >> would like to do more in the futur. I am looking forward for your
> >> comment/review.
> >>
> >> Regards
> >>
> >> Sebastien Doyon
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to