From fa3fb919149e18d9bfaddc3e6551947a109edcdb Mon Sep 17 00:00:00 2001 From: xiaofeicao Date: Fri, 18 Jul 2025 14:52:34 +0800 Subject: [PATCH 1/3] support premium --- .../client/generator/fluent/TypeSpecFluentPlugin.java | 6 +++++- .../http/client/generator/model/EmitterOptions.java | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/fluent/TypeSpecFluentPlugin.java b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/fluent/TypeSpecFluentPlugin.java index 41b8d452547..81a55603409 100644 --- a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/fluent/TypeSpecFluentPlugin.java +++ b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/fluent/TypeSpecFluentPlugin.java @@ -53,7 +53,11 @@ public TypeSpecFluentPlugin(EmitterOptions emitterOptions, boolean sdkIntegratio SETTINGS_MAP.put("generate-tests", emitterOptions.getGenerateTests()); } if (emitterOptions.getArm()) { - SETTINGS_MAP.put("fluent", "lite"); + if (emitterOptions.getPremium()) { + SETTINGS_MAP.put("fluent", "premium"); + } else { + SETTINGS_MAP.put("fluent", "lite"); + } } if (emitterOptions.getPackageVersion() != null) { SETTINGS_MAP.put("package-version", emitterOptions.getPackageVersion()); diff --git a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/model/EmitterOptions.java b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/model/EmitterOptions.java index fd06e875203..e316464146e 100644 --- a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/model/EmitterOptions.java +++ b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/model/EmitterOptions.java @@ -53,6 +53,7 @@ public class EmitterOptions implements JsonSerializable { private String outputDir; private Boolean arm = false; private String licenseHeader; + private Boolean premium = false; public String getNamespace() { return namespace; @@ -176,6 +177,10 @@ public Boolean getGenerateAsyncMethods() { return generateAsyncMethods; } + public Boolean getPremium() { + return premium; + } + public List getResourceCollectionAssociations() { return resourceCollectionAssociations; } @@ -252,7 +257,9 @@ public static EmitterOptions fromJson(JsonReader jsonReader) throws IOException options.generateAsyncMethods = reader.getNullable(EmitterOptions::getBoolean); } else if ("resource-collection-associations".equals(fieldName)) { options.resourceCollectionAssociations = reader.readArray(ResourceCollectionAssociation::fromJson); - } else { + } else if ("premium".equals(fieldName)) { + options.premium = reader.getNullable(EmitterOptions::getBoolean); + } else { reader.skipChildren(); } }); From f53ee0bd93093fa06d44e400ed7e23801882cf61 Mon Sep 17 00:00:00 2001 From: xiaofeicao Date: Fri, 18 Jul 2025 16:51:53 +0800 Subject: [PATCH 2/3] properties file for premium --- .../microsoft/typespec/http/client/generator/Main.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/Main.java b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/Main.java index 7e1eab677aa..ff0c27da3a4 100644 --- a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/Main.java +++ b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/Main.java @@ -123,12 +123,10 @@ private static void handleFluent(CodeModel codeModel, EmitterOptions emitterOpti .forEach(xmlFile -> fluentPlugin.writeFile(xmlFile.getFilePath(), xmlFile.getContents().toString(), null)); // properties file - if (JavaSettings.getInstance().isFluentLite()) { - String artifactId = FluentUtils.getArtifactId(); - if (!CoreUtils.isNullOrEmpty(artifactId)) { - fluentPlugin.writeFile("src/main/resources/" + artifactId + ".properties", - "version=${project.version}\n", null); - } + String artifactId = FluentUtils.getArtifactId(); + if (!CoreUtils.isNullOrEmpty(artifactId)) { + fluentPlugin.writeFile("src/main/resources/" + artifactId + ".properties", + "version=${project.version}\n", null); } // Others From a821d966987cb6f25945589ccfc2dadedea50037 Mon Sep 17 00:00:00 2001 From: xiaofeicao Date: Fri, 18 Jul 2025 17:26:20 +0800 Subject: [PATCH 3/3] format --- .../com/microsoft/typespec/http/client/generator/Main.java | 4 ++-- .../typespec/http/client/generator/model/EmitterOptions.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/Main.java b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/Main.java index ff0c27da3a4..4211e54cf43 100644 --- a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/Main.java +++ b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/Main.java @@ -125,8 +125,8 @@ private static void handleFluent(CodeModel codeModel, EmitterOptions emitterOpti // properties file String artifactId = FluentUtils.getArtifactId(); if (!CoreUtils.isNullOrEmpty(artifactId)) { - fluentPlugin.writeFile("src/main/resources/" + artifactId + ".properties", - "version=${project.version}\n", null); + fluentPlugin.writeFile("src/main/resources/" + artifactId + ".properties", "version=${project.version}\n", + null); } // Others diff --git a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/model/EmitterOptions.java b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/model/EmitterOptions.java index e316464146e..3565995db05 100644 --- a/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/model/EmitterOptions.java +++ b/packages/http-client-java/generator/http-client-generator/src/main/java/com/microsoft/typespec/http/client/generator/model/EmitterOptions.java @@ -259,7 +259,7 @@ public static EmitterOptions fromJson(JsonReader jsonReader) throws IOException options.resourceCollectionAssociations = reader.readArray(ResourceCollectionAssociation::fromJson); } else if ("premium".equals(fieldName)) { options.premium = reader.getNullable(EmitterOptions::getBoolean); - } else { + } else { reader.skipChildren(); } });