Commit graph

3220 commits

Author SHA1 Message Date
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
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
Livar
e7ebf48578
Merge pull request #9199 from livarcocc/remove_word_please
Removing the word please from the ASP.NET first run message.
2018-05-04 13:25:31 -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
Livar Cunha
488711b4ff Removing the word please from the ASP.NET first run message. We are not supposed to use it. 2018-05-04 10:12:00 -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
bf5ad90bcf
Merge pull request #9182 from wli3/add-bundled-tool-description
Add additional tools to help text
2018-05-03 10:55:37 -07:00
Livar Cunha
8c2160b6a0 Removing some patches for source build. 2018-05-02 11:59:01 -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
Livar
f87c6e7d11
Merge pull request #9178 from natemcmaster/namc/disable-aspnet
Add a property to disable bundling ASP.NET Core tools and runtimes
2018-05-01 15:56:32 -07:00
William Li
46d4b71814 Add additional tools to help text 2018-05-01 14:28:15 -07:00
Nate McMaster
c382932ec4
Fix #if to match .csproj constant 2018-05-01 12:45:50 -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
Nate McMaster
b0c5fddc04
Add a property to disable bundling ASP.NET Core tools, templates, and runtimes 2018-04-30 17:49:09 -07:00
Zbyněk Sailer
47a65f258a
LOC CHECKIN | dotnet/cli release/2.1.3xx | 20180427 2018-04-30 14:50:26 -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
William Li
008e5f3d97
Remove -f short hand in dotnet tool install (#9102) 2018-04-23 13:23:35 -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
Peter Huene
8e01912b36
Merge pull request #9089 from peterhuene/buildserver-command-rename
Rename buildserver command.
2018-04-18 11:42:54 -07:00
William Li
34060d3a23
pick up nuget loc (#9090) 2018-04-18 11:18:14 -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
William Li
b0610b9116 Add doc link for both dotnet-tool and dotnet-buildserver 2018-04-16 21:42:45 -07:00
William Li
6851961c16 Better help text on dotnet tool 2018-04-16 10:51:43 -07:00
Nick Guerrera
c2713b41c3
Merge pull request #9020 from v-zbsail/loc_20180403_master
LOC CHECKIN | dotnet/cli master | 20180409
2018-04-11 17:55:36 -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
Livar Cunha
18dd8107f2 Removing the explicit dependency on System.Diagnostics.Process from Cli.Utils. Use the assembly from netstandard. 2018-04-10 10:37:09 -07:00
Livar Cunha
82a85aa269 Updating the dev-certs message displayed in the first run experience. 2018-04-09 11:57:11 -07:00
Zbyněk Sailer
5cdfca4e94 LOC CHECKIN | dotnet/cli master | 20180409 2018-04-09 15:18:54 +02: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
42e0afff1d Tweak --no-build messages based on PR feedback 2018-04-05 16:07:52 -07:00
Livar
94a69a95b8
Merge pull request #8933 from dotnet/merges/release/2.1.3xx-to-master
Merge release/2.1.3xx to master
2018-04-05 13:27:53 -07:00
Livar
c3a1fecd99
Merge pull request #9001 from livarcocc/automatic_build_numbers_installers
Automatic build numbers flow into installers
2018-04-05 10:50:33 -07:00
Livar
4c948fefcc
Merge branch 'master' into merges/release/2.1.3xx-to-master 2018-04-05 09:09:45 -07:00
Livar Cunha
b09b6bff26 Generating the conclusion.html files dynamically so that we don't need to set the version in them everytime our branding changes. 2018-04-04 20:57: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
cee27d3970
Merge pull request #8886 from peterhuene/first-run-tool-path
Fix failure to add tools path on restricted Windows environments.
2018-04-03 21:14:30 -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
a600b1b206
Merge pull request #8979 from livarcocc/remove_utils_explicity_dependency
Removing the explicit dependency on System.Diagnostics.Process from Cli.Utils
2018-04-03 15:22:03 -07:00
William Li
d3f69e2e01
Skip bundled dotnet tools (#8977) 2018-04-03 14:36:59 -07:00
William Li
ef389bb6b3
Add null check for Environment.GetEnvironmentVariable (#8970) 2018-04-03 14:36:19 -07:00
Livar Cunha
de81fbec2a Removing the explicit dependency on System.Diagnostics.Process from Cli.Utils. Use the assembly from netstandard. 2018-04-03 13:28:53 -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
e79425b27d
Merge pull request #8957 from natemcmaster/dev-cert-msg
Remove instruction to install dotnet-dev-certs separately
2018-04-02 10:33:08 -07:00
Nate McMaster
3986b570c7
Remove instruction to install dotnet-dev-certs separately 2018-03-30 22:19:08 -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
Livar
abaea13eae
Merge pull request #8919 from dsplaisted/self-contained-roll-forward
Add latest patch versions to BundledVersions.props, and tests to make sure that they are up to date
2018-03-30 16:47:09 -07:00
William Lee
a67d1c6e06
Remove empty PATH in path resolver (#8943) 2018-03-30 16:05:41 -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
ed8c0ac3e1 Improve error message when inable to generate deps.json for project tool 2018-03-30 14:49:24 -07:00
Daniel Plaisted
6e8355b30a Show arguments passed to MSBuild in verbose log when generating deps.json for DotNetCliToolReference 2018-03-30 14:39:12 -07:00
William Li
b75de8204a Reset loc to new 2018-03-29 21:48:23 -07:00
William Li
f949fb884e Show version guide only when restore fails 2018-03-29 17:29:05 -07:00
Livar
423010bf0d
Merge pull request #8906 from mairaw/sdk-help
added in use info to the --version option
2018-03-29 12:23:05 -07:00
William Lee
1043231a4e
Fix wrong instruction (#8922) 2018-03-28 17:46:34 -07:00
Peter Huene
3e575f7a7b
Prevent default item globbing when evaluating run properties.
When `dotnet run` is executed, a project evaluation occurs to obtain properties
related to running the target executable.  Currently, this evaluation causes
the default item globs to be evaluated.  For project directories containing a
large number of files, this can be a bit performance hit since the globbing
happens twice: once for the build and again for evaluating the run properties.

This commit prevents the globbing from taking place when evaluating the run
properties.

Fixes #8103.
2018-03-27 23:46:29 -07:00
Maira Wenzel
9b5a41f80b updated xliff files 2018-03-27 14:02:49 -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
01c11876b0
Better error message to guide user when there is only preview version in the feed (#8905) 2018-03-26 16:24:36 -07:00
William Lee
76d4824c39
Add xml setting version warning (#8860) 2018-03-26 12:50:09 -07:00
Livar
b5a163c7c1
Merge pull request #8884 from rainersigwald/AndyGerlicher-MSBuild-15.7.108
MSBuild 15.7.124 for 2.1.3xx
2018-03-25 19:14:20 -07:00
Rainer Sigwald
29ac66f7d2 Keep stdout for test execution
Work around https://github.com/Microsoft/vstest/issues/1503 by using the
MSBuild escape hatch variable MSBUILDENSURESTDOUTFORTASKPROCESSES and
ensuring that tests don't run in a disconnected MSBuild process by
passing /nr:false.
2018-03-25 07:28:42 -05:00
Rainer Sigwald
d98928ed21 Keep stdout for test execution
Work around https://github.com/Microsoft/vstest/issues/1503 by using the
MSBuild escape hatch variable MSBUILDENSURESTDOUTFORTASKPROCESSES and
ensuring that tests don't run in a disconnected MSBuild process by
passing /nr:false.
2018-03-24 18:51:59 -05: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
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
Livar Cunha
39f08229a3 Updating InteropServices.Runtime to 4.3.0 in CLI utils and adding an explicit reference to netstandard 2.0 to TestFramework. 2018-03-22 20:00:34 -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
8e8426848d
Update translations following merge with conflicts.
Updating translation status for resource strings that changed upstream.
2018-03-20 16:55:10 -07:00
Zbyněk Sailer
e4e665d98a
LOC CHECKIN | cli master | 20180315 2018-03-20 16:55:00 -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
William Lee
cee0a3baa7
Better using facing string (#8809)
Fix #8728

Fix #8369
2018-03-20 16:54:09 -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