[ 
https://issues.apache.org/jira/browse/MNG-6825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17702190#comment-17702190
 ] 

ASF GitHub Bot commented on MNG-6825:
-------------------------------------

timtebeek commented on PR #1066:
URL: https://github.com/apache/maven/pull/1066#issuecomment-1475047817

   Here's a first PR to standardize on Commons-Lang3 StringUtils in Apache 
Maven core. It uses the following recipes:
   ```yaml
   type: specs.openrewrite.org/v1beta/recipe
   name: com.github.timtebeek.PlexusStringUtilsToCommonsLang3
   displayName: Replace Plexus StringUtils with Commons Lang3
   description: https://issues.apache.org/jira/browse/MNG-6825
   recipeList:
     - org.openrewrite.java.ChangeType:
         oldFullyQualifiedTypeName: org.codehaus.plexus.util.StringUtils
         newFullyQualifiedTypeName: org.apache.commons.lang3.StringUtils
     - org.openrewrite.java.ChangeMethodTargetToStatic:
         methodPattern: org.codehaus.plexus.util.StringUtils clean(String)
         fullyQualifiedTargetTypeName: org.apache.commons.lang3.StringUtils
     - org.openrewrite.java.ChangeMethodName:
         methodPattern: org.apache.commons.lang3.StringUtils clean(String)
         newMethodName: trimToEmpty
     - org.openrewrite.java.ChangeType:
         oldFullyQualifiedTypeName: org.apache.maven.shared.utils.StringUtils
         newFullyQualifiedTypeName: org.apache.commons.lang3.StringUtils
   ```
   
   Couldn't yet remove the maven-shared/plexus-utils dependencies everywhere, 
as there's still references to other classes such as 
`org.apache.maven.shared.utils.logging.MessageUtils`, as found through: 
[F0jjf.xlsx](https://github.com/apache/maven/files/11009924/F0jjf.xlsx)
   ```yaml
   type: specs.openrewrite.org/v1beta/recipe
   name: com.github.timtebeek.MNG-6825
   displayName: MNG-6825
   description: https://issues.apache.org/jira/browse/MNG-6825
   recipeList:
     - org.openrewrite.java.search.FindMethods:
         methodPattern: org.apache.maven.shared.utils..* *(..)
     - org.openrewrite.java.search.FindMethods:
         methodPattern: org.codehaus.plexus.util..* *(..)
   ```
   
   Note that the above recipes are most easily executed by [creating a custom 
repository group](https://public.moderne.io/settings/repo-groups), and then 
[uploading the yaml into the recipe 
builder](https://public.moderne.io/recipes/builder), after which a Dry run 
should give results in a couple seconds.
   




> Cleaning Up dependencies 
> plexus-utils/maven-shared-utils/commons-lang3/commons-io
> ---------------------------------------------------------------------------------
>
>                 Key: MNG-6825
>                 URL: https://issues.apache.org/jira/browse/MNG-6825
>             Project: Maven
>          Issue Type: Improvement
>          Components: Bootstrap & Build
>    Affects Versions: 3.6.3
>            Reporter: Karl Heinz Marbaise
>            Assignee: Karl Heinz Marbaise
>            Priority: Minor
>             Fix For: 4.0.x-candidate
>
>
> Experiment to see if we can get rid of commons-lang3 dependency.
> * Identified code duplication between:
> ** {{org.apache.commons.lang3.StringUtils}} from {{commons-lang3}} (501879 
> Bytes commons-lang3-3.8.1.jar)
> ** {{org.codehaus.plexus.util.StringUtil}} from {{plexus-utils}} (261801 
> Bytes plexus-utils-3.2.1.jar)
> ** {{org.apache.maven.shared.utils}} from {{maven-shared-utils}} (166562 
> Bytes maven-shared-utils-3.2.1.jar)
> ** We should replace the self implemented with 
> {{org.codehaus.plexus.util.StringUtil}}. or with {{maven-shared-utils}}
> * {{commons-io}} usage by {{maven-shared-utils}} (208700 Bytes 
> commons-io-2.5.jar)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to