diff --git a/.chronus/changes/http-client-java_fix-singular-on-caches-2026-3-10-16-19-20.md b/.chronus/changes/http-client-java_fix-singular-on-caches-2026-3-10-16-19-20.md new file mode 100644 index 00000000000..625d279bc3a --- /dev/null +++ b/.chronus/changes/http-client-java_fix-singular-on-caches-2026-3-10-16-19-20.md @@ -0,0 +1,7 @@ +--- +changeKind: fix +packages: + - "@typespec/http-client-java" +--- + +Fix bug that singular form of "Caches" is incorrect diff --git a/packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/util/Utils.java b/packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/util/Utils.java index 17854956f3b..83d13bd7d56 100644 --- a/packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/util/Utils.java +++ b/packages/http-client-java/generator/http-client-generator-mgmt/src/main/java/com/microsoft/typespec/http/client/generator/mgmt/util/Utils.java @@ -44,6 +44,10 @@ public static String getNameForUngroupedOperations(Client client, FluentJavaSett return nameForUngroupOperations; } + static { + Pluralize.addSingularRule("caches", "cache"); + } + public static String getSingular(String name) { if (name == null) { return null; diff --git a/packages/http-client-java/generator/http-client-generator-mgmt/src/test/java/com/microsoft/typespec/http/client/generator/mgmt/util/FluentUtilsTests.java b/packages/http-client-java/generator/http-client-generator-mgmt/src/test/java/com/microsoft/typespec/http/client/generator/mgmt/util/FluentUtilsTests.java index cbca2c5741a..ebae84f7704 100644 --- a/packages/http-client-java/generator/http-client-generator-mgmt/src/test/java/com/microsoft/typespec/http/client/generator/mgmt/util/FluentUtilsTests.java +++ b/packages/http-client-java/generator/http-client-generator-mgmt/src/test/java/com/microsoft/typespec/http/client/generator/mgmt/util/FluentUtilsTests.java @@ -97,6 +97,9 @@ public void testGetSingular() { // irregular (children → child) Assertions.assertEquals("child", FluentUtils.getSingular("children")); + // require addSingularRule + Assertions.assertEquals("Cache", FluentUtils.getSingular("Caches")); + // Azure resource style names Assertions.assertEquals("VirtualMachine", FluentUtils.getSingular("VirtualMachines")); Assertions.assertEquals("NetworkInterface", FluentUtils.getSingular("NetworkInterfaces"));