From aadd1dcfcf31608d569ac02fab0f0a987e6153ec Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 23 Dec 2025 04:19:09 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20Bolt:=20Optimize=20DependencyTools?= =?UTF-8?q?=20string=20operations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced `String.replaceAll` with a manual loop using `StringBuilder` and `String.format` with string concatenation in `DependencyTools.java`. This improves performance for frequently called methods during dependency resolution. --- .../bazel/mvn/api/DependencyTools.java | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/resolver/src/main/java/net/evendanan/bazel/mvn/api/DependencyTools.java b/resolver/src/main/java/net/evendanan/bazel/mvn/api/DependencyTools.java index bddc5b4..20d675d 100644 --- a/resolver/src/main/java/net/evendanan/bazel/mvn/api/DependencyTools.java +++ b/resolver/src/main/java/net/evendanan/bazel/mvn/api/DependencyTools.java @@ -1,6 +1,5 @@ package net.evendanan.bazel.mvn.api; -import java.util.Locale; import net.evendanan.bazel.mvn.api.model.Dependency; import net.evendanan.bazel.mvn.api.model.MavenCoordinate; @@ -9,7 +8,16 @@ public class DependencyTools { public static final DependencyTools DEFAULT = new DependencyTools(); private static String normalize(String name) { - return name.replaceAll("[+.-]", "_"); + StringBuilder sb = new StringBuilder(name.length()); + for (int i = 0; i < name.length(); i++) { + char c = name.charAt(i); + if (c == '+' || c == '.' || c == '-') { + sb.append('_'); + } else { + sb.append(c); + } + } + return sb.toString(); } public final String mavenCoordinates(Dependency dependency) { @@ -17,12 +25,11 @@ public final String mavenCoordinates(Dependency dependency) { } public String mavenCoordinates(MavenCoordinate mavenCoordinate) { - return String.format( - Locale.ROOT, - "%s:%s:%s", - mavenCoordinate.groupId(), - mavenCoordinate.artifactId(), - mavenCoordinate.version()); + return mavenCoordinate.groupId() + + ":" + + mavenCoordinate.artifactId() + + ":" + + mavenCoordinate.version(); } public final String repositoryRuleName(Dependency dependency) { @@ -30,12 +37,11 @@ public final String repositoryRuleName(Dependency dependency) { } public String repositoryRuleName(MavenCoordinate mavenCoordinate) { - return String.format( - Locale.ROOT, - "%s__%s__%s", - normalize(mavenCoordinate.groupId()), - normalize(mavenCoordinate.artifactId()), - normalize(mavenCoordinate.version())); + return normalize(mavenCoordinate.groupId()) + + "__" + + normalize(mavenCoordinate.artifactId()) + + "__" + + normalize(mavenCoordinate.version()); } public final String targetName(Dependency dependency) { @@ -43,10 +49,6 @@ public final String targetName(Dependency dependency) { } public String targetName(MavenCoordinate mavenCoordinate) { - return String.format( - Locale.ROOT, - "%s__%s", - normalize(mavenCoordinate.groupId()), - normalize(mavenCoordinate.artifactId())); + return normalize(mavenCoordinate.groupId()) + "__" + normalize(mavenCoordinate.artifactId()); } }