mirror of
https://github.com/actions/setup-dotnet.git
synced 2024-11-25 12:53:06 +07:00
Add option to install runtime only
This commit is contained in:
parent
174ee99b90
commit
44d36ccab9
@ -9,6 +9,10 @@ inputs:
|
|||||||
description: 'Optional SDK version(s) to use. If not provided, will install global.json version when available. Examples: 2.2.104, 3.1, 3.1.x, 3.x, 6.0.2xx'
|
description: 'Optional SDK version(s) to use. If not provided, will install global.json version when available. Examples: 2.2.104, 3.1, 3.1.x, 3.x, 6.0.2xx'
|
||||||
dotnet-quality:
|
dotnet-quality:
|
||||||
description: 'Optional quality of the build. The possible values are: daily, signed, validated, preview, ga.'
|
description: 'Optional quality of the build. The possible values are: daily, signed, validated, preview, ga.'
|
||||||
|
runtime-only:
|
||||||
|
description: 'Optional input to install only the runtime, not the SDK.'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
global-json-file:
|
global-json-file:
|
||||||
description: 'Optional global.json location, if your global.json isn''t located in the root of the repo.'
|
description: 'Optional global.json location, if your global.json isn''t located in the root of the repo.'
|
||||||
source-url:
|
source-url:
|
||||||
|
14
dist/setup/index.js
vendored
14
dist/setup/index.js
vendored
@ -72993,9 +72993,10 @@ DotnetInstallDir.dirPath = process.env['DOTNET_INSTALL_DIR']
|
|||||||
? DotnetInstallDir.convertInstallPathToAbsolute(process.env['DOTNET_INSTALL_DIR'])
|
? DotnetInstallDir.convertInstallPathToAbsolute(process.env['DOTNET_INSTALL_DIR'])
|
||||||
: DotnetInstallDir.default[utils_1.PLATFORM];
|
: DotnetInstallDir.default[utils_1.PLATFORM];
|
||||||
class DotnetCoreInstaller {
|
class DotnetCoreInstaller {
|
||||||
constructor(dotnetVersion, quality) {
|
constructor(dotnetVersion, quality, runtimeOnly = false) {
|
||||||
this.dotnetVersion = dotnetVersion;
|
this.dotnetVersion = dotnetVersion;
|
||||||
this.quality = quality;
|
this.quality = quality;
|
||||||
|
this.runtimeOnly = runtimeOnly;
|
||||||
}
|
}
|
||||||
installDotnet() {
|
installDotnet() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
@ -73022,12 +73023,15 @@ class DotnetCoreInstaller {
|
|||||||
* Install dotnet over the latest version of
|
* Install dotnet over the latest version of
|
||||||
* dotnet CLI
|
* dotnet CLI
|
||||||
*/
|
*/
|
||||||
const dotnetInstallOutput = yield new DotnetInstallScript()
|
const dotnetInstallScript = new DotnetInstallScript()
|
||||||
// Don't overwrite CLI because it should be already installed
|
// Don't overwrite CLI because it should be already installed
|
||||||
.useArguments(utils_1.IS_WINDOWS ? '-SkipNonVersionedFiles' : '--skip-non-versioned-files')
|
.useArguments(utils_1.IS_WINDOWS ? '-SkipNonVersionedFiles' : '--skip-non-versioned-files')
|
||||||
// Use version provided by user
|
// Use version provided by user
|
||||||
.useVersion(this.dotnetVersion, this.quality)
|
.useVersion(this.dotnetVersion, this.quality);
|
||||||
.execute();
|
if (this.runtimeOnly) {
|
||||||
|
dotnetInstallScript.useArguments(utils_1.IS_WINDOWS ? '-Runtime' : '--runtime', 'dotnet');
|
||||||
|
}
|
||||||
|
const dotnetInstallOutput = yield dotnetInstallScript.execute();
|
||||||
if (dotnetInstallOutput.exitCode) {
|
if (dotnetInstallOutput.exitCode) {
|
||||||
throw new Error(`Failed to install dotnet, exit code: ${dotnetInstallOutput.exitCode}. ${dotnetInstallOutput.stderr}`);
|
throw new Error(`Failed to install dotnet, exit code: ${dotnetInstallOutput.exitCode}. ${dotnetInstallOutput.stderr}`);
|
||||||
}
|
}
|
||||||
@ -73154,7 +73158,7 @@ function run() {
|
|||||||
const uniqueVersions = new Set(versions);
|
const uniqueVersions = new Set(versions);
|
||||||
for (const version of uniqueVersions) {
|
for (const version of uniqueVersions) {
|
||||||
dotnetVersionResolver = new installer_1.DotnetVersionResolver(version);
|
dotnetVersionResolver = new installer_1.DotnetVersionResolver(version);
|
||||||
dotnetInstaller = new installer_1.DotnetCoreInstaller(yield dotnetVersionResolver.createDotnetVersion(), quality);
|
dotnetInstaller = new installer_1.DotnetCoreInstaller(yield dotnetVersionResolver.createDotnetVersion(), quality, core.getBooleanInput('runtime-only'));
|
||||||
const installedVersion = yield dotnetInstaller.installDotnet();
|
const installedVersion = yield dotnetInstaller.installDotnet();
|
||||||
installedDotnetVersions.push(installedVersion);
|
installedDotnetVersions.push(installedVersion);
|
||||||
}
|
}
|
||||||
|
@ -255,7 +255,8 @@ export class DotnetCoreInstaller {
|
|||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly dotnetVersion: DotnetVersion,
|
private readonly dotnetVersion: DotnetVersion,
|
||||||
private readonly quality: QualityOptions
|
private readonly quality: QualityOptions,
|
||||||
|
private readonly runtimeOnly = false
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public async installDotnet(): Promise<string | null> {
|
public async installDotnet(): Promise<string | null> {
|
||||||
@ -288,14 +289,22 @@ export class DotnetCoreInstaller {
|
|||||||
* Install dotnet over the latest version of
|
* Install dotnet over the latest version of
|
||||||
* dotnet CLI
|
* dotnet CLI
|
||||||
*/
|
*/
|
||||||
const dotnetInstallOutput = await new DotnetInstallScript()
|
const dotnetInstallScript = new DotnetInstallScript()
|
||||||
// Don't overwrite CLI because it should be already installed
|
// Don't overwrite CLI because it should be already installed
|
||||||
.useArguments(
|
.useArguments(
|
||||||
IS_WINDOWS ? '-SkipNonVersionedFiles' : '--skip-non-versioned-files'
|
IS_WINDOWS ? '-SkipNonVersionedFiles' : '--skip-non-versioned-files'
|
||||||
)
|
)
|
||||||
// Use version provided by user
|
// Use version provided by user
|
||||||
.useVersion(this.dotnetVersion, this.quality)
|
.useVersion(this.dotnetVersion, this.quality);
|
||||||
.execute();
|
|
||||||
|
if (this.runtimeOnly) {
|
||||||
|
dotnetInstallScript.useArguments(
|
||||||
|
IS_WINDOWS ? '-Runtime' : '--runtime',
|
||||||
|
'dotnet'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const dotnetInstallOutput = await dotnetInstallScript.execute();
|
||||||
|
|
||||||
if (dotnetInstallOutput.exitCode) {
|
if (dotnetInstallOutput.exitCode) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
|
@ -78,7 +78,8 @@ export async function run() {
|
|||||||
dotnetVersionResolver = new DotnetVersionResolver(version);
|
dotnetVersionResolver = new DotnetVersionResolver(version);
|
||||||
dotnetInstaller = new DotnetCoreInstaller(
|
dotnetInstaller = new DotnetCoreInstaller(
|
||||||
await dotnetVersionResolver.createDotnetVersion(),
|
await dotnetVersionResolver.createDotnetVersion(),
|
||||||
quality
|
quality,
|
||||||
|
core.getBooleanInput('runtime-only')
|
||||||
);
|
);
|
||||||
const installedVersion = await dotnetInstaller.installDotnet();
|
const installedVersion = await dotnetInstaller.installDotnet();
|
||||||
installedDotnetVersions.push(installedVersion);
|
installedDotnetVersions.push(installedVersion);
|
||||||
|
Loading…
Reference in New Issue
Block a user