Skip to content

Commit

Permalink
tsp, bug fix on 1. ServiceVersion, 2. package for FileDetails in anon…
Browse files Browse the repository at this point in the history
…ymous model (#2547)

* revert ServiceVersionTemplate

* github action permission to create tag and release

* bump version

* fix for multipart anonymous model
  • Loading branch information
weidongxu-microsoft committed Feb 4, 2024
1 parent 04b1df5 commit fcc771b
Show file tree
Hide file tree
Showing 80 changed files with 386 additions and 145 deletions.
8 changes: 8 additions & 0 deletions .github/workflows/pre-release-typespec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ jobs:
build:
timeout-minutes: 30
runs-on: ubuntu-latest
permissions:
actions: read
contents: write
deployments: none
packages: none
pull-requests: none
security-events: none

steps:
- name: Set env
env:
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ jobs:
build:
timeout-minutes: 30
runs-on: ubuntu-latest
permissions:
actions: read
contents: write
deployments: none
packages: none
pull-requests: none
security-events: none

steps:
- name: Set env
env:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package com.azure.ai.formrecognizer.documentanalysis.dpg;

import com.azure.core.util.ServiceVersion;

/**
* Service version of FormRecognizerClient.
*/
public enum FormRecognizerServiceVersion implements com.azure.core.util.ServiceVersion {
public enum FormRecognizerServiceVersion implements ServiceVersion {
/**
* Enum value 2022-08-31.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
import com.azure.autorest.model.javamodel.JavaFile;
import com.azure.autorest.model.javamodel.JavaJavadocComment;

import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;

public class ServiceVersionTemplate implements IJavaTemplate<ServiceVersion, JavaFile> {
Expand All @@ -20,14 +22,19 @@ public static ServiceVersionTemplate getInstance() {

@Override
public void write(ServiceVersion serviceVersion, JavaFile javaFile) {
// imports
Set<String> imports = new HashSet<>();
imports.add("com.azure.core.util.ServiceVersion");
javaFile.declareImport(imports);

javaFile.javadocComment(comment -> {
comment.description("Service version of " + serviceVersion.getServiceName());
});

String className = serviceVersion.getClassName();
List<String> serviceVersions = serviceVersion.getServiceVersions();

javaFile.publicEnum(className + " implements com.azure.core.util.ServiceVersion", classBlock -> {
javaFile.publicEnum(className + " implements ServiceVersion", classBlock -> {
serviceVersions.forEach(v -> {
classBlock.value(getVersionIdentifier(v), v);
});
Expand Down Expand Up @@ -65,5 +72,4 @@ private String getVersionIdentifier(String version) {
}
return versionInEnum;
}

}
16 changes: 13 additions & 3 deletions javagen/src/main/java/com/azure/autorest/util/TypeUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.azure.autorest.extension.base.model.codemodel.Language;
import com.azure.autorest.extension.base.model.codemodel.Languages;
import com.azure.autorest.extension.base.model.codemodel.ObjectSchema;
import com.azure.autorest.extension.base.model.codemodel.SchemaContext;
import com.azure.autorest.extension.base.plugin.PluginLogger;
import com.azure.autorest.mapper.Mappers;
import com.azure.autorest.model.clientmodel.ClassType;
Expand All @@ -20,6 +21,7 @@

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
Expand Down Expand Up @@ -86,7 +88,16 @@ public static IType getMultipartFileDetailsModel(
objectSchema.setLanguage(new Languages());
objectSchema.getLanguage().setJava(new Language());
objectSchema.getLanguage().getJava().setName(fileDetailsModelName);
objectSchema.setUsage(compositeType.getUsage());
// usages
Set<SchemaContext> usages = compositeType.getUsage();
// let it inherit the usage (PUBLIC/INTERNAL) from the multipart/form-data request model
if (usages != null && usages.contains(SchemaContext.ANONYMOUS)) {
// but, if the request model is ANONYMOUS, the FileDetails should not be ANONYMOUS
usages = new HashSet<>(usages);
usages.remove(SchemaContext.ANONYMOUS);
usages.remove(SchemaContext.INTERNAL);
}
objectSchema.setUsage(usages);
ClassType type = Mappers.getObjectMapper().map(objectSchema);

// create ClientModel
Expand Down Expand Up @@ -122,9 +133,8 @@ public static IType getMultipartFileDetailsModel(
.packageName(type.getPackage())
.type(type)
.serializationFormats(Set.of(KnownMediaType.MULTIPART.value()))
// let it inherit the usage (PUBLIC/INTERNAL) from the multipart/form-data request model
.implementationDetails(new ImplementationDetails.Builder()
.usages(SchemaUtil.mapSchemaContext(compositeType.getUsage()))
.usages(SchemaUtil.mapSchemaContext(usages))
.build())
.properties(properties)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.bodystring;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestSwaggerBatServiceClient.
*/
public enum AutoRestSwaggerBatServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestSwaggerBatServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.llcresi;

import com.azure.core.util.ServiceVersion;

/**
* Service version of DpgClient.
*/
public enum DpgServiceVersion implements com.azure.core.util.ServiceVersion {
public enum DpgServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.llcresi;

import com.azure.core.util.ServiceVersion;

/**
* Service version of DpgClient.
*/
public enum DpgServiceVersion implements com.azure.core.util.ServiceVersion {
public enum DpgServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.bodycomplex;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestComplexTestServiceClient.
*/
public enum AutoRestComplexTestServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestComplexTestServiceVersion implements ServiceVersion {
/**
* Enum value 2016-02-29.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.bodyfile;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestSwaggerBatFileServiceClient.
*/
public enum AutoRestSwaggerBatFileServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestSwaggerBatFileServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.bodystring;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestSwaggerBatServiceClient.
*/
public enum AutoRestSwaggerBatServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestSwaggerBatServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.constantandclientparam;

import com.azure.core.util.ServiceVersion;

/**
* Service version of ConstantAndClientParameterServiceClient.
*/
public enum ConstantAndClientParameterServiceVersion implements com.azure.core.util.ServiceVersion {
public enum ConstantAndClientParameterServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.constants;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestSwaggerConstantServiceClient.
*/
public enum AutoRestSwaggerConstantServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestSwaggerConstantServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.dpgcustomization;

import com.azure.core.util.ServiceVersion;

/**
* Service version of DpgClient.
*/
public enum DpgServiceVersion implements com.azure.core.util.ServiceVersion {
public enum DpgServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.endpointlro;

import com.azure.core.util.ServiceVersion;

/**
* Service version of LroEndpoint.
*/
public enum LroEndpointServiceVersion implements com.azure.core.util.ServiceVersion {
public enum LroEndpointServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.enums;

import com.azure.core.util.ServiceVersion;

/**
* Service version of EnumServiceClient.
*/
public enum EnumServiceVersion implements com.azure.core.util.ServiceVersion {
public enum EnumServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.header;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestSwaggerBatHeaderServiceClient.
*/
public enum AutoRestSwaggerBatHeaderServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestSwaggerBatHeaderServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.headexceptions;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestHeadExceptionTestServiceClient.
*/
public enum AutoRestHeadExceptionTestServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestHeadExceptionTestServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.httpinfrastructure;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestHttpInfrastructureTestServiceClient.
*/
public enum AutoRestHttpInfrastructureTestServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestHttpInfrastructureTestServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.llcinitial;

import com.azure.core.util.ServiceVersion;

/**
* Service version of DpgClient.
*/
public enum DpgServiceVersion implements com.azure.core.util.ServiceVersion {
public enum DpgServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.llcupdate1;

import com.azure.core.util.ServiceVersion;

/**
* Service version of DpgClient.
*/
public enum DpgServiceVersion implements com.azure.core.util.ServiceVersion {
public enum DpgServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.lro;

import com.azure.core.util.ServiceVersion;

/**
* Service version of AutoRestLongRunningOperationTestServiceClient.
*/
public enum AutoRestLongRunningOperationTestServiceVersion implements com.azure.core.util.ServiceVersion {
public enum AutoRestLongRunningOperationTestServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.mediatypes;

import com.azure.core.util.ServiceVersion;

/**
* Service version of MediaTypesClient.
*/
public enum MediaTypesServiceVersion implements com.azure.core.util.ServiceVersion {
public enum MediaTypesServiceVersion implements ServiceVersion {
/**
* Enum value 2.0-preview.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@

package fixtures.multimediatypes;

import com.azure.core.util.ServiceVersion;

/**
* Service version of DpgMultiMediaTypesClient.
*/
public enum DpgMultiMediaTypesServiceVersion implements com.azure.core.util.ServiceVersion {
public enum DpgMultiMediaTypesServiceVersion implements ServiceVersion {
/**
* Enum value 1.0.0.
*/
Expand Down
Loading

0 comments on commit fcc771b

Please sign in to comment.