diff --git a/generator/constants.ts b/generator/constants.ts index 54312a7677..cf3021ae2c 100644 --- a/generator/constants.ts +++ b/generator/constants.ts @@ -29,8 +29,8 @@ export const managementGroupRootSchema = { }; export const generatedSchemasTemplatePath = path.join(__dirname, 'resources/autogeneratedResources_template.json'); -export const autorestCoreVersion = '3.0.6274'; -export const azureresourceschemaVersion = '3.0.79'; +export const autorestCoreVersion = '3.0.6306'; +export const azureresourceschemaVersion = '3.0.86'; // paths in this list won't even appear in list-basepaths export const blocklist = [ diff --git a/generator/generate.ts b/generator/generate.ts index 039f16cd08..ed4128b17f 100644 --- a/generator/generate.ts +++ b/generator/generate.ts @@ -7,7 +7,7 @@ import { ScopeType, AutogenlistConfig } from './models'; import { resetFile } from './git'; import { get, set, flatten, uniq, concat, Dictionary, groupBy, keys, difference, pickBy, flatMap, values, uniqBy } from 'lodash'; -const autorestBinary = os.platform() === 'win32' ? 'autorest-beta.cmd' : 'autorest-beta'; +const autorestBinary = os.platform() === 'win32' ? 'autorest.cmd' : 'autorest'; const apiVersionRegex = /^\d{4}-\d{2}-\d{2}(|-preview)$/; export interface SchemaConfiguration { @@ -50,31 +50,28 @@ export async function generateSchemas(readme: string, autogenlistConfig?: Autoge await getApiVersionsByNamespace(readme), (_, key) => !autogenlistConfig || lowerCaseEquals(key, autogenlistConfig.namespace)); - const apiVersions = uniqBy(flatMap(values(apiVersionsByNamespace)), s => s.toLowerCase()); const namespaces = keys(apiVersionsByNamespace); const schemaConfigs: SchemaConfiguration[] = []; - for (const apiVersion of apiVersions) { - const tmpFolder = path.join(os.tmpdir(), Math.random().toString(36).substr(2)); + const tmpFolder = path.join(os.tmpdir(), Math.random().toString(36).substr(2)); - try { - const generatedSchemas = await generateSchema(readme, tmpFolder, apiVersion); + try { + const generatedSchemas = await generateSchema(readme, tmpFolder); - for (const schemaPath of generatedSchemas) { - const namespace = path.basename(schemaPath.substring(0, schemaPath.lastIndexOf(path.extname(schemaPath)))); - if (!lowerCaseContains(namespaces, namespace)) { - continue; - } + for (const schemaPath of generatedSchemas) { + const namespace = path.basename(schemaPath.substring(0, schemaPath.lastIndexOf(path.extname(schemaPath)))); + if (!lowerCaseContains(namespaces, namespace)) { + continue; + } - const generatedSchemaConfig = await handleGeneratedSchema(readme, schemaPath, autogenlistConfig); + const generatedSchemaConfig = await handleGeneratedSchema(readme, schemaPath, autogenlistConfig); - schemaConfigs.push(generatedSchemaConfig); - } - } - finally { - await rmdirRecursive(tmpFolder); + schemaConfigs.push(generatedSchemaConfig); } } + finally { + await rmdirRecursive(tmpFolder); + } return schemaConfigs; } @@ -134,14 +131,13 @@ async function execAutoRest(tmpFolder: string, params: string[]) { return await findRecursive(tmpFolder, p => path.extname(p) === '.json'); } -async function generateSchema(readme: string, tmpFolder: string, apiVersion: string) { +async function generateSchema(readme: string, tmpFolder: string) { const autoRestParams = [ `--version=${constants.autorestCoreVersion}`, `--use=@autorest/azureresourceschema@${constants.azureresourceschemaVersion}`, '--azureresourceschema', `--output-folder=${tmpFolder}`, - `--tag=all-api-versions`, - `--api-version=${apiVersion}`, + `--multiapi`, '--title=none', '--pass-thru:subset-reducer', readme, diff --git a/generator/package-lock.json b/generator/package-lock.json index 62c64a8225..f4f8ddaf13 100644 --- a/generator/package-lock.json +++ b/generator/package-lock.json @@ -4,25 +4,19 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@autorest/autorest": { - "version": "3.0.6187", - "resolved": "https://registry.npmjs.org/@autorest/autorest/-/autorest-3.0.6187.tgz", - "integrity": "sha512-BUTLfV6GufjgcSp0ysB1wdhMIG8RGQMiY4ZQnP76fHcR2KZW0QinnEAR99mMy7BVOdXiurWkNW7rilEJfKhXWg==", - "dev": true - }, "@autorest/azureresourceschema": { - "version": "3.0.79", - "resolved": "https://registry.npmjs.org/@autorest/azureresourceschema/-/azureresourceschema-3.0.79.tgz", - "integrity": "sha512-DwcZSdvq6l0whlhqe8rrvDAEgYE5fMCzk+AeS4IBAXQpKRTMrqy3oWYf/zJ7uPcbywep4qv3oE7BTlS1ptn3ng==", + "version": "3.0.86", + "resolved": "https://registry.npmjs.org/@autorest/azureresourceschema/-/azureresourceschema-3.0.86.tgz", + "integrity": "sha512-bJXnjErDaLc1GsgoG6nzDGPCsSByIvFy47LCOqTSWnkt3Njyhz8nVVlEDDnTPRaewLlvr3XIP4nktO0XD0YO5Q==", "dev": true, "requires": { "dotnet-2.0.0": "^1.4.4" } }, "@autorest/core": { - "version": "3.0.6257", - "resolved": "https://registry.npmjs.org/@autorest/core/-/core-3.0.6257.tgz", - "integrity": "sha512-dCvTi6aL4q7Tvw4pxgGGK4Yl4MAukFLbjNdAyWUTSy2AayZNo3LbtcNo99rIBDnEW+VyCPP4dnmuTGt2h2bBGw==", + "version": "3.0.6306", + "resolved": "https://registry.npmjs.org/@autorest/core/-/core-3.0.6306.tgz", + "integrity": "sha512-LNHvxr81h7i13xLuv21pbqqJ9yeb3GP5WZTCf/N03i6FjgL7O4xA1NtbZr7132I9AGw7q1q6aFqy5tXEz0w+Aw==", "dev": true }, "@nodelib/fs.scandir": { @@ -179,6 +173,12 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "autorest": { + "version": "3.0.6187", + "resolved": "https://registry.npmjs.org/autorest/-/autorest-3.0.6187.tgz", + "integrity": "sha512-Xk27qVfsAbmp95Kx+Wwr7LiKlwsoFtcixu46sEaXCRr9zS+lZJDO50uZLXa2ZIE8/z9accpNt3HTdv/9DHk7yg==", + "dev": true + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", diff --git a/generator/package.json b/generator/package.json index 83c697fc5a..d58ff972aa 100644 --- a/generator/package.json +++ b/generator/package.json @@ -12,9 +12,9 @@ "postprocessor": "ts-node cmd/postprocessor" }, "devDependencies": { - "@autorest/autorest": "^3.0.6187", - "@autorest/azureresourceschema": "^3.0.79", - "@autorest/core": "^3.0.6257", + "autorest": "^3.0.6187", + "@autorest/azureresourceschema": "^3.0.86", + "@autorest/core": "^3.0.6306", "@types/async": "^3.2.0", "@types/lodash": "^4.14.149", "@types/node": "^13.11.0", diff --git a/swagger_to_sdk_config.json b/swagger_to_sdk_config.json index fa4f57de03..331a8fddfe 100644 --- a/swagger_to_sdk_config.json +++ b/swagger_to_sdk_config.json @@ -2,8 +2,8 @@ "$schema": "https://openapistorageprod.blob.core.windows.net/sdkautomation/prod/schemas/swagger_to_sdk_config.schema.json", "meta": { "autorest_options": { - "use": "@autorest/azureresourceschema@3.0.79", - "version": "3.0.6274", + "use": "@autorest/azureresourceschema@3.0.86", + "version": "3.0.6306", "azureresourceschema": "", "multiapi": "", "sdkrel:azureresourceschema-folder": ".",