Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added task.json and taskdesign.md for new version of DotNetCoreInstal… #9729

Merged
merged 17 commits into from
Mar 19, 2019

Conversation

hiyadav
Copy link
Contributor

@hiyadav hiyadav commented Mar 5, 2019

This PR is for V1 version of .Net core installer task. As part of V1 version we have implemented some new features and have tackled user requirements, such as these ones: #9758 #9608 #8306 #7754
New features:

  1. Support for installing multiple versions side by side.
  2. Support for patterns in version to fetch latest in minor/major version.
  3. Restrict Multi-level lookup

Tasks/DotNetCoreInstallerV1/task.json Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/task.json Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/task.json Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/task.json Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/task.json Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/task.json Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/task.json Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/Task Design.md Outdated Show resolved Hide resolved
Copy link
Member

@sachinma sachinma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me

Tasks/DotNetCoreInstallerV1/Task Design.md Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionUtilities.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionUtilities.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionInstaller.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionInstaller.ts Outdated Show resolved Hide resolved
}
}
catch (ex) {
tl.warning(tl.loc("FailedToCopyTopLevelFiles", ex));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, should we fail here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking of not failing if top level files can't be copied, as they might not impact the installation.
Also there might be cases of dotnet.exe stuck while running in background, which sometimes hinders in overwriting.
@sachinma If you feel strongly about it, we can fail here.

Tasks/DotNetCoreInstallerV1/versionFetcher.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionFetcher.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionFetcher.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionFetcher.ts Outdated Show resolved Hide resolved
@sachinma sachinma self-assigned this Mar 11, 2019
Tasks/DotNetCoreInstallerV1/versionUtilities.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionInstaller.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionInstaller.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionFetcher.ts Outdated Show resolved Hide resolved
@hiyadav hiyadav requested a review from sachinma March 14, 2019 08:39
Tasks/DotNetCoreInstallerV1/package.json Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/package.json Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/task.json Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionutilities.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/tsconfig.json Outdated Show resolved Hide resolved
// By default disable Multi Level Lookup unless user wants it enabled.
let restrictMultiLevelLookup = true;
try {
restrictMultiLevelLookup = tl.getBoolInput("restrictMultiLevelLookup", true);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why will it throw.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not a required input, so if someone doesn't specify this input in yaml file. And due to tl.getboolinput's behaviour of always sending false as default (even in case input is missing), i am using getboolinput with required = true. so that if it throws, we can default to true value and disable multilevel lookup

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cant you achieve this with the default value of true

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The library function is not exposing a function that returns back a default value of choice. So to know if the value is actually present or not I am passing required=true, so that it fails in case input is not define and then use default value.

Tasks/DotNetCoreInstallerV1/dotnetcoreinstaller.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionfetcher.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/versionfetcher.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/README.md Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/README.md Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/models.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/models.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/models.ts Outdated Show resolved Hide resolved
Tasks/DotNetCoreInstallerV1/models.ts Outdated Show resolved Hide resolved
// By default disable Multi Level Lookup unless user wants it enabled.
let restrictMultiLevelLookup = true;
try {
restrictMultiLevelLookup = tl.getBoolInput("restrictMultiLevelLookup", true);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cant you achieve this with the default value of true

@hiyadav hiyadav merged commit 0576dba into master Mar 19, 2019
@bergmeister
Copy link
Contributor

Awesome, will this task get released soon or is it still under development?

@sachinma
Copy link
Member

@bergmeister this will start rolling out starting next week and will reach all customers in around 3 more weeks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants