Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upMake it easier to install the dotnet CLI tools #1139
Conversation
|
Awesome, I wanted to do that for a while but was never too bothered to actually take the initiative. |
…e starting to build
… dotnet CLI update build script to handle WMF4 better (theoretically)
…o find the exe
Use output of dotnet --version if there are problems with --list-sdks
set failure of finding dotnet as a warning, we will attempt to install it during bootstrap this handles the case of a blank slate where dotnet has never been installed
badeae0
to
fcf73b6
…lled
6d7ec14
to
f0dab58
Sometimes you can't even invoke dotnet if the version is too low
Throw away stderr of dotnet execution under some case and emit it in others. Change ToString of PortableVersion to enable better sorts
Sometimes we need the raw version so the installation script works, but sometimes we need to be able to compare it with other versions.
4686c98
to
866f35b
Also add additional verbose output to improve debuggability print response from upload
…ppveyors test result recognition
We've had trouble with LANG being set to something that causes problems, so make sure we report what it is. Removed a bit of the verbosity which was added for debugging
Fix some errors in the module discovered by the tests
Change logic when downloading the dotnet install script Also enforce en_US.UTF-8 language to ensure that appveyor can see our test results
|
@bergmeister - I think this is ready now, let me know if you have additional comments |
|
A lot of positive changes, even tests for it, I am overall happy with it. Points to consider or think about before merging (but not required to be addressed):
|
|
@bergmeister thanks for the feedback and here are answers to questions:
|
* Add bootstrapping code to install dotnet * fix logic for downloading proper dotnet installer. * add a version checker for installed dotnet Also harden logic for running the installation script * Add bootstrapping code to install dotnet * Handle missing dotnet, and install it. * Add logic for checking the appropriate version of the Cli tools before starting to build * Update appveyor.psm1 to use build script bootstrapping for installing dotnet CLI update build script to handle WMF4 better (theoretically) * make the hunt for the dotnet executable more generic and try harder to find the exe * Fix typo when checking for usable versions of dotnet * use -version rather than ambiguous -v when installing dotnet * Improve error message when hunting for cli version Use output of dotnet --version if there are problems with --list-sdks * ignore errors when first attempting to find dotnet executable set failure of finding dotnet as a warning, we will attempt to install it during bootstrap this handles the case of a blank slate where dotnet has never been installed * Improve logic for handling a system where dotnet has never been installed * fine tune messages emitted during the hunt for dotnet * additional logic for finding dotnet executable * harden search for dotnet Sometimes you can't even invoke dotnet if the version is too low * Attempt to quieten build output. Throw away stderr of dotnet execution under some case and emit it in others. Change ToString of PortableVersion to enable better sorts * Fix tostring method for portable version * add -Raw flag to Get-GlobalJsonSdkVersion Sometimes we need the raw version so the installation script works, but sometimes we need to be able to compare it with other versions. * Attempt to harden the upload code Also add additional verbose output to improve debuggability print response from upload * upgrade pester version to 4.4.4 * Force the testsuite TestFixture to be named 'Pester' to get through appveyors test result recognition * Emit env:LANG to output before executing tests We've had trouble with LANG being set to something that causes problems, so make sure we report what it is. Removed a bit of the verbosity which was added for debugging * Create tests for build module Fix some errors in the module discovered by the tests * Add additional tests Change logic when downloading the dotnet install script Also enforce en_US.UTF-8 language to ensure that appveyor can see our test results
* Add bootstrapping code to install dotnet * fix logic for downloading proper dotnet installer. * add a version checker for installed dotnet Also harden logic for running the installation script * Add bootstrapping code to install dotnet * Handle missing dotnet, and install it. * Add logic for checking the appropriate version of the Cli tools before starting to build * Update appveyor.psm1 to use build script bootstrapping for installing dotnet CLI update build script to handle WMF4 better (theoretically) * make the hunt for the dotnet executable more generic and try harder to find the exe * Fix typo when checking for usable versions of dotnet * use -version rather than ambiguous -v when installing dotnet * Improve error message when hunting for cli version Use output of dotnet --version if there are problems with --list-sdks * ignore errors when first attempting to find dotnet executable set failure of finding dotnet as a warning, we will attempt to install it during bootstrap this handles the case of a blank slate where dotnet has never been installed * Improve logic for handling a system where dotnet has never been installed * fine tune messages emitted during the hunt for dotnet * additional logic for finding dotnet executable * harden search for dotnet Sometimes you can't even invoke dotnet if the version is too low * Attempt to quieten build output. Throw away stderr of dotnet execution under some case and emit it in others. Change ToString of PortableVersion to enable better sorts * Fix tostring method for portable version * add -Raw flag to Get-GlobalJsonSdkVersion Sometimes we need the raw version so the installation script works, but sometimes we need to be able to compare it with other versions. * Attempt to harden the upload code Also add additional verbose output to improve debuggability print response from upload * upgrade pester version to 4.4.4 * Force the testsuite TestFixture to be named 'Pester' to get through appveyors test result recognition * Emit env:LANG to output before executing tests We've had trouble with LANG being set to something that causes problems, so make sure we report what it is. Removed a bit of the verbosity which was added for debugging * Create tests for build module Fix some errors in the module discovered by the tests * Add additional tests Change logic when downloading the dotnet install script Also enforce en_US.UTF-8 language to ensure that appveyor can see our test results

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

JamesWTruher commentedFeb 12, 2019
PR Summary
Sometimes the build of script analyzer fails because version specified in
global.jsonis not installed. This PR makes it easier to install the proper version of the CLI tools with the-bootstrapparameter tobuild.ps1will determine which version of the CLI is needed, validate whether the proper version is already present, and if not, will install it.
This does not validate whether the net452 targeting framework is installed, that must be done manually.
PR Checklist
.cs,.ps1and.psm1files have the correct copyright headerWIP:to the beginning of the title and remove the prefix when the PR is ready.