Commit graph

140 commits

Author SHA1 Message Date
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
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
Livar Cunha
e5e2256ae9 Addressing code review comments by making the Configuration class's fields readonly. 2018-05-17 14:13:14 -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
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
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
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
Javier Calvarro Nelson
08a369cf86 Prevent the ASP.NET certificate generation logic from running on the installers 2018-01-10 21:54:05 -08:00
Javier Calvarro Nelson
ad8f3da826 ASP.NET Core HTTPS development certificate support
* Added support for generating the HTTPS development certificate on the
CLI first run experience.
* On first run, an HTTPS certificate will be set up on the current user
local store.
* The environment variable DOTNET_GENERATE_ASPNET_CERTIFICATE can be used
to turn the feature off.
2017-12-07 14:31:00 -08:00
William Lee
55f62d9d64
Add install tool command (#8132)
* compose all the parts

* Fix on obtain and shim maker for better end to end experience
  * Fix error when there is space in the middle of path of nuget config
  * Fix path in profile.d is the tmp home path during install
  * better handle of ~home
  * remove profile.d file in uninstall script
  * Fix test since it looks up current directory
  * folder structure inside nupkg to tools/TFM/RID/mytool.dll
  * Add check for config file existence
  * Rename name space to Microsoft.DotNet.ShellShim
  * Rename name space to Microsoft.DotNet.ToolPackage
2017-12-04 14:13:24 -08:00
William Lee
cc80ed43e0
Tools shim maker and env path handling (#8085)
* Tools shim maker and env path handling

Includes component:

* Given executable, create shim (all three OSs)
* Add executable path to Env PATH during first run
* including manual instruction when there is no access
2017-11-27 10:45:43 -08:00
Parallels
678cf13d93 Using OrdinalIgnoreCase to work around locale specific issues when trying to determine if a command line input is an argument. 2017-11-17 16:07:23 -08:00
William Li
9a31be84d6 Fix merge 2017-10-31 13:05:46 -07:00
Livar
2031c9cf33
Merge branch 'master' into merges/release/15.5-to-master-20171031-070033 2017-10-31 10:15:11 -07:00
William Lee
cef9a90ad1
Hashed telemetry and event name change (#7919) 2017-10-27 10:58:25 -07:00
William Li
9c1fa7c9d9 Do not move forward if there is parsing error 2017-09-12 16:54:51 -07:00
Livar
96b122e26f Merge branch 'master' into merges/release/2.0.0-to-master-20170731-070024 2017-07-31 11:00:18 -07:00
Nate McMaster
e0e39d044d Show verbose output when --diagnostics is specified 2017-07-27 16:34:20 -07:00
William Li
081f208942 Add telemetry data points for .NET Core 2.0 2017-07-27 09:55:40 -07:00
Livar Cunha
20f0dac6b2 Making a change that will cause the first run notice to always show up in the first run of the CLI, even when it is installed by native installers. 2017-07-25 22:33:54 -07:00
Nick Guerrera
85573db000 Respond to PR feedback: use method names not comments 2017-07-19 11:00:09 -07:00
Nick Guerrera
60e2637143 Allow CLI UI language to be overridden by an environment variable 2017-07-18 21:20:52 -07:00
Livar Cunha
a357fd7bca Removing NuGetConfig from the first run experience and replacing the sentinel with the FirstUseNoticeSentinel when needed. 2017-06-20 10:59:23 -07:00
Livar Cunha
529d7caa79 Moving the expanding fallback folder to the dotnet folder hive. The folder will be expanded at sdk/NuGetFallbackFolder. 2017-06-20 10:59:23 -07:00
Omair Majid
34b44b999b Avoid repeating the first-run message if lzma archive is missing
If the LZMA archive is missing, the first-run message is printed every time.
This commit fixes that.

Split the first-run message into two pieces:

- The first-run (welcome and telemetry) message is printed only once, no matter
  whether the cache was primed or not.

- The cache-priming message is printed only if the cache is avaialble.
  Otherwise skip the cache introduction and the ccache priming operation.
2017-06-19 18:08:05 -04:00
Livar Cunha
3d0089552c Fixing failures in tests when the user has a fallbackfolder setup on this machine already. These failures are again due to the fact that --packages are not populated when the packages are found in the fallback folder. 2017-04-03 22:15:40 -07:00
Livar Cunha
347bd4b1fe Fixing the location of the sentinel and placing it side by side with the fallback folder. 2017-03-30 14:14:36 -07:00
Livar Cunha
0c1af8a2fe Enabling E2E tests by setting HOME and USERPROFILE env variables. This will cause the NuGet.Config and fallback folder to be extract to the location in those variables during the tests. Also refactored all NuGet path calculators for the first run to a single place. 2017-03-30 11:28:01 -07:00
Livar Cunha
a46237784e Modified the build script to generate the lzma archive without the nupkgs. Modified the configurer to upsert NuGet.Config with the fallback folder info and to extract the fallback folder. Added unit tests for all this. Next step: update E2E tests. 2017-03-30 00:11:17 -07:00
jonsequitur
3e265a98b8 fix merge issues 2017-03-19 18:48:16 -07:00
Jon Sequeira
6cfec479cb Merge branch 'master' into tab-completion 2017-03-19 18:20:29 -07:00
jonsequitur
c85492bd48 merge master 2017-03-19 17:09:05 -07:00
Jon Sequeira
35732fc07d include HelpText in CommandParsingError, write it to stdout 2017-03-14 12:26:24 -07:00
Jon Sequeira
898d10cb2d help text adjustments for dotnet sln 2017-03-14 11:23:19 -07:00
Jon Sequeira
2c96d8e8b9 throw exceptions for command not found 2017-03-13 20:06:59 -07:00
Jon Sequeira
a3f536c248 move subcommands to new parser 2017-03-10 16:43:44 -08:00
Jon Sequeira
46b799af01 trigger help display using HelpException 2017-03-09 12:31:34 -08:00
Jon Sequeira
998ac9c3eb ParseCommand 2017-03-09 10:53:17 -08:00
jonsequitur
0b94c979db publish using new parser, rename ArgsToBeForwarded 2017-03-09 07:35:06 -08:00
jonsequitur
5f227c1c45 split parser definitions across multiple files 2017-03-06 12:21:51 -08:00
jonsequitur
d40a87bc44 introduce dotnet complete command 2017-03-06 12:19:06 -08:00
Zlatko Knezevic
4da96e1ace Responding to PR feedback 2017-03-05 21:06:43 -08:00
blackdwarf
4aacb22993 Add support for dotnet help <verb>
This commit adds supports for getting more detailed help by using the
`dotnet help <verb>` syntax (e.g. `dotnet help build`). This change
opens up the URL that is specified for each verb in the default browser
on the user's machine, so internet access is required.
2017-03-04 19:19:39 -08:00
Piotr Puszkiewicz
4feaf3f124 Remove dotnet-restore-projectjson 2017-02-16 01:01:32 -08:00
Rama Krishnan Raghupathy
badab4680d Adding the shim of dotnet-cache
Adds filter profile option to publish
2017-02-13 16:01:06 -08:00
seancpeters
2d93968a88 New3 integration (#5430)
* Partial conversion to new3. 2 tests fail due to browserlink not restoring.

* new cache initialization

* More lzma changes, and removed a razor ref from templates

* Ephemeral hive flag added to tests that need it

* Updated the template engine version to build against. Minor code cleanup

* Config changes to make template versions separate from template engine versions

* Changed dotnet new versioning to use Product.Version

* Fixing Archiver.csproj

* Fixing dotnet new test.

* Fix LZMA Package Source Condition

* Workaround for newline differences.

* fixed tests with changed template parameters. Added a new3 template non-match test
2017-01-31 17:31:37 -08:00
Jon Sequeira
e8c5d23c29 display CommandParsingException gracefully (#5493)
* display CommandParsing gracefully

This set of changes handles CommandParsingException gracefuly (so as not to show the user a stack trace) and generalizes graceful exception display somewhat away from being type-specific.

* fix compile error by inlining constant

* remove unused test logging
2017-01-30 14:36:44 -08:00
Justin Goshi
f972cf80a9 Treat /? the same as --help (#5285)
* Fixes issue 4539

* Support -?
2017-01-13 01:24:12 -08:00