Drop unsupported .NET Core versions and nearly-unsupported Python version (#3018)

This commit is contained in:
Brandon Waterloo [MSFT] 2021-12-07 13:42:05 -05:00 коммит произвёл GitHub
Родитель 38c8f682ef
Коммит 1576745478
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
39 изменённых файлов: 24 добавлений и 1069 удалений

Просмотреть файл

@ -8,9 +8,9 @@ steps:
condition: eq(variables['Agent.OS'], 'Linux')
- task: UsePythonVersion@0
displayName: 'Use Python 3.6.x'
displayName: 'Use Python 3.7.x'
inputs:
versionSpec: 3.6.x
versionSpec: 3.7.x
- task: UseDotNet@2
displayName: 'Use .NET sdk 6.0.x'

Просмотреть файл

@ -26,7 +26,7 @@ jobs:
- job: macOS
pool:
vmImage: macOS-10.14 # Using 10.14 instead of latest (10.15) because of "ENOTCONN" errors during tests
vmImage: macOS-latest
steps:
- template: common/build.yml
- template: common/package.yml

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Просмотреть файл

@ -3,7 +3,7 @@
"tfm": "net6.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "6.0.0-preview.7.21377.19"
"version": "6.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false

Двоичный файл не отображается.

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,12 +0,0 @@
{
"runtimeOptions": {
"tfm": "netcoreapp2.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "2.0.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
}
}
}

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Просмотреть файл

@ -1,11 +1,11 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v3.0",
"name": ".NETCoreApp,Version=v3.1",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.0": {
".NETCoreApp,Version=v3.1": {
"Microsoft.TemplateEngine.JsonCli/1.0.0": {
"dependencies": {
"Microsoft.TemplateEngine.Cli": "5.0.0-preview.6.20304.1",

Просмотреть файл

@ -1,9 +1,9 @@
{
"runtimeOptions": {
"tfm": "netcoreapp3.0",
"tfm": "netcoreapp3.1",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "3.0.0"
"version": "3.1.0"
},
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false

Просмотреть файл

@ -44,7 +44,7 @@ export class PythonAliasListStep extends AzureWizardPromptStep<IPythonVenvWizard
async function getPicks(context: IPythonVenvWizardContext): Promise<IAzureQuickPickItem<string | boolean>[]> {
const supportedVersions: string[] = await getSupportedPythonVersions(context, context.version);
const aliasesToTry: string[] = ['python3', 'python', 'py'];
const aliasesToTry: string[] = ['python', 'python3', 'py'];
for (const version of supportedVersions) {
aliasesToTry.push(`python${version}`, `py -${version}`);
}

Просмотреть файл

@ -4,6 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as path from 'path';
import { coerce as semVerCoerce, SemVer } from 'semver';
import { IActionContext } from 'vscode-azureextensionui';
import { ext } from "../../extensionVariables";
import { FuncVersion } from '../../FuncVersion';
@ -60,25 +61,26 @@ async function getFramework(context: IActionContext, workingDirectory: string |
}
// Prioritize "LTS", then "Current", then "Preview"
const majorVersions: number[] = [3, 5, 6, 2];
const netVersions: string[] = ['6.0', '5.0', '3.1'];
const semVersions: SemVer[] = netVersions.map(v => semVerCoerce(v) as SemVer);
let pickedVersion: number | undefined;
let pickedVersion: SemVer | undefined;
// Try to get a GA version first (i.e. "1.0.0")
for (const majorVersion of majorVersions) {
const regExp: RegExp = new RegExp(`^\\s*${majorVersion}\\.[0-9]+\\.[0-9]+(\\s|$)`, 'm');
for (const semVersion of semVersions) {
const regExp: RegExp = new RegExp(`^\\s*${semVersion.major}\\.${semVersion.minor}\\.[0-9]+(\\s|$)`, 'm');
if (regExp.test(versions)) {
pickedVersion = majorVersion;
pickedVersion = semVersion;
break;
}
}
// Otherwise allow a preview version (i.e. "1.0.0-alpha")
if (!pickedVersion) {
for (const majorVersion of majorVersions) {
const regExp: RegExp = new RegExp(`^\\s*${majorVersion}\\.`, 'm');
for (const semVersion of semVersions) {
const regExp: RegExp = new RegExp(`^\\s*${semVersion.major}\\.${semVersion.minor}\\.`, 'm');
if (regExp.test(versions)) {
pickedVersion = majorVersion;
pickedVersion = semVersion;
break;
}
}
@ -89,7 +91,7 @@ async function getFramework(context: IActionContext, workingDirectory: string |
context.errorHandling.suppressReportIssue = true;
throw new Error(localize('noMatchingFramework', 'You must have the [.NET Core SDK](https://aka.ms/AA4ac70) installed to perform this operation. See [here](https://aka.ms/AA1tpij) for supported versions.'));
} else {
cachedFramework = `net${pickedVersion < 4 ? 'coreapp' : ''}${pickedVersion}.0`;
cachedFramework = `${pickedVersion.major < 4 ? 'netcoreapp' : 'net'}${pickedVersion.major}.${pickedVersion.minor}`;
}
}

Просмотреть файл

@ -29,7 +29,7 @@ const testCases: CreateProjectAndDeployTestCase[] = [
{ title: 'C# .NET 5', buildMachineOsToSkip: 'darwin', ...getCSharpValidateOptions('net5.0'), createProjectInputs: [/net.*5/i], deployInputs: [/net.*5/i], createFunctionInputs: ['Company.Function'] },
{ title: 'C# .NET 6', buildMachineOsToSkip: ['darwin', 'win32'], ...getCSharpValidateOptions('net6.0', FuncVersion.v4), createProjectInputs: [/net.*6/i], deployInputs: [/net.*6/i], createFunctionInputs: ['Company.Function'] },
{ title: 'PowerShell', ...getPowerShellValidateOptions(), deployInputs: [/powershell.*7/i] },
{ title: 'Python', buildMachineOsToSkip: 'win32', ...getPythonValidateOptions('.venv'), createProjectInputs: [/3\.6/], deployInputs: [getRotatingPythonVersion()] }
{ title: 'Python', buildMachineOsToSkip: 'win32', ...getPythonValidateOptions('.venv'), createProjectInputs: [/3\.7/], deployInputs: [getRotatingPythonVersion()] }
]
const parallelTests: ParallelTest[] = [];

Просмотреть файл

@ -25,7 +25,7 @@ export function getRotatingNodeVersion(): RegExp {
}
let pyVersionCount: number = getStartingIndex();
const pyVersions: RegExp[] = [/python.*3\.6/i, /python.*3\.7/i, /python.*3\.8/i, /python.*3\.9/i];
const pyVersions: RegExp[] = [/python.*3\.7/i, /python.*3\.8/i, /python.*3\.9/i];
export function getRotatingPythonVersion(): RegExp {
pyVersionCount += 1;
return pyVersions[pyVersionCount % pyVersions.length];

Просмотреть файл

@ -38,7 +38,7 @@ for (const version of [FuncVersion.v2, FuncVersion.v3, FuncVersion.v4]) {
testCases.push({
...getPythonValidateOptions('.venv', version),
inputs: [/3\.6/]
inputs: [/3\.7/]
});
const appName: string = 'javaApp';

Просмотреть файл

@ -25,7 +25,7 @@ suite('Create New Python Project', () => {
}
this.timeout(2 * 60 * 1000);
const alias: string = process.platform === 'win32' ? 'py -3.6' : 'python3.6';
const alias: string = process.platform === 'win32' ? 'py -3.7' : 'python3.7';
await runWithTestActionContext('createProject', async context => {
await createAndValidateProject(context, { ...getPythonValidateOptions('.venv', FuncVersion.v2), inputs: [/enter/i, alias] });
});