Commit graph

2342 commits

Author SHA1 Message Date
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