[ https://issues.apache.org/jira/browse/MNG-6829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17756513#comment-17756513 ]
ASF GitHub Bot commented on MNG-6829: ------------------------------------- timtebeek commented on PR #183: URL: https://github.com/apache/maven-scm/pull/183#issuecomment-1685253512 Hi @olamy ; Thanks for voicing your concern with regards to consistently tagging issues with an appropriate Jira ticket as per the project. It's a valid concern, and it's come up before; I'll link to a few earlier discussions here. - https://github.com/apache/maven-scm/pull/183#issuecomment-1685231834 - https://issues.apache.org/jira/browse/MNG-6825?focusedCommentId=17707546&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17707546 - https://issues.apache.org/jira/browse/MNG-6825?focusedCommentId=17707549&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17707549 I'll give a bit more context about these changes here, as I don't think we've met before. I work on OpenRewrite, which allows folks to make safe automated code changes. Together with the Moderne platform, that allows me to apply changes broadly with ease. I'm using these two tools to for instance work on - https://issues.apache.org/jira/browse/MNG-6825 reduce dependencies on plexus-utils/maven-shared-utils/commons-lang3/commons-io - https://issues.apache.org/jira/browse/MNG-6829 Remove commons-lang3 dependency - https://issues.apache.org/jira/browse/MNG-6847 Explicit type can be replaced by the diamond operator There's a few others I'd like to tackle in the future with automated changes, such as for instance - https://issues.apache.org/jira/browse/MNG-7077 the PlexusTestCase as a parent class should be transformed into a proper junit 5 extension All of these are small individual changes, that have often been applied to a subset of projects already, some by hand, some with tooling support. But given that there's some ~90 Apache Maven repositories, you'll find projects in various states. What I hope to do is lift all projects up to a common consistent state, such that they are all easier to maintain going forward. As per an earlier request I'm pushing frequent small PRs such that they are easier to review & troubleshoot if ever needed. That does mean a lot of PRs will be created, especially when replacing individual Plexus/Shared/Commons utilities methods. The parts that are automated right now are making the code changes, and creating PRs through the Moderne platform, both of which already existed before this effort. There's no easy way to hook in Jira issue creation right now, and for a lot of these changes an issue per project would only amount to as much as the PRs title & body already contain. That's why in the earlier discussions we'd arrived at using a common issue across projects for reference, such that they are all linked back to a single effort across many projects. Does that help put the above changes into context? And would you then agree with us continuing in the manner? > Remove commons-lang3 dependency > ------------------------------- > > Key: MNG-6829 > URL: https://issues.apache.org/jira/browse/MNG-6829 > Project: Maven > Issue Type: Sub-task > Components: Bootstrap & Build > Affects Versions: 3.6.3 > Reporter: Karl Heinz Marbaise > Assignee: Karl Heinz Marbaise > Priority: Minor > Labels: close-pending > Fix For: 4.0.x-candidate > > Attachments: dtPKn.xlsx > > > Currently we use {{commons-lang3}} for the following classes > * {{StringUtils}} can be replaced by usage of either {{plexus-utils}} or > {{maven-shared-utils}} or as I tested with self implementation > * {{SystemUtils}} is only used in some tests which can simply replaced by > using JUnit Jupiter with all the support it has. > * {{Validate}} is a precondition class which checks for parameters etc. can > be implemented very easily (done already to see how it works). Later this > could be made part of {{maven-shared-utils}}. > * Currently the {{StringUtils.substringAfterLast( resourceName, "/" )}} is > used in {{ConsoleMavenTransferListener}} -- This message was sent by Atlassian Jira (v8.20.10#820010)