Commit graph

3297 commits

Author SHA1 Message Date
Daniel Plaisted
b1b9dfda09 Include templates in layout 2018-11-12 15:23:44 -08:00
Daniel Plaisted
45c3817d65 Generate bundled versions 2018-11-12 11:52:19 -08:00
Daniel Plaisted
853a27da6f Add workaround for tar warning about "file changed as we read it" in Docker under Windows host 2018-11-08 08:10:33 -08:00
Daniel Plaisted
f4209b9de6 Don't try creating tar.gz archive on Windows 2018-11-07 18:17:30 -08:00
Daniel Plaisted
2bee59a9bc Create Mac PKG 2018-11-06 14:29:00 -08:00
Daniel Plaisted
8c9e6aea55 Move / rename PKG generation targets 2018-11-05 14:11:42 -08:00
Daniel Plaisted
24ccfbae1a Generate RPM Installer 2018-11-05 13:38:10 -08:00
Daniel Plaisted
d2528332b2 Move, merge, and rename RPM targets 2018-11-04 18:52:13 -08:00
Daniel Plaisted
143bee75ff Produce deb packages 2018-11-01 23:15:59 -07:00
Daniel Plaisted
8d026b422e Move and merge deb generation targets 2018-10-31 16:42:59 -07:00
Daniel Plaisted
1e32ccfb7e Generate Windows installers 2018-10-31 16:35:14 -07:00
Daniel Plaisted
6c0c9119fc Move and rename MSI installer targets 2018-10-31 12:43:19 -07:00
Daniel Plaisted
70dd736032 Create archives for core SDK layout 2018-10-29 13:31:03 -07:00
Daniel Plaisted
ce468ec79e Move layout folder 2018-10-29 12:26:31 -07:00
Daniel Plaisted
b155e4e8bf Multitarget core sdk tasks 2018-10-29 11:37:13 -07:00
Daniel Plaisted
ac23150af3 Include DesktopUI shared framework and toolset in redist layout 2018-10-24 16:05:02 -07:00
Daniel Plaisted
584ec3c3d6 Add more components to download / layout 2018-10-24 00:08:51 -07:00
Daniel Plaisted
1344cb26c2 Lay out components in publish directory 2018-10-23 23:15:58 -07:00
Daniel Plaisted
7ab1aa5a6c Set up infrastructure to download bundled components for layout 2018-10-23 18:16:45 -07:00
Daniel Plaisted
2e76a1e5fd Build Core SDK tasks to separate folder for consumption during main build 2018-10-22 20:04:13 -07:00
Daniel Plaisted
914f465b30 Get tests and skeleton build tasks building 2018-10-22 19:59:58 -07:00
Egor Chesakov
71f120f27d Enable CrossgenPublishDir for arm and arm64 in src/redist/redist.csproj 2018-10-13 10:10:12 -07:00
Livar
2c2238a572 Adding the winforms and wpf runtime to the SDK. For now, only for zips, as we don't have a msi yet to bundle up. 2018-08-13 17:04:48 -07:00
jbeisner
1537818815 The target: "PublishVersionFile" fails to fire as it is pinned to [line 30] AfterTargets="Publish" and [line 118] BeforeTargets="Publish" 2018-08-07 17:38:24 +00:00
Chris Rummel
5fab2468f5
Add dependency for restoring packages before trying to find Microsoft.NETCore.DotNetAppHost package.
This appears to be a difference between the 2.2.0-preview SDK currently
being used in core-sdk and the 2.1.401-preview SDK currently being used
in source-build.  In the 2.2.0 SDK, this target happens to run before
the resolved package list is used, but in the 2.1.401 it is not, so I
added the explicit dependency (doesn't affect anything in the 2.2.0 SDK).
2018-07-18 21:04:14 -05:00
jbeisner
d88a7ce337 The SDK-version directory under the SDK directory should match the advertised SDK version. 2018-07-17 16:40:52 +00:00
Daniel Plaisted
b3be19b820 Fix up runtimeconfig.json files for tools (dotnet, MSBuild, VSTest, etc) to target .NET Core 3.0 2018-07-09 13:46:04 -07:00
Parallels
4d9b015f8f Fixing a merge issue and crossgen issues. 2018-06-26 14:44:55 -07: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
Livar
0e346aa5ba
Merge pull request #9360 from SimonCropp/patch-1
Update Sha256Hasher.cs
2018-06-05 22:46:18 -07:00
Livar
670dcedba2
Merge pull request #9381 from dotnet/merges/release/2.1.4xx-to-master
Merge release/2.1.4xx to master
2018-06-05 22:45:53 -07:00
William Li
48ee97fb42
Merge pull request #9371 from svick/patch-4
Simplified combining dictionaries in Telemetry
2018-06-04 13:43:13 -07:00
Livar
447bd91100
Merge branch 'master' into merges/release/2.1.4xx-to-master 2018-06-04 11:38:31 -07:00
Maira Wenzel
7ce47778b4 fix typo (#9364)
* fix typo

* add loc files
2018-06-01 14:16:41 -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
Petr Onderka
139fc86dbc
Simplified combining dictionaries in Telemetry 2018-05-31 01:03:27 +02:00
Simon Cropp
ca8fefb1be
Update Sha256Hasher.cs 2018-05-29 23:00:23 +10: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
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
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
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
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
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
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
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
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
Petr Onderka
6c9942bae6 Use NuGet autocomplete API for add-package suggestions (#9171) 2018-05-01 15:39:12 -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
Steve MacLean
8c937a0db0 [Arm64] Add crosscomponent crossgen (#9011) 2018-04-17 16:54:01 -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