Commit graph

2311 commits

Author SHA1 Message Date
Daniel Plaisted
69d4d21ee5 Disable implicit version tests (#10123), fix 3.0 implicit version 2018-10-08 18:59:44 -07:00
Daniel Plaisted
bfcc6fa2a0 Merge CLI 2.2.1xx changes 2018-10-08 18:59:34 -07:00
Livar Cunha
56d2ba9810 Adding netcoreapp3.0 templates for console apps. 2018-10-02 11:21:50 -07:00
Daniel Plaisted
328a3fd9be Add and enable tests for roll-forward behavior 2018-09-26 18:54:17 -07:00
Andy Zivkovic
2b84ebe054
Code review feedback changes.
This commit implements the requested changes from the PR code review.

- Remove unnecessary comments
- Use Directory.Exists rather than getting file attributes
- Use GracefulException where appripriate
- Improve test names and fix spacing
- Don't force trailing slash on directory
- Don't use option forwarding
- Delete unnecessary MSBuild.exe[.config] files from test project
- Use forwarded options
2018-09-20 10:26:02 -07:00
Abood AbuHashem
7d2f3151e8
Implement the dotnet list package command.
This commit implements the `dotnet list package` command.
2018-09-20 10:26:01 -07:00
William Li
efcae15d0d Fix/disable test due to netcoreapp3.0 vs netcoreapp2.0 2018-09-09 21:56:57 -07:00
William Li
f3c7f5ed78 Merge remote-tracking branch 'oldcli/release/2.2.1xx' into merge-release/2.2.1xx 2018-09-09 20:42:17 -07:00
Livar Cunha
7bb693bff5 We have a few tests that write their own NuGet.Config file to use during restore. Those tests need access to the ExternalRestoreSources value to be added to this NuGet config so that they can restore properly. This change writes a file in the test/artifacts folder containing the value of ExternalRestoreSources value. The tests can then use it to write that to their NuGet.Config. There is a failure in ProdCon that this addresses. 2018-08-28 17:16:58 -07:00
Livar Cunha
057098046f Merge remote-tracking branch 'dotnet/release/2.1.5xx' into merges/release/2.1.5xx-to-release/2.2.1xx
* dotnet/release/2.1.5xx:
  MSBuild 15.9.8-preview
  MSBuild SDK Resolver Improvements (#9547)
  Remove fallback folder
  Remove redundent call, ensure no apt list
  Update links in the readme to release/2.1.5xx
  MSBuild 15.9.0-preview-000006
  Use prebuild image
  Revert "Disabled MSBuildTreatWarningsAsErrors"
  Disabled MSBuildTreatWarningsAsErrors
  Add back: "PUBLISH_NUPKG_TO_BLOB_FEED" to manage the no-suffix builds in 2.1
  Adding the 2.1.3 runtime blob feed as a feed for the CLI
  Update CLI branding to 2.1.402
  Updated test
  TestPlatform 15.9.0-preview Insertion
  Update CLI branding to 2.1.203.
  Fix warnings-as-errors in Linux packaging
  Don't let crossgen warnings become msbuild warnings-as-errors
  Fix build warning and treat msbuild warnings as errors

 Conflicts:
	README.md
	build/DependencyVersions.props
	build/package/Installer.DEB.proj
2018-08-22 20:39:52 -07:00
Davis Goodin
6152eaabcf Add --disable-parallel to dotnet-new.Tests
Added to a "restore" executed via string literal. It's present in RestoreCommand used by the other tests already.
2018-08-17 12:52:23 -05:00
Nick Guerrera
3ccc3593c8
MSBuild SDK Resolver Improvements (#9547)
1. When there's no global.json, use latest SDK that is compatible with msbuild, not latest SDK overall
2. Respect VS setting to allow / disallow resolving to preview SDKs
2018-08-16 19:21:48 -07:00
Peter Huene
f43226c2f1
Fix test with framework-dependent apphost.
This commit fixes the `ItPublishesFrameworkDependentWithRid` test to ensure
the apphost is present in the published files.

It also runs the application from the apphost to ensure it executes
successfully.

Fixes #9843.
2018-08-15 15:06:03 -07:00
William Li
d7b9504c9f
Select forward arguments to restore (#9830) 2018-08-14 14:45:38 -07:00
Vagisha Nidhi
00bf470ddb Updated test 2018-08-10 16:26:00 +05:30
Mike Lorbetske
201dfd581b
Fix tests 2018-08-03 20:02:55 -07:00
Mike Lorbetske
2b5cf41ee9
Update several of the tests to look for netcoreapp2.2 rather than 2.1 with the new templates 2018-08-03 14:16:44 -07:00
William Li
7ae822277d
Refactoring: Introduce Parameter Object (#9789) 2018-08-03 10:35:11 -07:00
John Beisner
fb7c80b585
Merge branch 'release/2.2.1xx' into merges/release/2.1.4xx-to-release/2.2.1xx 2018-08-02 13:44:26 -07:00
Daniel Plaisted
670f15e4ce Import TestDependencyVersions.props for test projects 2018-08-01 11:40:45 -07:00
Peter Huene
29ee450c70
Fix test failure.
The most recent SDK for 2.2.1xx pinned netstandard.library to 2.0.3 due to
https://github.com/dotnet/sdk/issues/2410.

This commit changes the expected version to match.
2018-07-31 16:39:48 -07:00
Peter Huene
7db00ca232
Merge branch 'release/2.1.4xx' into release/2.2.1xx
* release/2.1.4xx:
  Fix dotnet sln add for multitargeted C# and VB projects.
2018-07-31 13:53:34 -07:00
Nick Guerrera
60fd63aa41
Merge pull request #9771 from dotnet/merges/release/2.1.4xx-to-release/2.1.401
Merge release/2.1.4xx to release/2.1.401
2018-07-31 11:08:57 -07:00
Nick Guerrera
d6d0130942 Fix test issues 2018-07-30 17:49:02 -07:00
Nick Guerrera
d6a733c76b Add CLI side of "latest patch for 2.1" in roll-forward logic
Also adjust comment with real reason for skipping test, pointing
to dotnet/sdk bug.
2018-07-30 17:46:02 -07:00
Peter Huene
fdfc1b668b
Merge pull request #9734 from peterhuene/fix-run-output
Suppress output from `dotnet run` when using quiet verbosity level.
2018-07-30 16:01:08 -07:00
Peter Huene
3018875d22
Suppress output from dotnet run when using quiet verbosity level.
This commit suppresses the output that is displayed by the `dotnet run` command
when launch settings are being used, unless the verbosity level is above
"quiet".

Fixes #9545.
2018-07-30 14:57:32 -07:00
Peter Huene
ed23e6b30f
Merge pull request #9733 from peterhuene/add-runtime-to-dotnet-test
Add `--runtime` option to `dotnet test`.
2018-07-30 14:26:24 -07:00
Peter Huene
96c9dc375a
Fix dotnet sln add for multitargeted C# and VB projects.
This commit integrates a fix from the SDK repo that sets
`DefaultProjectTypeGuid` for VB and C# projects when the projects are
multitargeting.  This property is used by `dotnet sln add` to determine the
project type guid to map in the solution file.

Adding additional tests that cover the multitargeting scenario for `dotnet sln
add`.

Fixes #9477.
2018-07-30 13:05:31 -07:00
John Beisner
24b487abfa
Merge pull request #9763 from dotnet/merges/release/2.1.4xx-to-release/2.1.401
Merge release/2.1.4xx to release/2.1.401
2018-07-30 12:32:37 -07:00
John Beisner
4f6ad7b282
Merge pull request #9764 from dotnet/merges/release/2.1.4xx-to-release/2.2.1xx
Merge release/2.1.4xx to release/2.2.1xx
2018-07-30 12:32:33 -07:00
William Li
0e1e4055e8
Avoid GenerateAssemblyInfo for dotnet migrate tests (#9757) 2018-07-27 20:32:11 -07:00
Nick Guerrera
29d3640768 Merge remote-tracking branch 'cli/release/2.2.1xx' into merge-cli/release/2.2.1xx-to-core-sdk/master 2018-07-27 14:47:38 -07:00
jbeisner
ba08432b35 Temporarily disable tests: 'GivenNewCommandItDisplaysCompletions', 'TestSdkRpm', and 'TestSdkDeb' 2018-07-26 21:48:10 +00:00
Peter Huene
af97bc7672
Add --runtime option to dotnet test.
This commit adds a `--runtime` option to the `dotnet test` command for
consistency with other commands.

The option does not have a short form of `-r`, however, because `dotnet test`
already uses the short form for another option (results directory).

Fixes #9583.
2018-07-25 13:26:55 -07:00
Nick Guerrera
d71eb98fde
Merge branch 'release/2.2.1xx' into merges/release/2.1.4xx-to-release/2.2.1xx 2018-07-18 21:52:01 -07:00
Nick Guerrera
222b1675af Disable failing tests against bugs 2018-07-18 12:13:40 -07:00
Nick Guerrera
ceffacfef8 Merge branch 'release/2.2.1xx' into merges/release/2.1.4xx-to-release/2.2.1xx 2018-07-17 18:17:04 -07:00
Nick Guerrera
cdffcec1f1
Merge pull request #9681 from dotnet/merges/release/2.1.4xx-to-release/2.1.401
Merge release/2.1.4xx to release/2.1.401
2018-07-17 18:01:04 -07:00
Satya Madala
a88a82734f Add tests for Code coverage with dotnet test (#9355)
Add tests for dotnet test --collect "Code Coverage" scenario.

Fixes Microsoft/vstest#981.
2018-07-17 09:54:10 -07:00
John Beisner
85d732a5a1
Merge branch 'release/2.1.4xx' into merges/release/2.1.3xx-to-release/2.1.4xx 2018-07-16 08:17:58 -07:00
Nick Guerrera
02c19ad945 Revert tests for feature that is about to be reverted by merge
The mode switch tests are failing as they hit the 2.2.1xx branch
because we don't have a dotnet/sdk with the needed support for
it. Since the feature is reverted in release/2.1.4xx anyway, revert
the tests ahead of time to match release/2.1.4xx (modulo s/2.1/2.2/)
2018-07-13 19:19:37 -07:00
Nick Guerrera
423b718bea Temporarily disable part of self-contained roll-forward test 2018-07-13 16:55:23 -07:00
Nick Guerrera
35496cfe41 Fix incorrect merge 2018-07-13 16:52:54 -07:00
Peter Huene
789423b469
Merge branch 'release/2.1.4xx' into release/2.1.401
* release/2.1.4xx:
  Add XSLT Transform for apphost (#9609)
  Update date test according to MicrosoftNETSdkPackageVersion update
  Update MicrosoftNETCoreAppPackageVersion
  Update SDK to 2.1.400-preview-63110-09
  Revert implementation of the --mode option for the publish command.
  Updating the WebSdk from aspnet/websdk/2.1.4xx
  Removing 'Locked-file' test; CLI:release/2.1.3xx (#9604)
  Log a verbose message when DOTNET_CLI_HOME is being used.
2018-07-12 10:32:16 -07:00
John Beisner
8cccc2c329
Merge pull request #9621 from dotnet/merges/release/2.1.3xx-to-release/2.1.4xx
Merge release/2.1.3xx to release/2.1.4xx
2018-07-10 16:21:42 -07:00
William Li
eff7b49e33 Update date test according to MicrosoftNETSdkPackageVersion update 2018-07-10 14:41:53 -07:00
Peter Huene
6c411e824b
Merge branch 'release/2.1.3xx-MSRC' into release/2.1.3xx
* release/2.1.3xx-MSRC:
  Updates asp.net versions to match prodcon
  Change the implicit asp.net core version for FDD apps to be pinned as 2.1.1.
  Update expected versions to 2.1.2
  Disable NewProjectRestoresCorrectPackageVersion "console" test for now.
  Update the version for 'microsoft.netcore.app' to "2.1.1*"
  Pass "PB_AssetRootUrl" explictly on the MSBuild call; we are looking for Microsoft.NETCore.App "2.1.0" or "2.1.1*"
  Merged PR 126122: Fix alpine file ownership issues with newer docker
  Fix mismatch of dotnet-watch with package variable name
  Set package versions for bundled aspnet tools separately from the metapackage version
  Split the version of Microsoft.AspNetCore.DeveloperCertificates.XPlat into a separate variable
  Fixup myget feed for aspnetcore
  Upgrade to aspnetcore 2.1.1-rtm-30818 and react to file name change
  Updated Version.props
2018-07-10 10:43:47 -07:00
Daniel Plaisted
905d4d442d Address code review feedback 2018-07-09 14:12:11 -07:00
Daniel Plaisted
75e0dbb45d Update tests for .NET Core 3.0 2018-07-09 13:46:05 -07:00
Daniel Plaisted
cf0441cf6e Update test to target .NET Core 3.0 2018-07-09 13:46:05 -07:00
Peter Huene
d9e8947ff4
Revert implementation of the --mode option for the publish command.
This commit reverts the implementation of the `--mode` option for the `dotnet
publish` command.  A bug in the apphost prevents this feature from working
properly in some cases and there currently is not a mechanism to service it
with this feature.

The team has decided to move this feature to 2.2.1xx for the .NET Core SDK.

Fixes dotnet/sdk#2380.
2018-07-09 12:46:13 -07:00
John Beisner
460788c91a
Removing 'Locked-file' test; CLI:release/2.1.3xx (#9604)
* Removing 'Locked-file' test: ItFailsInLessThanOneSecondWhenTheProjectAssetsJsonDoesNotExist
2018-07-03 16:23:35 +00:00
Nick Guerrera
1326c79a5d Merge branch 'release/2.2.1xx' into merges/release/2.1.4xx-to-release/2.2.1xx 2018-06-29 15:25:24 -07:00
jbeisner
ce5493b7d6 Fixing recent ProCon test failures. 2018-06-29 20:10:19 +00:00
Peter Huene
92507184bd
Log a verbose message when DOTNET_CLI_HOME is being used.
This commit logs a diagnostic message when the `DOTNET_CLI_HOME` variable is
used.  This enables users to determine where first-run-experience and global
tool files are being written to.

Fixes #9510.
2018-06-26 16:34:00 -07:00
akharlov
a5abacf155 add tests for dotnet new nunit 2018-06-26 12:34:13 +05:00
Livar Cunha
e2b679c4bb Merge branch 'master' of /Users/livarcocc/Documents/git/cli into merge_master_cli
* 'master' of /Users/livarcocc/Documents/git/cli: (1063 commits)
  Updating signing project to use new intermediate directory (int).
  Update runtimeconfig.json doc for 2.1 (#9382)
  Shortening the path to the intermediate folder by renaming it to int.
  fix typo (#9364)
  Updating asp.net to 2.2.0 as well.
  Updating the build and tests to work with the 2.2.0 runtime.
  Simplified combining dictionaries in Telemetry
  Fixing 'Channel' and 'BranchName': "release/2.1.4xx" to "master" (#9362)
  Fix extraction of folders (#9335)
  Update Sha256Hasher.cs
  Fix relative path tool path (#9330)
  Insert updated SDK from 2.1.4xx branch
  MSBuild 15.8.60
  Fix crash when user home directory cannot be determined.
  Make `CliFolderPathCalculator` a static class.
  Don't add the ReleaseSuffix to the branding on the CLI when DropSuffix is set to true.
  Add retry when Directory.Move (#9313)
  Override new SdkResult public properties
  Add reference to Microsoft.Build.NuGetSdkResolver
  Disable crossgen for MSBuild inline-task refs
  ...
2018-06-25 22:38:01 -07:00
William Li
3af835044d
Merge branch 'release/2.1.4xx' into merges/release/2.1.3xx-to-release/2.1.4xx 2018-06-25 15:59:41 -07:00
William Li
34fd28a3ba
Use blob feed instead of myget (#9546) 2018-06-25 10:37:19 -07:00
William Li
5218c4bcf5
Pass BaseIntermediateOutputPath via xml (#9509)
Instead of command line to avoid escaping problem.

It can support most of the character including surrogate char. It cannot
support semicolon. However, semicolon is not allow to be part of the
user name.

Port 2.1.4xx fix 0251f677ede571b61a47ca24f38df8e09038277d while keep
BaseIntermediateOutputPath instead of MsBuildProjectExtensionsPath to
minimize the change.
2018-06-24 11:32:44 -07:00
William Li
488edfad3f
Use correct nuget version normalized format (#9525)
* Use correct nuget version normalized format

* Change test accordingly

This matches nuget behavior
if restore with  `<PackageReference Include="global.tool.console.demo" Version="1.0.*" />` there is no warning
and if restore with `<PackageReference Include="global.tool.console.demo" Version="1.0.0" />` there is warning due to no exact 1.0.0 find
2018-06-21 13:00:49 -07:00
William Li
7d94dbbd99
Test and automatic Update default package version and re-enable Latest package version test (#9507)
* Add Compute UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion

* Add tests to catch DefaultNetCorePatchVersion moving

* Update LatestPatchVersionForNetCore2_0 to 2.0.9, it is in the process of shipping

* Update LatestPatchVersionForNetCore1_0 and LatestPatchVersionForNetCore1_1
2018-06-21 10:40:44 -07:00
Livar Cunha
d6fb69a4be Fix remove sln description. 2018-06-20 10:26:43 -07:00
Livar Cunha
bdcc3b4c87 Change the implicit asp.net core version for FDD apps to be pinned as 2.1.1. 2018-06-15 10:33:54 -07:00
William Li
f66dc4e08b
Merge pull request #9460 from peterhuene/fx-dep-apphost
Implement `mode` option for `dotnet publish`.
2018-06-15 09:40:19 -07:00
jbeisner
fddf38656a Resolve conflicts: merge 'release/2.1.3xx' to 'release/2.1.4xx' 2018-06-13 17:30:42 +00:00
Peter Huene
c0eff4fa56
Merge branch 'release/2.1.3xx' into release/2.1.3xx-MSRC
* release/2.1.3xx:
  Updating the CLI stage0 to 2.1.300 and fixing some build failures.
  Update Microsoft.NETCore.App Package Version
  Formatting...
  Drop the LZMA archive for every build.
2018-06-12 10:31:56 -07:00
Peter Huene
8205dd4a15
Fix publish test for 32-bit environments.
Ensure the correct DOTNET_ROOT variable is set for the apphost being run.
2018-06-11 21:55:47 -07:00
Peter Huene
da2b1b90ec
Fix PR review feedback.
Amending string resources based on suggestions.
Fixing tests that need DOTNET_ROOT set.
Adding args to the asset instance name for `PublishApp`.
2018-06-11 21:31:48 -07:00
Peter Huene
bc96902c61
Implement mode option for dotnet publish.
This commit implements a `mode` option that can control how an application is
published with the `dotnet publish` command.

There are three supported modes:

* self-contained: publishes a self-contained application (same as
--self-contained).
* fx-dependent: publishes a framework-dependent application (with an
application host when a runtime is specified).
* fx-dependent-no-exe: publishes a framework-dependent application without an
application host.

The default when publishing without a runtime specified is
`fx-dependent-no-exe`.

The default when publishing with a runtime specified is `self-contained`.

`fx-dependent` requires netcoreapp2.1 or later when a runtime is specified.

The `--self-contained` option is still supported, but is now hidden so that
users will be encouraged to move to the `--mode` option.

Fixes #6237.
2018-06-11 15:43:55 -07:00
Livar Cunha
15e6928b02 Updating the CLI stage0 to 2.1.300 and fixing some build failures. 2018-06-08 16:03:24 -07:00
John Beisner
548ba179f4
Merge pull request #9393 from dotnet/merges/release/2.1.3xx-to-release/2.1.4xx
Merge release/2.1.3xx to release/2.1.4xx
2018-06-06 11:52:14 -07:00
William Li
2594a6d7ec
Always store absolute full path in directory and file path (#9363)
There is no need to store relative path today. But some part of the system does not accept relative path and there is no indication if it is storing full path or not. This is the root cause of https://github.com/dotnet/cli/issues/9319

“someplace” means different full path for Path class on unix and Windows. And the mock file system uses real Path class. Change tests' setup to use essentially “TEMPATH/someplace” instead of  “someplace”
2018-06-06 11:22:19 -07:00
Livar
62d968050a
Merge branch 'master' into merges/release/2.1.4xx-to-master 2018-06-06 09:19:05 -07:00
Matt Mitchell
41d2418bfb Update expected versions to 2.1.2 2018-06-05 17:32:01 -07:00
jbeisner
2e7e6950e2 Disable NewProjectRestoresCorrectPackageVersion "console" test for now. 2018-06-05 17:30:44 -07:00
jbeisner
5541529bbe Update the version for 'microsoft.netcore.app' to "2.1.1*" 2018-06-05 17:30:34 -07:00
jbeisner
fec5f38b93 Pass "PB_AssetRootUrl" explictly on the MSBuild call; we are looking for Microsoft.NETCore.App "2.1.0" or "2.1.1*" 2018-06-05 17:28:32 -07:00
jbeisner
79b4809559 Disable NewProjectRestoresCorrectPackageVersion "console" test for now. 2018-06-05 18:25:07 +00:00
jbeisner
74a7d63e43 Update the version for 'microsoft.netcore.app' to "2.1.1*" 2018-06-05 17:51:19 +00:00
jbeisner
0015821db6 Pass "PB_AssetRootUrl" explictly on the MSBuild call; we are looking for Microsoft.NETCore.App "2.1.0" or "2.1.1*" 2018-06-05 16:51:32 +00:00
Livar
447bd91100
Merge branch 'master' into merges/release/2.1.4xx-to-master 2018-06-04 11:38:31 -07:00
Livar
77a0f99c94
Merge pull request #9392 from livarcocc/enable_2_2_runtime
Updating the build and tests to work with the 2.2.0 runtime.
2018-06-04 11:05:52 -07:00
Livar Cunha
33c3a26880 Updating asp.net to 2.2.0 as well. 2018-06-01 13:31:03 -07:00
Peter Huene
98dd811aa8
Revert "Fix MSBuild invocation to quote property option values."
This reverts commit f9b939fe89.

That fix caused a regression that prevented a single `/property` option to
define multiple properties using the `/property:First=foo;Second=bar` syntax.

Users that want literal semicolons in the property values should use escaped
quotes around the property value, e.g. `/property:Prop='"foo;bar;baz"'`.

Fixes #9369.
2018-05-31 21:34:05 -07:00
Nate McMaster
4eaf45ba85 Fix mismatch of dotnet-watch with package variable name 2018-05-31 19:31:34 -07:00
Livar Cunha
2f0f270a73 Updating the build and tests to work with the 2.2.0 runtime. 2018-05-31 19:14:24 -07:00
Nate McMaster
1386aa28e1
Fix mismatch of dotnet-watch with package variable name 2018-05-31 14:44:29 -07:00
Livar
80d542b8f4
Merge pull request #9332 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
2018-05-31 10:22:00 -07:00
William Li
983612b95b
Fix relative path tool path (#9330)
Pass full path to Path.GetRelativePath
2018-05-24 18:15:23 -07:00
Peter Huene
b1f8eb1d8d
Fix crash when user home directory cannot be determined.
Currently, dotnet will crash with an `ArgumentNullException` if `USERPROFILE`
(Windows) or `HOME` (macOS and Linux) is not set in the environment.  This
is because there is a missing null check after retrieving the environment
variable's value.  Additionally, if either variable is set to an empty string,
a `.dotnet` directory is created in the current directory where dotnet is being
run.

This commit fixes this by printing a graceful error informing the user the home
directory could not be determined and to set `DOTNET_CLI_HOME` to the directory
to use.  This variable will be respected before `USERPROFILE` or `HOME`. It is
likely that CI environments where `HOME` is not set can use `DOTNET_CLI_HOME`
to specify a local temporary location; by using this variable rather than
setting `HOME`, it is guaranteed to only affect dotnet.

It was discussed that we should perhaps fallback to some temporary location if
the home directory could not be determined, but NuGet currently requires `HOME`
to be set to work.  Because of this, it was decided that we should just handle
this case gracefully and provide a way for users to override the home directory
without relying on `USERPROFILE`/`HOME` entirely.

Closes #8053.
2018-05-22 17:34:39 -07:00
Peter Huene
3e962bc131
Make CliFolderPathCalculator a static class.
The `CliFolderPathCalculator` class implements no interface and has no instance
fields.

This commit therefore makes it a static class.
2018-05-22 17:34:39 -07:00
Livar
6f6f28dac6
Merge pull request #9323 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
2018-05-22 13:28:50 -07:00
Livar
8f8770be8a
Merge pull request #9265 from livarcocc/first_run_native_intallers
Always execute cache expansion on native installers.
2018-05-22 13:17:55 -07:00
Andy Gerlicher
9967a1d81a Override new SdkResult public properties 2018-05-21 15:29:38 -07:00
John Beisner
6f185432d4
Merge pull request #9317 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
2018-05-21 09:24:20 -07:00
Peter Huene
baa5083c63
Merge pull request #9290 from peterhuene/fix-help
Improve command line help user experience.
2018-05-20 12:16:35 -07:00
Livar
7adbeb3928
Merge pull request #9259 from dotnet/nuget.client.release-4.8.0.5196-1-1
Insert NuGet Build 4.8.0-preview1.5196 into cli
2018-05-19 08:59:59 -07:00
Peter Huene
88e2e9e993
Improve command line help user experience.
This commit attempts to make the command line help user experience for `dotnet`
more consistent for all of the built-in SDK commands.

The following has been changed:

* Organized the top-level help into a section detailing how to run .NET
  applications and a section on running SDK commands.
* Sorted the SDK commands by name (previous ordering was undefined).
* Removed `--verbosity` from the "common options section" since it is not a
  top-level option, nor is it common to all commands.
* Added missing parameter names for parameterized options (especially for the
  `dotnet tool` subcommands).
* Fixed the localization of parameter names for parameterized options.
* Added missing `PROJECT` parameter to a few commands.
* Fixed the localization of the build command's `PROJECT` parameter description.
* Fixed the confusing descriptions for the `--framework`, `--configuration`,
  and `--runtime` options that were being shared between different commands.
* Fixed the "unknown command" error for `dotnet help <command>` to show in red.
* Deleted .resx for `dotnet msbuild` that is no longer used.
* Change the option descriptions to be more consistent in their grammatical
  structure.
* Removed extra blank line from end of help output.

Fixes #7431.
Fixes #9230.
Fixes #9165.
2018-05-18 16:43:31 -07:00
Livar
c921ea92b8
Merge pull request #9309 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
2018-05-17 15:17:50 -07:00
Livar Cunha
f867d42d7d Removing the Additional restore source for the binding redirect test project. It has no package dependency on a CLI produced package. 2018-05-17 15:04:40 -07:00
Livar Cunha
e5e2256ae9 Addressing code review comments by making the Configuration class's fields readonly. 2018-05-17 14:13:14 -07:00
Livar
e338e46e10
Merge pull request #9306 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
2018-05-17 13:41:23 -07:00
Peter Huene
b5b47dd40d
Merge pull request #9294 from peterhuene/fix-completion
Improve command completion.
2018-05-17 11:02:57 -07:00
Peter Huene
d79f3ead27
Merge pull request #9292 from peterhuene/fix-sln-list
Fix header output by `dotnet sln list`.
2018-05-17 10:59:15 -07:00
Mayank Bansal
b584750620 Multiple Logger/TestAdapter inputs from dotnet CLI 2018-05-17 12:54:39 +05:30
Peter Huene
b24e9f4cec
Add unit tests for dotnet complete.
This commit adds a few simple unit tests to cover the `dotnet complete`
command.

It only checks the top-level output, integration with the `new`
command from the templating engine, and the custom `nuget` command parser that
is solely intended for use with `dotnet complete`.
2018-05-16 17:19:06 -07:00
Peter Huene
6f184070f0
Improve command completion.
This commit improves command completion by updating the `new` and `nuget` parsers to
match their current supported syntax.  Removes the unnecessary description
strings that were not used (these commands are parsed by assemblies external to
the CLI). The top level options are also sync'd to the currently supported
options.

Additionally, it unhides the `msbuild` and `vstest` commands so that `dotnet
complete` suggests them.

Fixes #9286.
2018-05-16 14:07:27 -07:00
John Beisner
baeb21728d
Merge pull request #9285 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
2018-05-16 09:00:04 -07:00
Peter Huene
63d30787b9
Fix header output by dotnet sln list.
The `dotnet sln list` command uses `Project reference(s)` as the header for the
output instead of `Project(s)`. To be consistent with Visual Studio, the header
should refer to these as projects rather than project references as users can't
add "project references" to a solution.

This commit changes the header to `Project(s)`.

Additionally, the command now filters out solution folders and only shows
projects.

Fixes #9246.
2018-05-15 23:06:36 -07:00
John Beisner
08b20ef268
Merge pull request #9275 from dotnet/merges/release/2.1.3xx-to-release/2.1.4xx
Merge release/2.1.3xx to release/2.1.4xx
2018-05-15 09:17:36 -07:00
Livar
69062dda4e
Merge pull request #9266 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
2018-05-14 09:47:53 -07:00
Peter Huene
1feaa0385a
Fix incorrect default VSTest verbosity level.
Commit 10289504a8 changed the default verbosity
option used for MSBuild from `-v:quiet` to `-verbosity:quiet`.  This triggered a
match that was being done against arguments starting with `-verbosity` to
forward the value to VSTest via the `VSTestVerbosity` property.  The result is
that VSTest is using a default verbosity of `quiet`, suppressing error output
that users expect to see.

The fix is to change the check to only match against user-supplied options.
The default level the command uses for MSBuild is not forwarded to VSTest.

Fixes #9229.
2018-05-11 20:03:24 -07:00
Livar
11f2843f7b
Merge pull request #9252 from dotnet/merges/release/2.1.3xx-to-release/2.1.4xx
Merge release/2.1.3xx to release/2.1.4xx
2018-05-11 10:16:04 -07:00
Livar Cunha
2a735db882 Removing direct dependency to NetStandard.Library From TestFramework. 2018-05-11 09:57:00 -07:00
Livar Cunha
b7a8c6d12f Introducing a Config object as a input to the FirstRunConfigurer. This allows us to decide what operations we want to
do as part of first run based on whether this is the invoke-reportsuccess from a native installer or a regular command
being invoked for the first time. This in turn allows us to ignore the skip first run variable on native installers and
expand the cache always in those cases.
2018-05-10 15:27:12 -07:00
jbeisner
e1ec232c47 Merge remote-tracking branch 'origin/release/2.1.4xx' into merges/release/2.1.4xx-to-master 2018-05-09 21:12:09 +00:00
John Beisner
da7da0b018
Merge pull request #9227 from dotnet/merges/release/2.1.3xx-to-release/2.1.4xx
Merge release/2.1.3xx to release/2.1.4xx
2018-05-09 14:06:02 -07:00
Peter Huene
299589ff14
Merge pull request #9214 from peterhuene/fix-tool-path-from-installers
Fix adding tools directory to PATH for native installers.
2018-05-09 10:29:25 -07:00
John Beisner
7373d4d309
Fixing CI build breaks for new CI legs; CLI:release/2.1.3xx (#9202)
* Fedora 27, openSUSE 43.2, and Ubuntu 18.04 should not build native installer packages nor
"IncludeSharedFrameworksForBackwardsCompatibilityTests"

* Formatting...

* Skip test: 'ItRollsForwardToTheLatestVersion'
2018-05-08 10:05:21 -07:00
Peter Huene
0f0f70ce48
Fix adding tools directory to PATH for native installers.
This commit fixes adding the tools directory to the user's PATH for the native
installers.

The issue was a regression caused by #8886.  The change used a "no-op" sentinel
file that reported it existed.  This "no-op" sentinel was used for the native
installers.  Unlike the other "no-op" sentinels used by the native installer,
we do want PATH to be modified by the native installer.

The fix is to change the "no-op" sentinel to report the file doesn't exist, but
also to not to attempt to create the file.

This fixes #9208.
2018-05-07 16:35:29 -07:00
Livar
6cc9ce45e8
Merge pull request #9028 from livarcocc/add_remove_messages
Updating the description of add/remove nuget packages and references and list
2018-05-07 11:24:58 -07:00
Tanner Gooding
f2f5c1b12b Merge remote-tracking branch 'dotnet/release/2.1.4xx' into merges/release/2.1.4xx-to-master 2018-05-07 10:55:14 -07:00
Tanner Gooding
6d6bf64f28 Merge remote-tracking branch 'dotnet/release/2.1.3xx' into merges/release/2.1.3xx-to-release/2.1.4xx 2018-05-07 08:20:23 -07:00
Tanner Gooding
481e4a19b3
Merge pull request #9013 from dotnet/merges/release/2.1.2xx-to-release/2.1.3xx
Merge release/2.1.2xx to release/2.1.3xx
2018-05-04 11:00:39 -07:00
Tanner Gooding
4c7d1df5b3 Revert "Adding a work around for publishing self-contained apps to RIDs that are not available for Microsoft.NETCore.App 2.0.0."
This reverts commit 370243ab81.
2018-05-03 15:50:19 -07:00
Tanner Gooding
a8856ddccc Merge remote-tracking branch 'dotnet/release/2.1.2xx' into merges/release/2.1.2xx-to-release/2.1.3xx 2018-05-03 15:24:39 -07:00
Livar Cunha
661f058fed Updating the description of add/remove nuget packages and references and list. Also updating the parameter placeholder for add/remove reference. 2018-05-01 16:06:38 -07:00
William Li
46d4b71814 Add additional tools to help text 2018-05-01 14:28:15 -07:00
Peter Huene
67ecb5ac65
Merge pull request #9161 from v-zbsail/loc_20180427_release_2.1.3xx
LOC CHECKIN | dotnet/cli release/2.1.3xx | 20180427
2018-05-01 11:25:45 -07:00
William Li
57d065e43d
Correct dotnet list description (#9174)
After dotnet tool list moved out of dotnet list, the description has not been updated.
2018-05-01 10:24:40 -07:00
William Li
d681933b87
Rename --source-feed to --add-source (#9164)
* Rename to add-source
2018-05-01 10:21:00 -07:00
Peter Huene
faa7a7e47c
Fix tool package unit test to use the correct resource string.
The `GivenFailedPackageInstallWhenRunWithPackageIdItShouldFail` test should
match against `ToolInstallationFailedWithRestoreGuidance` and not
`ToolInstallationFailed`.  This passed prior to the LOC update because
the former started with the latter and a "contains" match was being performed.
2018-04-30 21:49:45 -07:00
Peter Huene
b23259c30f
Merge pull request #9160 from peterhuene/fix-pid-file-share-mode
Fix Razor server shutdown on Windows.
2018-04-30 14:47:31 -07:00
Peter Huene
eaf5e95996
Merge pull request #9153 from peterhuene/quote-msbuild-properties
Fix MSBuild invocation to quote property option values.
2018-04-27 16:52:02 -07:00
Peter Huene
b2b3947c68
Fix Razor server shutdown on Windows.
On Windows, the Razor server correctly creates the pid file with
`FileAccess.Write` and `FileOptions.DeleteOnClose`.  This requires a share mode
of `FileShare.Write | FileShare.Delete` to open.  However, the
`dotnet build-server shutdown` command was opening the file with
`FileShare.Read`.  As a result, an `IOException` was being thrown and was not
handled.

This change first opens the file with the appropriate share access and also
properly handles a failure to access or read the contents of the pid file.

Additionally, an integration test was added to test that Razor server shutdown
works as expected.

Fixes #9158.
2018-04-27 13:52:17 -07:00
Peter Huene
f9b939fe89
Fix MSBuild invocation to quote property option values.
This commit ensures that any `/property` option's value is surrounded by quotes
to allow MSBuild to properly interpret special characters like semicolons.

Users familiar with MSBuild expect `/property:Name="Value"` to handle
semicolons. However, since `dotnet` parses the command line first, the
quotes get processed by its command line parser.  This results in
`/property:Name=Value` being passed to MSBuild, which will not parse a "Value"
containing a semicolon correctly.

Since it is safe to always quote the property value for this option, this fix
simply ensures that the value is surrounded by quotes.

This fixes the issue for all commands that forward arguments to MSBuild.

Fixes #7791.
2018-04-26 14:38:21 -07:00
Peter Huene
b9597913dc
Fix --source-feed option for tool install and update commands.
Commit 9cc2b7cd2f regressed the `--source-feed`
option so that it no longer accepted relative paths.  Because the option is now
saved to the temp project file, any relative paths specified by the
`--source-feed` option were made relative to the temp project path and not from
the current working directory of where dotnet was run.

The fix is to use `Path.GetFullPath` of the `--source-feed` option, provided
the option specified was not an absolute URI.

Fixes #9132.
2018-04-24 20:43:14 -07:00
Livar
355b08befd
Merge branch 'release/2.1.4xx' into merges/release/2.1.3xx-to-release/2.1.4xx 2018-04-24 14:20:28 -07:00
William Li
270fc4428a
do not set BaseIntermediateOutputPath in temp project of dotnet install (#9122)
Should use MsBuildProjectExtensionsPath instead.

Change the property passin by project file instead of command line. It is more reliable passing path in xml and also the timing of MsBuildProjectExtensionsPath is controlled. (Before loading SDK)
Change mock fake project to use “;” instead, since c:\path contains “:”.
2018-04-24 10:19:27 -07:00
John Luo
441a470f54 Add bundled aspnetcore runtime framework versions
- Add integration test for implicit Microsoft.AspNetCore.App versions
2018-04-23 00:33:33 -07:00
Nick Guerrera
ea08319a65 Unblock build
Test build was causing restore and build in same evaluation, which was
always incorrect, but with a recent change to sdk, it will always fail
outright instead of sometimes getting lucky enough for it not to matter.
This was therefore a breaking change and we will discuss separately how
to handle it. This takes the bad pattern out of the test build to unblock
the build.
2018-04-20 16:43:41 -07:00
Livar
dc088918f9
Merge pull request #9106 from dotnet/merges/release/2.1.1xx-to-release/2.1.2xx
Merge release/2.1.1xx to release/2.1.2xx
2018-04-20 15:12:18 -07:00
Wes Haggard
65d5730631 Replace alpine with linux-musl builds
We still build linux-musl on the alpine OS but we no longer
produce a alpine installer/tar file instead we just have the
linux-musl version.
2018-04-20 13:23:00 -07:00
Peter Huene
1ade191cb6
Implement Razor server discovery by pid file.
Previously, Razor server discovery for the `build-server shutdown` command was
implemented by invoking MSBuild on a project file in the current directory to
evaluate the path to the Razor server dll.  This was problematic since it would
only discover a single running Razor server instance and required that the user
run the `build-server shutdown` command from a specific location.

Razor's server now writes a "pid file" to a well-known location
(`~/.dotnet/pids/build`) which the command can now enumerate to discover, and
shutdown, the running Razor servers.

This commit changes the Razor server discovery to use the pid files and removes
the requirement that users need to run the command in specific directories to
work.

Fixes #9084.
2018-04-20 10:49:31 -07:00
Nate McMaster
2d008aa4f7
Add tests that assert the dependencies of the dotnet-sdk rpm and deb files 2018-04-18 22:49:21 -07:00
Peter Huene
3f1ab372b4
Rename buildserver command.
This commit renames the `buildserver` command to `build-server`.

Fixes #9075.
2018-04-17 17:04:12 -07:00
William Li
ae75392078
Merge pull request #9079 from wli3/help-text-02
Help text improves
2018-04-17 12:21:39 -07:00
William Li
854feefe6f
Give a different error to guide use to install via global tools (#9070)
Give a different error to guide use to install via global tools so, if several bundled DotnetTools cannot finish source build on time. The user can use global tools to get it.

The original plan that adding a different resolver is hard due to resolver can only find dll that will be used to spawn a process. However, the command constructor will give an error message when resolver find null. By adding a different error when the command name is part of the list, it can achieve the same goal.
2018-04-17 12:21:20 -07:00
William Li
fd66168922 Error message has instruction to help investigate from NuGet error message 2018-04-16 21:42:50 -07:00
Livar Cunha
d99d7adc86 Removing a flaky timebound test. 2018-04-16 14:50:21 -07:00
William Li
6851961c16 Better help text on dotnet tool 2018-04-16 10:51:43 -07:00
William Li
b0ee5db411
consume bring your own shim(byos) (#9018)
If there are shims packaged by convention in nupkg. Shim Repository will simply copy it to the right location.

The query interface ToolPackageInstance will be in charge of finding the shim folder and filter the right RID. Shim Repository will pick the right file after the folder is located since Shim Repository knows the shim name and it also book keep the files at uninstallation.
During development, due to the wrong adapter level. The mock duplicated too much logic. So, I corrected the abstraction level to lower (only create shim). And replaced the existing mock with a much smaller one without any atomic control and file move, copy logic. At the same time. The chmod, which is a IO action, causes problem during tests. So I added adapter layer to it and put it in Util.
2018-04-10 15:42:50 -07:00
William Li
2f01bb4fad
Add TryGetMostFitRuntimeIdentifier (#8997) 2018-04-06 17:39:58 -07:00
William Li
cbd6434c8b Adapt to no config file Apphost shim
Instead of writing the config file. Embed the relative path, instead of only the file name of app binary, to the AppHost itself.
2018-04-06 12:23:05 -07:00
Livar
7cb7535bae
Merge branch 'master' into merges/release/2.1.3xx-to-master 2018-04-06 09:05:57 -07:00
Nick Guerrera
4956bfea8c
Merge pull request #8996 from nguerrera/publish-no-build
Implement `dotnet publish --no-build`
2018-04-05 23:43:02 -07:00
Nick Guerrera
60e798598d Add test cases per PR feedback 2018-04-05 17:58:38 -07:00
Livar Cunha
2e2a8d6179 Merge branch 'release/2.1.1xx' into merge_1xx_into_2xx
* release/2.1.1xx:
  Fixing another typo in that is breaking RHEL.
  Fix a typo in the rpm.targets when testing the rpm generated packages.
  Update to aspnet 2.0.7 build 230
  Producing an empty commit to trigger a rebuild of the CLI
  Fix AspNetCoreRuntimeBuildDropFeed to use CoreSetupBlobRootUrl
  Adding a work around for publishing self-contained apps to RIDs that are not available for Microsoft.NETCore.App 2.0.0.
  Reverse the order in which old runtime stores are listed
  Update to ASP.NET Core 2.0.7 build 228
  Moving the opensuse 43.2 docker file to the right folder.
  Updating the CLI branding to 2.1.105, to go over the 104 release we will have to do for NuGet. Also, fixed the branding of the runtime in our installers to 2.0.7.
  Updating the runtime to 2.0.7 and the CLI branding to 2.1.104.
  Update SDK to 2.1.100-preview-62730-07
  Add msbuild myget.org feed
  MSBuild 15.6.84

 Conflicts:
	build/Branding.props
	build/DependencyVersions.props
	build/NugetConfigFile.targets
	build/Version.props
	packaging/osx/clisdk/resources/cs.lproj/conclusion.html
	packaging/osx/clisdk/resources/de.lproj/conclusion.html
	packaging/osx/clisdk/resources/en.lproj/conclusion.html
	packaging/osx/clisdk/resources/es.lproj/conclusion.html
	packaging/osx/clisdk/resources/fr.lproj/conclusion.html
	packaging/osx/clisdk/resources/it.lproj/conclusion.html
	packaging/osx/clisdk/resources/ja.lproj/conclusion.html
	packaging/osx/clisdk/resources/ko.lproj/conclusion.html
	packaging/osx/clisdk/resources/pl.lproj/conclusion.html
	packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html
	packaging/osx/clisdk/resources/ru.lproj/conclusion.html
	packaging/osx/clisdk/resources/tr.lproj/conclusion.html
	packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html
	packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html
	packaging/windows/clisdk/bundle.wxl
2018-04-05 09:40:35 -07:00
Livar
4c948fefcc
Merge branch 'master' into merges/release/2.1.3xx-to-master 2018-04-05 09:09:45 -07:00
Nick Guerrera
b6174af511 Implement dotnet publish --no-build 2018-04-04 15:03:29 -07:00
Livar
a7bfaacf99
Merge branch 'master' into merges/release/2.1.3xx-to-master 2018-04-04 10:16:22 -07:00
Livar
721c068376
Merge branch 'release/2.1.2xx' into merges/release/2.1.1xx-to-release/2.1.2xx 2018-04-04 10:15:45 -07:00
Peter Huene
19090744cb
Fix failure to add tools path on restricted Windows environments.
On environments where registry access is disabled, the first run experience
fails because it could not add the tools path to the user's environment.

This fix properly handles the security exception by printing a warning and
continuing.  Users will have to manually add the PATH environment variable to
their environments to prevent `dotnet tool install` from printing PATH
instructions.

A new file sentinel is added to track whether or not the PATH has been
modified.  The first run experience also now correctly skips modifying the PATH
if `DOTNET_SKIP_FIRST_TIME_EXPERIENCE` is set.

Fixes #8874.
2018-04-03 16:27:01 -07:00
Peter Huene
0181c67bb0
Fix validation of tool-path option for tool list and uninstall commands.
This commit checks that the `--tool-path` option for the `tool list` and `tool
uninstall` commands is a directory that exists.

If the directory does not exist, an error and the command help is displayed.

Fixes #8931.
2018-04-03 16:02:14 -07:00
Livar Cunha
b1fca8c4d2 Replacing the short form version of implicit msbuild parameters with longform ones. 2018-04-02 22:54:51 -07:00
Livar
0ca2c9fdc8
Merge pull request #8942 from wli3/better-error-message
Show version guide only when restore fails
2018-04-02 21:35:55 -07:00
Livar Cunha
10289504a8 Replacing all implicit msbuild parameters from using a forward slash to using a dash. 2018-04-02 14:49:52 -07:00
Livar Cunha
7c37c9a069 Changing the /m /v:m default parameters to msbuild to -m and -v:m to avoid confusing that with files on unix machines. 2018-04-02 12:41:21 -07:00
William Li
e70f07178a
Apphost shim (#8893)
* Publish app host to folder under SDK

* Use carried apphost as shim

* Remove full framework launcher

* Fix test run command issue

* Use latest release/2.1 build

* Test with 32 bit env

* Add missing return

* Update to latest prodcon build

* Add xlfs
2018-04-02 12:37:25 -07:00
Livar Cunha
370243ab81 Adding a work around for publishing self-contained apps to RIDs that are not available for Microsoft.NETCore.App 2.0.0. 2018-03-30 17:57:03 -07:00
Peter Huene
abcdeba455
Merge pull request #8950 from peterhuene/server-command
Implement `buildserver shutdown` command.
2018-03-30 17:19:29 -07:00
Peter Huene
3488a84c35
Implement buildserver shutdown command.
This commit implements the `buildserver shutdown` command that can be used to
shutdown MSBuild, VB/C# compiler, and Razor build servers.

By default, all three build servers are shut down.  Options can be passed to
shut down a subset of the build servers.

Fixes #8185.
2018-03-30 15:13:52 -07:00
Daniel Plaisted
a9742686ed Infer test packages path in tests if TEST_PACKAGES environment variable isn't set 2018-03-30 14:39:12 -07:00
Livar Cunha
5b8949e66b Updating the runtime to 2.0.7 and the CLI branding to 2.1.104. 2018-03-30 13:17:14 -07:00
Daniel Plaisted
8b1b153651 Add latest patch versions to BundledVersions.props, and tests to make sure that they are up to date 2018-03-30 11:32:36 -07:00
Livar Cunha
9ba1de58de Revert the runtime to 2.0.6 because we need to service the SDK with a new NuGet. 2018-03-29 22:29:46 -07:00
William Li
f949fb884e Show version guide only when restore fails 2018-03-29 17:29:05 -07:00
Livar Cunha
6600612b9e Adding new docker files for opensuse.42.3, ubuntu.18.04 and fedora.27 and removing the project.json CLI from the build. It was not being used anymore. 2018-03-27 10:24:10 -07:00
Maira Wenzel
c551b88048 added in use info to the --version option 2018-03-26 18:16:56 -07:00
William Lee
76d4824c39
Add xml setting version warning (#8860) 2018-03-26 12:50:09 -07:00
Livar
14098449e5
Merge pull request #8863 from mlorbetske/dev/mlorbe/UpdatePrecedenceOfAspNetUrlsForLaunchSettings
Update launch settings for ApplicationUrl handling
2018-03-23 13:06:47 -07:00
Mike Lorbetske
eec79d83fc Try shorter test names 2018-03-23 10:30:47 -07:00
Peter Huene
e61a7a3570
Merge pull request #8796 from peterhuene/project-type-guid
Fix project type GUIDs when adding projects to solution files.
2018-03-22 22:27:01 -07:00
Peter Huene
e30fe29aab
Fix project type GUIDs when adding projects to solution files.
This commit ensures the correct property (`ProjectTypeGuids`) is respected when
adding a project to a solution file.

Additionally, we now error if a project type GUID cannot be determined rather
than incorrectly mapping to the C# project type.

Enabled previously disabled tests that were waiting on upstream changes from
MSBuild and F#.

Fixes #5131.
Fixes #7742.
2018-03-22 21:32:39 -07:00
Jeff Kluge
8d7009cb83 Move some projects to netstandard2.0 (#8692)
* Move some projects to netstandard2.0

* Use version agnostic $(TargetFrameworkIdentifier) property to make changing versions easier since we only care about .NET Framework vs .NET Standard
* Add missing project to solution file
* Update TestPackageProjects.targets to use netstandard2.0 on non-Windows
2018-03-22 16:11:51 -07:00
Mike Lorbetske
c1fff9649a Update launch settings for ApplicationUrl handling 2018-03-21 21:19:24 -07:00
William Lee
149bdfd0fa
Change command order for tools (#8862)
dotnet install tool -> dotnet tool install
dotnet uninstall tool -> dotnet tool uninstall
dotnet list tool -> dotnet tool list
dotnet update tool -> dotnet tool update
2018-03-21 19:12:32 -07:00
Peter Huene
60d71618be
Implement the --tool-path option for the list tool command.
This commit implements the missing `--tool-path` option for the list tool
command.  This enables the command to list locally installed tools.

Fixes #8803.
2018-03-20 16:54:50 -07:00
Peter Huene
4f8ac7dce5
Ensure tool package store root is a full path.
This commit fixes the tool package store such that it stores a full path
instead of, potentially, a relative path.

This prevents a relative path from inadvertently being passed to NuGet
during the restore and causing it to restore relative to the temp project
directory.

Fixes #8829.
2018-03-20 16:54:34 -07:00
Peter Huene
3ce2d4da0f
Fix list tool command tests to be localizable.
Currently the list tool command tests, while localizing the column headers,
didn't properly take into account the fact that localized builds might produce
strings longer than the English versions of the column header strings.  This
results in a mismatch of the actual from the expected due to additional column
padding.

The fix is to stop using a static expected table and do a simple calculation of
the expected table based on the length of the localized strings.

Fixes issue related to PR #8799.
2018-03-20 16:53:49 -07:00
Nate McMaster
ba8e18dac7
Fix #4139 - escape quoted strings for process start 2018-03-20 16:53:42 -07:00
William Lee
9cc2b7cd2f
Change --source to --source-feed and make it additional (#8833)
Other than change source to source-feed and make it additional instead of exclusive. I changed source to be multiple. Because restore support multiple source https://github.com/Microsoft/dotnet/issues/361

As for mock. The offline feed and source feed is considered the same, so remove the category of “source”. I renamed source to “AdditionalFeed” because that is more accurate on implementation level.

Note:
NuGet feed don’t have order. Whichever responses the fastest, is the first.
No change on restore.

scripts/cli-test-env.sh change is due to mac 10.13 is finally added to RID graph. And it is “considered” one of the CLI supported RID
2018-03-19 22:22:45 -07:00
William Lee
3f09a889d9
Update tool (#8794) 2018-03-15 19:45:11 -07:00
Livar
6d9177f143
Merge pull request #8770 from livarcocc/re_enable_template_test
Re-activate templating test.
2018-03-13 18:11:23 -07:00
Livar
782354acf9
Removing left over comment. 2018-03-13 10:19:44 -07:00
Livar Cunha
a6db27bdd7 Re-activating the net461 tests for the Resolver in the hopes that the failures fixed themselves. 2018-03-12 15:06:25 -07:00
Livar Cunha
b0e57e1712 Re-activate templating test. 2018-03-12 13:16:45 -07:00
William Lee
3861fc1700
Convert to graceful exception (#8751) 2018-03-08 15:49:16 -08:00
Peter Huene
4c2b07023a
Merge pull request #8734 from peterhuene/tool-install-message-cleanup
Remove temp project path from tool install warnings and errors.
2018-03-08 15:05:51 -08:00
Peter Huene
52478e8947
Stop modifying current working directory from test.
This commit fixes the ToolPackageInstaller tests so that they no longer modify
the current working directory.  The directory being set is now being properly
passed in as an argument to override the default of the current working
directory.

Additionally, this commit also changes the package root to a temp location
rather than based off of the current working directory.
2018-03-08 13:46:01 -08:00
Livar
a71450a305
Merge pull request #8736 from livarcocc/improve_info
Updating the dotnet --info message.
2018-03-07 21:27:58 -08:00
Livar Cunha
9da134cad1 Localizing portions of dotnet --info. 2018-03-07 12:39:46 -08:00
Livar Cunha
b8685bebb9 Updating the dotnet --info message. 2018-03-07 09:40:06 -08:00
Peter Huene
e2d9c2f892
Remove temp project path from tool install warnings and errors.
This commit attempts to filter the diagnostic messages emitted during tool
installation.  The diagnostic messages may be prefixed with the temporary
project; since this is an implementation detail that only causes confusion and
clutter in the diagnostic messages, the prefix is removed if present.

Fixes #8707.
2018-03-06 17:12:32 -08:00
William Lee
0598e6cb70
tool-path option -- "Session tool" (#8716)
* Change to escape string via XML

* tool-path option -- "Session tool"

From the beginning design, shim and packageInstaller take package location from constructor and don't have assumption anymore. From previous discussion, tool-path will simply change global location to the one user want, and everything else is the same.

However, this "override" need to happen during the call, that means InstallToolCommand will create different shim and packageInstaller object according to the tool-path during the call instead of constructor DI.

* global package location change

* block of leading dot as command name

* Localization of tool-path option
2018-03-06 15:58:05 -08:00
Livar
c83cafcf33
Merge pull request #8713 from livarcocc/clean_verbosity
Make the default verbosity for dotnet clean `normal`. This way we can…
2018-03-06 10:36:23 -08:00
Peter Huene
0cdc4b8f19
Merge pull request #8691 from peterhuene/list-command
Implement the `list tool` command.
2018-03-05 16:52:40 -08:00
Peter Huene
da90a08ada
Implement tests for the list tool command.
This commit implements tests for the `list tool` command.
2018-03-05 10:18:48 -08:00
Peter Huene
5ebbd618ec
Fix case sensitivity of tool package identifiers.
This commit fixes the case sensitivity of tool package identifiers.

Previously the install and uninstall commands unintentionally required the tool
package ids to specified in all lowercase for the install / uninstall to work.

Fixes #8682.
2018-03-05 10:18:41 -08:00
Peter Huene
4490fd5aa8
Implement list tool command.
This commit implements the `list tool` command.

The command is responsible for displaying a list of install global tools.

Fixes #8548.
2018-03-02 14:59:11 -08:00
Livar Cunha
6072355340 Make the default verbosity for dotnet clean normal. This way we can get some meaningful output out of the command. 2018-03-01 14:09:06 -08:00
Livar
28223a0caf
Merge pull request #8701 from dotnet/livarcocc-patch-1
Update SDK to 2.1.300-preview2-62628-06
2018-02-28 20:40:33 -08:00
William Li
e7759edfdb Rename test to walk around test fail
And a separate issue will continue the investigation of why rename fixed
a test failure
2018-02-28 14:09:32 -08:00
Livar Cunha
9c5c453da5 Fixing the expected path to the generateDeps.proj file, now that the SDK moved away from the build folder. 2018-02-28 13:20:17 -08:00
Dan Moseley
f9c40ce94d Log Windows product type and installation type, and Linux libc version (#8688)
* Installation type

* Product Type

* Libc Release and Version

* Catch all

* Fix test

* Fix mac test

* Extract class

* Remove CharSet

* Remove extraneous assignment

* Missing space

* Typo

* Fix comment XML

* CR feedback
2018-02-27 18:55:35 -08:00
Peter Huene
9ef495327a
Implement a printable table.
This commit implements a simple printable table that can be used to display
tabular data.

The columns of the table can specify a maximum width which will cause the
column text to wrap around to the next line.
2018-02-27 15:57:53 -08:00
Jeff Kluge
8f7b58dd66
Move some projects to netstandard2.0 (#8692)
* Move some projects to netstandard2.0

* Use version agnostic $(TargetFrameworkIdentifier) property to make changing versions easier since we only care about .NET Framework vs .NET Standard
* Add missing project to solution file
* Update TestPackageProjects.targets to use netstandard2.0 on non-Windows
2018-02-27 13:59:59 -08:00
Peter Huene
2ff85cdd9a
Update description of uninstall command to match install command.
This commit updates the help text of the uninstall command to match the install
command's help text.
2018-02-26 18:29:40 -08:00
William Lee
c28f4a2e34
Pass any as rid (#8677) 2018-02-26 11:46:01 -08:00
Peter Huene
aab9af71b8
Implement uninstall tool command.
This commit implements the `uninstall tool` command.

The `uninstall tool` command is responsible for uninstalling global tools that
are installed with the `install tool` command.

This commit heavily refactors the ToolPackage and ShellShim namespaces to
better support the operations required for the uninstall command.

Several string resources have been updated to be more informative or to correct
oddly structured sentences.

This commit also fixes `--version` on the install command not supporting ranges
and wildcards.

Fixes #8549.

Issue #8485 is partially fixed by this commit (`--prerelease` is not yet
implemented).
2018-02-19 22:46:16 -08:00
William Lee
08f050c012
bundled DotnetTool (#8606)
Extract packages to DotnetTools folder under sdk/{version}

Add new resolver to discover it

Add test to enforce package structure. It will fail when the structure
changed
2018-02-16 13:32:29 -08:00
Livar Cunha
3f2bdcfbf4 Fixing the URLs for the msbuildscript.tests to use the new asp.net runtime folder as well. 2018-02-15 12:58:21 -08:00
Livar Cunha
f19b3fddc9 Merge remote-tracking branch 'dotnet/release/2.1.3xx' into merges/release/2.1.3xx-to-master
* dotnet/release/2.1.3xx:
  Update to aspnetcore 2.1.0-preview1-28275 and react to feed layout changes (#8611)
  "ExternalRestoreSources" needs to be set in the docker container (#8602)
  Signing nupkg contents (Cli.Utils and MSBuildResolver) along with the rest of the compiled assemblies.
  Use satellites from roslyn package, not cli-deps-satellites
  Update to roslyn 2.7.0-beta3-62612-07 for 2.1.1xx
  Support TildeSlash expand (#8589)
  Port Kernel Version telemetry to preview1
  Do not create a directory with a trailing space; it cannot be deleted by conventional methods. (#8587)
  Consume generic aspnetcore rpm installers
  Insert NuGet Build 4.6.0-rtm-4918 into cli
  Adding roslyn to automatic dependency flow through maestro.
  Fixing update dependency by using the new APIs. We broke this when we updated the version of VersionTools.
  MSBuild 15.6.81
  Update SDK to 2.1.300-preview1-62608-07
  MSBuild 15.6.80

 Conflicts:
	build/DependencyVersions.props
	test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs
2018-02-15 11:57:36 -08:00
Peter Huene
32eeb5ddd5
Updating runtime to 2.0.6. 2018-02-13 18:54:35 -08:00
danmosemsft
aa90d8efd2 Port Kernel Version telemetry to preview1 2018-02-09 17:20:50 -08:00
John Beisner
82f9d6e530
Do not create a directory with a trailing space; it cannot be deleted by conventional methods. (#8587) 2018-02-09 17:17:36 -08:00
Livar
fbc76ea5f6
Merge pull request #8416 from yanchenw/master
Adds Microsoft.Docker.Sdk to CLI
2018-02-09 14:02:08 -08:00
Livar
adfc2037db
Merge branch 'master' into master 2018-02-08 16:39:20 -08:00
Nick Guerrera
6677d8f0b6 Merge branch 'master' into loc_20180129_master 2018-02-08 15:48:10 -08:00
Nick Guerrera
a82d52183f Fix unit test with hard-coded English message expectation 2018-02-08 15:24:40 -08:00
Livar Cunha
f752dd7fc7 Merge branch 'release/2.1.3xx' into merge_release_213xx
* release/2.1.3xx: (51 commits)
  Removing all references to a static 'aspnetpatch' Nuget.Config (#8556)
  Updating the MSI Installation Note message. Also had to shift components around slightly to make it fit.
  Fixing recent CLI test failures around ASP.NETcore in the orchestrated build (#8553)
  The BuildTasksFeedTool version and the VersionTools version should be in sync to prevent incompatabilities between these two packages.
  Update to aspnetcore 2.1.0-preview1-28228
  Adding the VBCSCompiler to the list of signed files due to crossgen.
  Ensure ASP.NET Core is included in macos .pkg installer and update to 2.1.0-preview1-28226
  Remove obsolete F# satellite package
  MSBuild 15.6.76
  Update F# to match dev15.6 preview 4
  Excluding shared framework assemblies from the Roslyn folder in the SDK.
  Insert NuGet Build 4.6.0-rtm-4880 into cli
  Updating Roslyn to 2.7.0-beta3-62529-05.
  Update fsharp compiler to match preview 4
  Insert NuGet Build 4.6.0-rtm-4862 into cli
  MSBuild 15.6.70
  Insert NuGet Build 4.6.0-rtm-4859 into cli
  MSBuild 15.6.69
  Update package reference
  update fsharp compiler to match vs2017.6 preview 3
  ...

 Conflicts:
	build/DependencyVersions.props
2018-02-08 09:50:59 -08:00
John Beisner
be228a492f
Removing all references to a static 'aspnetpatch' Nuget.Config (#8556) 2018-02-07 14:58:09 -08:00
John Beisner
d3263aafb8
Fixing recent CLI test failures around ASP.NETcore in the orchestrated build (#8553)
* Fixing recent CLI test failures around ASP.NETcore in the orchestrated build.

* Put back the dotnet-migrate test's 'tempaspnetpatch' Nuget.config

* Fixing typos...
2018-02-07 09:59:13 -08:00
William Lee
5fa558a2ed
Atomic install tool (#8518)
* Make dotnet install tool atomic

Apply TransactionScope to tool install. It can handle the correct timing
of roll back and commit.

Convert existing ToolPackageObtainer and ShellShimMaker by passing logic
via lambda to an object that has IEnlistmentNotification interface. It
turns out the very clean.

Use .stage as staging place to verify of package content, and shim. It
should roll back when something is wrong. When there is ctrl-c, there
will be garbage in .stage folder but not the root of the package folder.
2018-02-06 13:38:06 -08:00
Livar Cunha
2980fdbfa1 Merge branch 'release/2.1.3xx' into merge_release_213xx
* release/2.1.3xx:
  Infrastructure updates: CLI:master -> release/2.1.3xx (#8541)
  Fixing the recent CLI test failures around ASP.NETcore in the orchestrated build: adding a 'dotnet-corefxlab' feed. (#8536)
  Update BranchInfo.props
  Update the branch info to be correct for 2.1
  [Fixes #8511] Update ASP.NET Core certificate installation message
  Excluding shared framework assemblies from the Roslyn folder in the SDK.
  Updating Roslyn to 2.7.0-beta3-62529-06.
2018-02-05 15:55:31 -08:00
Nate McMaster
d29a9b015e Update to aspnetcore 2.1.0-preview1-28228 2018-02-05 15:52:17 -08:00
John Beisner
e260e79229
Fixing the recent CLI test failures around ASP.NETcore in the orchestrated build: adding a 'dotnet-corefxlab' feed. (#8536) 2018-02-05 10:38:53 -08:00
Peter Huene
7ebfdde749
Add verbosity option to install tool command.
This commit adds the `--verbosity` option to the `install tool` command.

MSBuild/NuGet output is now controllable by the user and defaults to being "quiet".

This enables users to see warnings from NuGet that otherwise would be swallowed
unless NuGet returned a non-zero exit code. As a byproduct of this change, the
exception handling and error messages related to obtaining tool packages was
retooled. We no longer display `install tool` command line help for installation
failures, as it should only be displayed for command line syntax errors.

Fixes #8465.
2018-01-31 15:19:34 -08:00
Peter Huene
d8d600d44e
Merge branch 'release/2.1.3xx' into master
* release/2.1.3xx:
  Updating the WebSdk DependencyVersion to support local build
  Fix non-fatal null exception when no extra parameters are passed.
  Separate tool package and shim file location
  Updating the CLI branding and version to 2.1.300.

* Conflicts
  src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs
  run-build.ps1
  build/Version.props
2018-01-30 16:47:05 -08:00
William Lee
55eb8bb7fc
replace string with FilePath (#8494) 2018-01-30 15:41:39 -08:00
William Lee
78904831f9
Fix test folder cannot delete and missing test (#8480) 2018-01-25 20:17:33 -08:00
William Lee
9e535a867a
Remove PackageToProjectFileAdder (#8468)
Add reference to project with version * is doing the same thing
2018-01-24 17:55:26 -08:00
William Lee
05052c0541
Use rich mock to test InstallCommand (#8402)
To ensure the mock has the same behavior the component has, run mock under the same tests the adapter has.
It is a common problem that moq has -- "everything is mocked out, you are not test anything"
2018-01-24 10:16:27 -08:00
William Li
36c01137ad Separate tool package and shim file location 2018-01-22 16:30:52 -08:00
William Lee
02a98d4e63
[tools] Integrate NuGet (#8414)
* Integrate NuGet ask

* Update NuGet version. Rely on NuGet to filter TFM. And use asset.json to find entrypoint

* Update XML file to per TFM

* Add extra property to the fake project according to nuget

* Treat nuget fallback folder as offline cache for tool

* Require -g to install global tool

* Copy test asset during test project build

* Address code review on LockFileMatchChecker

* Get NETCorePlatformsImplicitPackageVersion from PackageDefinitions

* Edit and add missing loc

* Change LockFileMatchChecker to local function

* Adding comment

* Add to content instead of copy

* Download platform package instead

* disable SDK side implicit NuGetFallbackFolder

* merge loc

* Revert extra line

* use a prerelease platforms version that supports alpine
2018-01-19 17:15:34 -08:00
Nate McMaster
fa47e95e90
Generate a .NET Framework shim app in dotnet-install-tools on Windows instead of a batch script (#8384)
Implement a simple launcher tool for running new processes on Windows

- This application takes two parameters via the .exe.config configuration file

 - entryPoint: required - the file path to the new process being launched
 - runner: optional - the executable or interpretter used to launch the
entryPoint

- Update dotnet-install-tool to generate an exe instead of a batch script file
2018-01-18 14:54:10 -08:00
Peter Huene
3c1911bd67
Update runtime and branding to 2.0.6. 2018-01-18 11:10:25 -08:00
Yanchen Wu
5b5d69c95d Adds Microsoft.Docker.Sdk to CLI
This change is to add Sdk.props and Sdk.targets of Microsoft.Docker.Sdk
into CLI. This unblocks the scenario where a VS solution contains a few
.NET Core projects as well as a docker-compose.dcproj project and people
want to build the solution from command line with .NET Core CLI. With
the Sdk.props and Sdk.targets being present in CLI, building
docker-compose.dcproj becomes no-op so it won't block building the other
.NET Core projects.
2018-01-17 11:12:19 -08:00