Commit graph

3220 commits

Author SHA1 Message Date
jbeisner
8780bab54e NuGetSdkResolverPackageVersion should be MicrosoftBuildNuGetSdkResolverPackageVersion 2018-07-30 14:52:06 +00:00
Peter Huene
b483d9b4f3
Fix test failure due to smart quotes.
Replacing the smart quotes in the translation with `"` to fix a test failure.

This is the only translation for the `DotnetCliHomeUsed` key containing the
smart quotes.
2018-07-12 14:23:18 -07:00
Peter Huene
3bdb615439
Fix translations for latest changes in release/2.1.4xx.
Unfortunately, a change went in after the loc deadline that reverted a previous
change to `src/dotnet/commands/dotnet-publish/LocalizableStrings.resx`.  The
change was to put back the `SelfContainedOptionDescription` key.

Because translation occurred without this key in the resx file, so simply running
the `UpdateXlf` target would cause `SelfContainedOptionDescription` to show up
as "new" without any translations.

I've manually fixed the translations for this key to restore the previous
translation state, which was "needs review" because of small changes that were
made to the string much earlier in 2.1.4xx development.  This way at least the
old translations which are only slightly out of date are restored, rather than
having no translations at all.
2018-07-12 13:11:42 -07:00
Zbyněk Sailer
dba04728cb LOC CHECKIN | dotnet/cli release/2.1.4xx | 20180712 2018-07-12 16:38:31 +02: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
Peter Huene
5aa6fe1ca7
Merge pull request #9566 from peterhuene/warn-on-cli-home-set
Log a verbose message when DOTNET_CLI_HOME is being used.
2018-07-06 14:46:41 -07:00
William Li
fcfcfcdaea
Merge pull request #9467 from nkolev92/restoreInteractiveFlag
Add a restore and add pkg commands interactive flag
2018-06-27 14:55:32 -07: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
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
Nikolche Kolev
c7cf8a55b8 Add DOTNET_HOST_PATH for dotnet nuget commands 2018-06-25 14:15:24 -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
Nikolche Kolev
c172433ce7 add '.' period to the command description 2018-06-20 16:40:27 -07:00
Nikolche Kolev
9cd006f591 make the interactive switch not implicit 2018-06-20 15:53:33 -07:00
Nikolche Kolev
b23c372077 fix add package parsing 2018-06-20 15:17:19 -07:00
Livar Cunha
d6fb69a4be Fix remove sln description. 2018-06-20 10:26:43 -07:00
Nikolche Kolev
dba0aa33da Update the messages per the recommendation 2018-06-19 16:33:59 -07:00
Nikolche Kolev
c7cde12e2d update xlf files 2018-06-12 12:08:18 -07:00
Nikolche Kolev
c834c8cd0b add interactive flag for the add package and restore commands 2018-06-12 11:52:50 -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
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
William Li
ea539c7f63 Add retry when Directory.Move (#9313) 2018-06-01 11:22: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
a997650cb4
Split the version of Microsoft.AspNetCore.DeveloperCertificates.XPlat into a separate variable 2018-05-31 11:54:12 -07:00
dasMulli
0b1509da5c
Change completion suggestion to standard capitalization. 2018-05-27 14:50:54 +02: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
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
William Li
ca8a109d1c
Add retry when Directory.Move (#9313) 2018-05-22 09:55:10 -07:00
Andy Gerlicher
5e794a064c Add reference to Microsoft.Build.NuGetSdkResolver 2018-05-21 15:29:37 -07:00
Andy Gerlicher
7bed83fc98 Disable crossgen for MSBuild inline-task refs 2018-05-21 15:29:37 -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 Cunha
e5e2256ae9 Addressing code review comments by making the Configuration class's fields readonly. 2018-05-17 14:13:14 -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
Peter Huene
7be6af8c3b
Merge pull request #9302 from mayankbansal018/dotnetvstestargs
Multiple Logger/TestAdapter inputs from dotnet CLI
2018-05-17 10:41:01 -07:00
Livar
f23377b19f
Merge pull request #9299 from dotnet/merges/release/2.1.3xx-to-release/2.1.4xx
Merge release/2.1.3xx to release/2.1.4xx
2018-05-17 10:35:31 -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
089d8bfc1b
Remove internal-reportinstallsuccess from dotnet complete.
This commit removes `internal-reportinstallsuccess` from `dotnet complete` by
changing the command's help text to an empty string.  This causes the parser to
treat the command as hidden and does not match the command name for
suggestions.

Fixes #9111.
2018-05-16 14:07:33 -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
Livar Cunha
2531e3a136 Add NoWarn for the stable package depending on non-stable package when packaging Cli.Utils for tests. 2018-05-16 12:44:23 -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
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
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