Commit graph

3297 commits

Author SHA1 Message Date
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
William Lee
3f09a889d9
Update tool (#8794) 2018-03-15 19:45:11 -07:00
John Beisner
2a63f9e76c
Merge pull request #8788 from dotnet/merges/release/2.1.3xx-to-master
Merge release/2.1.3xx to master
2018-03-15 13:15:51 -07:00
John Beisner
a54f0ffb81
Enable 'arm' builds in the CLI (#8791)
* First draft enablement of Win-arm and Linux-arm builds for the CLI.

* Fixing a typo

* Disable tests for arm; enable badges and FinalizeBuild for arm.

* Remove the 'Win-arm' leg.

* Update the README

* Update the README [2]

* Update netci.groovy

* Fixing a hard-coded Architecture: 'linux-x64'; removing the LZMA for 'arm'.
2018-03-14 19:04:25 -07:00
John Beisner
dbcd83075c
Creating and publishing 'symbols.nuget' to the blob feed. (#8712)
* Creating and publishing '*.symbols.nuget' to the blob feed.

* Reverting 'generatenupkg' methodology.

* Fixing formatting...

* Overwrite should = 'false'

* Second draft - Creating and publishing '*.symbols.nuget' to the blob feed.

* Fixing a VS auto-update.

* Removing the 'Microsoft.SymbolUploader.Build.Task' modifications; need to make a PR just for this.

* Change "sdk.*.Microsoft.DotNet.SDK.*.symbols.nupkg" to "runtime.*.Microsoft.DotNet.SDK.*.symbols.nupkg"; removing the 'DotNetRestore' on the Symbols.csproj

* Removing a 'todo' comment...

* Putting back the 'dotnet restore'

* Fixing a typo...

* Logical separation of the 'nupkg' from the 'symbols.nupkg' enumeration; fixed 'swr' pattern.

* Add "BLOBFEED_STORAGE_CONTAINER"
2018-03-13 08:19:15 -07:00
William Lee
3861fc1700
Convert to graceful exception (#8751) 2018-03-08 15:49:16 -08:00
Peter Huene
4c2b07023a
Merge pull request #8734 from peterhuene/tool-install-message-cleanup
Remove temp project path from tool install warnings and errors.
2018-03-08 15:05:51 -08:00
Peter Huene
52478e8947
Stop modifying current working directory from test.
This commit fixes the ToolPackageInstaller tests so that they no longer modify
the current working directory.  The directory being set is now being properly
passed in as an argument to override the default of the current working
directory.

Additionally, this commit also changes the package root to a temp location
rather than based off of the current working directory.
2018-03-08 13:46:01 -08:00
Livar
a71450a305
Merge pull request #8736 from livarcocc/improve_info
Updating the dotnet --info message.
2018-03-07 21:27:58 -08:00
William Lee
495630fe97
when process has not env, but future will, show the instruction (#8739) 2018-03-07 19:46:38 -08: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
Peter Huene
e2d9c2f892
Remove temp project path from tool install warnings and errors.
This commit attempts to filter the diagnostic messages emitted during tool
installation.  The diagnostic messages may be prefixed with the temporary
project; since this is an implementation detail that only causes confusion and
clutter in the diagnostic messages, the prefix is removed if present.

Fixes #8707.
2018-03-06 17:12:32 -08:00
William Lee
0598e6cb70
tool-path option -- "Session tool" (#8716)
* Change to escape string via XML

* tool-path option -- "Session tool"

From the beginning design, shim and packageInstaller take package location from constructor and don't have assumption anymore. From previous discussion, tool-path will simply change global location to the one user want, and everything else is the same.

However, this "override" need to happen during the call, that means InstallToolCommand will create different shim and packageInstaller object according to the tool-path during the call instead of constructor DI.

* global package location change

* block of leading dot as command name

* Localization of tool-path option
2018-03-06 15:58:05 -08:00
Livar
c83cafcf33
Merge pull request #8713 from livarcocc/clean_verbosity
Make the default verbosity for dotnet clean `normal`. This way we can…
2018-03-06 10:36:23 -08:00
Peter Huene
0cdc4b8f19
Merge pull request #8691 from peterhuene/list-command
Implement the `list tool` command.
2018-03-05 16:52:40 -08:00
Peter Huene
da90a08ada
Implement tests for the list tool command.
This commit implements tests for the `list tool` command.
2018-03-05 10:18:48 -08:00
Peter Huene
5ebbd618ec
Fix case sensitivity of tool package identifiers.
This commit fixes the case sensitivity of tool package identifiers.

Previously the install and uninstall commands unintentionally required the tool
package ids to specified in all lowercase for the install / uninstall to work.

Fixes #8682.
2018-03-05 10:18:41 -08:00
Peter Huene
4490fd5aa8
Implement list tool command.
This commit implements the `list tool` command.

The command is responsible for displaying a list of install global tools.

Fixes #8548.
2018-03-02 14:59:11 -08:00
Livar Cunha
6072355340 Make the default verbosity for dotnet clean normal. This way we can get some meaningful output out of the command. 2018-03-01 14:09:06 -08:00
Dan Moseley
f9c40ce94d Log Windows product type and installation type, and Linux libc version (#8688)
* Installation type

* Product Type

* Libc Release and Version

* Catch all

* Fix test

* Fix mac test

* Extract class

* Remove CharSet

* Remove extraneous assignment

* Missing space

* Typo

* Fix comment XML

* CR feedback
2018-02-27 18:55:35 -08:00
Peter Huene
9ef495327a
Implement a printable table.
This commit implements a simple printable table that can be used to display
tabular data.

The columns of the table can specify a maximum width which will cause the
column text to wrap around to the next line.
2018-02-27 15:57:53 -08:00
Jeff Kluge
8f7b58dd66
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-02-27 13:59:59 -08:00
Peter Huene
2ff85cdd9a
Update description of uninstall command to match install command.
This commit updates the help text of the uninstall command to match the install
command's help text.
2018-02-26 18:29:40 -08:00
Peter Huene
c3e78cca1d
Remove unused resource strings.
This commit removes unused resource strings from commands that no longer exist.
2018-02-26 18:29:40 -08:00
William Lee
c28f4a2e34
Pass any as rid (#8677) 2018-02-26 11:46:01 -08:00
Nick Guerrera
49f03538ba Fix loc test by using straight quotes 2018-02-22 17:49:15 -08:00
Nick Guerrera
8a1ff2eac0 Merge branch 'master' into loc_20180220_master 2018-02-22 16:02:54 -08:00
Zbyněk Sailer
3c2c956670 LOC CHECKIN | cli master | 20180222 2018-02-22 17:07:50 +01:00
Peter Huene
aab9af71b8
Implement uninstall tool command.
This commit implements the `uninstall tool` command.

The `uninstall tool` command is responsible for uninstalling global tools that
are installed with the `install tool` command.

This commit heavily refactors the ToolPackage and ShellShim namespaces to
better support the operations required for the uninstall command.

Several string resources have been updated to be more informative or to correct
oddly structured sentences.

This commit also fixes `--version` on the install command not supporting ranges
and wildcards.

Fixes #8549.

Issue #8485 is partially fixed by this commit (`--prerelease` is not yet
implemented).
2018-02-19 22:46:16 -08:00
William Lee
08f050c012
bundled DotnetTool (#8606)
Extract packages to DotnetTools folder under sdk/{version}

Add new resolver to discover it

Add test to enforce package structure. It will fail when the structure
changed
2018-02-16 13:32:29 -08:00
Livar Cunha
e8f521cbef Stop re-targeting Roslyn to the CLI runtime. It will roll-forward to the CLI runtime (2.1.0) through minor version roll-forward if necessary. 2018-02-15 14:21:27 -08:00
Livar Cunha
f19b3fddc9 Merge remote-tracking branch 'dotnet/release/2.1.3xx' into merges/release/2.1.3xx-to-master
* dotnet/release/2.1.3xx:
  Update to aspnetcore 2.1.0-preview1-28275 and react to feed layout changes (#8611)
  "ExternalRestoreSources" needs to be set in the docker container (#8602)
  Signing nupkg contents (Cli.Utils and MSBuildResolver) along with the rest of the compiled assemblies.
  Use satellites from roslyn package, not cli-deps-satellites
  Update to roslyn 2.7.0-beta3-62612-07 for 2.1.1xx
  Support TildeSlash expand (#8589)
  Port Kernel Version telemetry to preview1
  Do not create a directory with a trailing space; it cannot be deleted by conventional methods. (#8587)
  Consume generic aspnetcore rpm installers
  Insert NuGet Build 4.6.0-rtm-4918 into cli
  Adding roslyn to automatic dependency flow through maestro.
  Fixing update dependency by using the new APIs. We broke this when we updated the version of VersionTools.
  MSBuild 15.6.81
  Update SDK to 2.1.300-preview1-62608-07
  MSBuild 15.6.80

 Conflicts:
	build/DependencyVersions.props
	test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs
2018-02-15 11:57:36 -08:00
Livar Cunha
7e32b9a593 Merge remote-tracking branch 'dotnet/release/2.1.2xx' into merges/release/2.1.2xx-to-release/2.1.3xx
* dotnet/release/2.1.2xx:
  Use satellites from roslyn package, not cli-deps-satellites
  Update to roslyn 2.7.0-beta3-62612-07 for 2.1.1xx

 Conflicts:
	build/DependencyVersions.props
	src/redist/redist.csproj
	src/tool_roslyn_satellites/tool_roslyn_satellites.csproj
2018-02-14 15:18:29 -08:00
Nick Guerrera
bc1fb44364 Use satellites from roslyn package, not cli-deps-satellites 2018-02-12 16:52:26 -08:00
William Lee
2a493c1318
Support TildeSlash expand (#8589) 2018-02-12 14:59:43 -08:00
danmosemsft
aa90d8efd2 Port Kernel Version telemetry to preview1 2018-02-09 17:20:50 -08:00
Nick Guerrera
6677d8f0b6 Merge branch 'master' into loc_20180129_master 2018-02-08 15:48:10 -08:00
Livar Cunha
f752dd7fc7 Merge branch 'release/2.1.3xx' into merge_release_213xx
* release/2.1.3xx: (51 commits)
  Removing all references to a static 'aspnetpatch' Nuget.Config (#8556)
  Updating the MSI Installation Note message. Also had to shift components around slightly to make it fit.
  Fixing recent CLI test failures around ASP.NETcore in the orchestrated build (#8553)
  The BuildTasksFeedTool version and the VersionTools version should be in sync to prevent incompatabilities between these two packages.
  Update to aspnetcore 2.1.0-preview1-28228
  Adding the VBCSCompiler to the list of signed files due to crossgen.
  Ensure ASP.NET Core is included in macos .pkg installer and update to 2.1.0-preview1-28226
  Remove obsolete F# satellite package
  MSBuild 15.6.76
  Update F# to match dev15.6 preview 4
  Excluding shared framework assemblies from the Roslyn folder in the SDK.
  Insert NuGet Build 4.6.0-rtm-4880 into cli
  Updating Roslyn to 2.7.0-beta3-62529-05.
  Update fsharp compiler to match preview 4
  Insert NuGet Build 4.6.0-rtm-4862 into cli
  MSBuild 15.6.70
  Insert NuGet Build 4.6.0-rtm-4859 into cli
  MSBuild 15.6.69
  Update package reference
  update fsharp compiler to match vs2017.6 preview 3
  ...

 Conflicts:
	build/DependencyVersions.props
2018-02-08 09:50:59 -08:00
Livar Cunha
8408322652 Merge branch 'release/2.1.1xx' into merge_release_211xx
* release/2.1.1xx: (45 commits)
  Adding the VBCSCompiler to the list of signed files due to crossgen.
  Remove obsolete F# satellite package
  MSBuild 15.6.76
  Update F# to match dev15.6 preview 4
  Excluding shared framework assemblies from the Roslyn folder in the SDK.
  Insert NuGet Build 4.6.0-rtm-4880 into cli
  Updating Roslyn to 2.7.0-beta3-62529-05.
  Update fsharp compiler to match preview 4
  Insert NuGet Build 4.6.0-rtm-4862 into cli
  MSBuild 15.6.70
  Insert NuGet Build 4.6.0-rtm-4859 into cli
  MSBuild 15.6.69
  Update package reference
  update fsharp compiler to match vs2017.6 preview 3
  Insert NuGet Build 4.6.0-rtm-4825 into cli
  Fixing the prefercliruntime asset
  Updating the SDK dependency to 15.5.0-preview-62518-04 to fix the signing issue
  Updating the channel to release/2.1.1xx. We can manually update release/2.0 if necessary, but LTS is always updated every time we release.
  MSBuild 15.6.54
  Updates the TestPlatform to 15.6.0-preview-20180109-01
  ...

 Conflicts:
	build/BranchInfo.props
	build/Branding.props
	build/DependencyVersions.props
	build/NugetConfigFile.targets
	build/Version.props
	build/package/Installer.DEB.proj
	build/package/Installer.DEB.targets
	build/package/Installer.RPM.targets
	build_projects/dotnet-cli-build/dotnet-cli-build.csproj
	packaging/osx/clisdk/resources/cs.lproj/conclusion.html
	packaging/osx/clisdk/resources/de.lproj/conclusion.html
	packaging/osx/clisdk/resources/en.lproj/conclusion.html
	packaging/osx/clisdk/resources/es.lproj/conclusion.html
	packaging/osx/clisdk/resources/fr.lproj/conclusion.html
	packaging/osx/clisdk/resources/it.lproj/conclusion.html
	packaging/osx/clisdk/resources/ja.lproj/conclusion.html
	packaging/osx/clisdk/resources/ko.lproj/conclusion.html
	packaging/osx/clisdk/resources/pl.lproj/conclusion.html
	packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html
	packaging/osx/clisdk/resources/ru.lproj/conclusion.html
	packaging/osx/clisdk/resources/tr.lproj/conclusion.html
	packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html
	packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html
	packaging/windows/clisdk/bundle.wxl
	scripts/obtain/dotnet-install.ps1
	scripts/obtain/dotnet-install.sh
	src/tool_fsharp/tool_fsc.csproj
	test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs
	test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj
2018-02-07 12:30:22 -08:00
William Lee
5fa558a2ed
Atomic install tool (#8518)
* Make dotnet install tool atomic

Apply TransactionScope to tool install. It can handle the correct timing
of roll back and commit.

Convert existing ToolPackageObtainer and ShellShimMaker by passing logic
via lambda to an object that has IEnlistmentNotification interface. It
turns out the very clean.

Use .stage as staging place to verify of package content, and shim. It
should roll back when something is wrong. When there is ctrl-c, there
will be garbage in .stage folder but not the root of the package folder.
2018-02-06 13:38:06 -08:00
Livar Cunha
2980fdbfa1 Merge branch 'release/2.1.3xx' into merge_release_213xx
* release/2.1.3xx:
  Infrastructure updates: CLI:master -> release/2.1.3xx (#8541)
  Fixing the recent CLI test failures around ASP.NETcore in the orchestrated build: adding a 'dotnet-corefxlab' feed. (#8536)
  Update BranchInfo.props
  Update the branch info to be correct for 2.1
  [Fixes #8511] Update ASP.NET Core certificate installation message
  Excluding shared framework assemblies from the Roslyn folder in the SDK.
  Updating Roslyn to 2.7.0-beta3-62529-06.
2018-02-05 15:55:31 -08:00
Nate McMaster
bc486e787a Ensure ASP.NET Core is included in macos .pkg installer and update to 2.1.0-preview1-28226 2018-02-05 11:34:52 -08:00
Nick Guerrera
d4dedc616c
Merge branch 'release/2.1.1xx' into update_roslyn 2018-02-02 14:06:05 -08:00
Zbyněk Sailer
f0be5cc1ef LOC CHECKIN | cli master | 20180202 2018-02-02 12:31:06 +01:00
Livar
89898c5a45
Merge pull request #8512 from javiercn/javiercn/update-message
Update ASP.NET Core certificate installation message
2018-02-01 19:07:20 -08:00
Nick Guerrera
ad1292bac2 Remove obsolete F# satellite package 2018-02-02 02:44:14 +01:00
Peter Huene
7ebfdde749
Add verbosity option to install tool command.
This commit adds the `--verbosity` option to the `install tool` command.

MSBuild/NuGet output is now controllable by the user and defaults to being "quiet".

This enables users to see warnings from NuGet that otherwise would be swallowed
unless NuGet returned a non-zero exit code. As a byproduct of this change, the
exception handling and error messages related to obtaining tool packages was
retooled. We no longer display `install tool` command line help for installation
failures, as it should only be displayed for command line syntax errors.

Fixes #8465.
2018-01-31 15:19:34 -08:00
Javier Calvarro Nelson
b1c780550f [Fixes #8511] Update ASP.NET Core certificate installation message 2018-01-31 12:47:16 -08:00
Peter Huene
d8d600d44e
Merge branch 'release/2.1.3xx' into master
* release/2.1.3xx:
  Updating the WebSdk DependencyVersion to support local build
  Fix non-fatal null exception when no extra parameters are passed.
  Separate tool package and shim file location
  Updating the CLI branding and version to 2.1.300.

* Conflicts
  src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs
  run-build.ps1
  build/Version.props
2018-01-30 16:47:05 -08:00
William Lee
55eb8bb7fc
replace string with FilePath (#8494) 2018-01-30 15:41:39 -08:00
Livar Cunha
3bf4751a8d Excluding shared framework assemblies from the Roslyn folder in the SDK. 2018-01-30 15:33:08 -08:00
Livar Cunha
a52bd1a205 Excluding shared framework assemblies from the Roslyn folder in the SDK. 2018-01-30 14:02:40 -08:00
William Lee
9e535a867a
Remove PackageToProjectFileAdder (#8468)
Add reference to project with version * is doing the same thing
2018-01-24 17:55:26 -08:00
William Lee
05052c0541
Use rich mock to test InstallCommand (#8402)
To ensure the mock has the same behavior the component has, run mock under the same tests the adapter has.
It is a common problem that moq has -- "everything is mocked out, you are not test anything"
2018-01-24 10:16:27 -08:00
Kevin Ransom
b3c2414804 Update package reference 2018-01-23 15:42:57 -08:00
William Li
36c01137ad Separate tool package and shim file location 2018-01-22 16:30:52 -08:00
Livar
c9ac5c9c02
Merge pull request #7951 from wfurt/freebsd
add basic support for FreeBSD
2018-01-22 14:17:56 -08:00
Zbyněk Sailer
8cb01e226c LOC CHECKIN | cli - master | 20180112 (#8385)
* LOC CHECKIN | cli - master | 20180112

* LOC CHECKIN | cli - master | 20180118 update

* LOC CHECKIN | cli - master | 20180119 update | DEU fix
2018-01-22 13:56:03 -08:00
William Lee
839eccbcaf
MacOs HighSierra Fallback (#8437)
walk around for https://github.com/dotnet/corefx/issues/26488
2018-01-22 10:45:35 -08:00
William Lee
02a98d4e63
[tools] Integrate NuGet (#8414)
* Integrate NuGet ask

* Update NuGet version. Rely on NuGet to filter TFM. And use asset.json to find entrypoint

* Update XML file to per TFM

* Add extra property to the fake project according to nuget

* Treat nuget fallback folder as offline cache for tool

* Require -g to install global tool

* Copy test asset during test project build

* Address code review on LockFileMatchChecker

* Get NETCorePlatformsImplicitPackageVersion from PackageDefinitions

* Edit and add missing loc

* Change LockFileMatchChecker to local function

* Adding comment

* Add to content instead of copy

* Download platform package instead

* disable SDK side implicit NuGetFallbackFolder

* merge loc

* Revert extra line

* use a prerelease platforms version that supports alpine
2018-01-19 17:15:34 -08:00
Nate McMaster
c8bae2ffda Simplify the tool_launcher to build for just one version of .NET Framework 2018-01-19 15:19:33 -08:00
Nate McMaster
fa47e95e90
Generate a .NET Framework shim app in dotnet-install-tools on Windows instead of a batch script (#8384)
Implement a simple launcher tool for running new processes on Windows

- This application takes two parameters via the .exe.config configuration file

 - entryPoint: required - the file path to the new process being launched
 - runner: optional - the executable or interpretter used to launch the
entryPoint

- Update dotnet-install-tool to generate an exe instead of a batch script file
2018-01-18 14:54:10 -08:00
Peter Huene
a64da0129a
Fix source option for install command.
The original PR that implemented the source option was updated incorrectly
during review and the source option was accidentally not passed into the
package obtainer.  This resulted in the source option not being respected from
the install command.

The tests passed because the only test coverage is at the package obtainer
level; tests of the install command itself were waiting on additional changes
to enable (still not yet merged).

The fix is to properly pass the source option through when obtaining the
package.
2018-01-17 19:28:29 -08:00
Peter Huene
83609cef8a
Merge pull request #8408 from peterhuene/install-tool-strings
Fix missing package id error message for install tool command.
2018-01-17 13:49:05 -08:00
Nick Guerrera
840acee074
Defend against forthcoming breaking change in SDK (#8409) 2018-01-17 10:13:41 -08:00
Peter Huene
5b696e4831
Update help description for install command.
Replace the word `add` with the word `install` to match the verb of the
tool.
2018-01-16 15:01:57 -08:00
Peter Huene
2f26f10ed2
Fix missing package id error message for install tool command.
This commit fixes the error message that is displayed when the `install
tool` command is not given a package id to install.  Previously, only
`packageId` was output, which was confusing.

Fixes #8381.
2018-01-16 13:57:26 -08:00
Peter Huene
2c03ff9bcf
Refactor install command localizable strings.
This commit moves the `tool` subcommand strings into its own resource
file, rather than putting them into the `install` command's resource
file.

This better follows the patterns of other commands, such as `add`, and
enables subcommands to isolate their string resources from one another.

As part of this commit, the `install tool` string resources were cleaned
up.
2018-01-16 12:59:34 -08:00
William Lee
e8f7ddd01b
Localization for tools work so far (#8251) 2018-01-13 09:40:48 -08:00
William Lee
a3aa6dc1c2
Merge pull request #8379 from peterhuene/install-tool-source-option
Add source option to install tool command.
2018-01-12 17:46:08 -08:00
Peter Huene
fe89456f2a
Add source option to install tool command.
This commit adds the `--source` option to the `install tool` command.  This
option is equivalent to the option of the same name for the `restore` command.

The option is forwarded to the underlying restore operation.

Fixes #8226.
2018-01-12 16:08:13 -08:00
Andy Gerlicher
2b3ade043d Use a multi-proc aware MSBuild logger (#8371)
Make use of the MSBuild distributed logger functionality and add a
forwarding logger. When in a multi-proc build, the forwarding logger
will decide which events to forward to the main node to be logged.
Without this, all events are routed and a perf penalty is incurred.
2018-01-11 15:30:56 -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
Livar
e9d1d025de
Merge pull request #8341 from natemcmaster/aspnetcore-sharedfx
Update to ASP.NET Core shared framework 2.1.0-preview1-28031
2018-01-09 18:57:13 -08:00
Peter Huene
28d929a6d5
Merge pull request #8285 from peterhuene/sln-add-map-project-configurations
Map solution configurations to existing project configurations on add.
2018-01-08 14:18:42 -08:00
Nate McMaster
b6b53f1e55 Update dev-certs version 2018-01-05 19:29:55 -08:00
Peter Huene
f7009106d8
Map solution configurations to existing project configurations on add.
This commit implements solution configuration to project configuration mapping.

Previously, when a project was added to the solution with the `sln add`
command, solution configurations would be mapped to a project configuration and
platform of the same name, regardless of whether or not the project had a
configuration or platform of that name.  This caused the solution to appear
dirty when opened in Visual Studio if the configuration or platform did not
exist at the project level because Visual Studio would attempt to correct the
mapping.

The fix is to check what configurations and platforms are supported by the
project and only map to what is present.  If a solution configuration can't be
mapped, the first configuration/platform supported by the project is chosen;
this is consistent with how Visual Studio does the fallback mapping.

Fixes #6221.
2018-01-05 18:40:26 -08:00
Livar Cunha
e329e0694f Fixing redist to use the new way to consume roslyn. I merged it wrong before. 2018-01-05 15:56:15 -08:00
Livar
ee4e7049eb
Merge pull request #8284 from v-zbsail/loc_20171213
LOC CHECKIN | dotnet/cli – master | 20171222
2018-01-05 12:54:49 -08:00
Livar Cunha
80933404d0 Fix tool_roslyn_satellite by making it use the new dependency version properties. 2018-01-05 12:53:03 -08:00
Zbyněk Sailer
7ff9ac9a36 LOC CHECKIN | dotnet/cli – master | 20170104 | update 2018-01-04 15:03:49 +01:00
Livar Cunha
3d92e52234 Merge remote-tracking branch 'dotnet/release/2.0.0' into merges/release/2.0.0-to-release/2.1-20180103-080038
* dotnet/release/2.0.0: (32 commits)
  Update wix version (#8313)
  Use explict and non-preview versions for the build DLL
  Fixing a typo...
  The 15.4.8 version of the Microsoft.Build.Runtime nuget package is currupt; use the replacement 15.4.8.1
  Fix dotnet-install to check the right path for no-op installs when --shared-runtime is specified
  Fixed a typo...
  Nuget.config update to align with CLI:master - add comments in DependencyVersions.prop
  Even more package dependency re-names...
  Third pass clean-up of package names.
  Second pass clean-up of package names; resequencing download.
  Updating dependency version properties in alignment with sample orchestrated build file at: https://dotnetfeed.blob.core.windows.net/orchestrated/20171129-03/orchestration-metadata/PackageVersions.props
  The access key is already resolved: 'CoreSetupBlobAccessTokenParam'
  Fixed another typo...
  Fixed typo...
  The first pass will need the extra args [same as run-build.ps1].
  Dependency Uptake: download and import a package version props file.
  Accounting for MSRC builds with pre-set 'CoreSetupBlobRootUrl' and 'CoreSetupBlobAccessToke' properties.
  Changes per code review...
  The URL root will include the "dotnet" container; the structure will be identical after the "dotnet" container.
  No passwords should be in the open as environmental variables.
  ...

 Conflicts:
	build/DependencyVersions.props
	src/redist/redist.csproj
	src/tool_msbuild/tool_msbuild.csproj
	src/tool_roslyn/tool_roslyn.csproj
	test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj
2018-01-03 16:16:41 -08:00
Steve Harter
01b8e02100 Add help for list-sdks and list-runtimes 2018-01-03 17:34:08 -06:00
Nick Guerrera
4f47ca1e75 Update xlf 2017-12-22 16:55:48 -08:00
William Lee
4e5188817b
Check null for env (#8286)
As you see, the implementation of the 3 OS to check PATH is different.
There is not too much to extract. And I tried to move the
"contains a folder path in env:path?" to a method. But that
method requires to pass in env:path, targetapath and path separator for
different OS. This method has low value. And people still must
remember to use this method. So I just added simple null check to the
place I used GetEnvPath.
2017-12-22 12:47:33 -08:00
v-mdriml
40faaade90 LOC CHECKIN | dotnet/cli – master | 20171222 2017-12-22 11:30:49 +01:00
Livar
2cd74779d1 Updating roslyn to a version with the vbcscompiler. (#8214) 2017-12-19 14:06:48 -08:00
Livar
b8f5972491
Merge pull request #8222 from peterhuene/dotnet-run-output
Make restore performed by run command default to nologo and quiet.
2017-12-18 09:35:35 -08:00
William Lee
d833eaa657
Fix windows keep adding tools path to env:PATH (#8248)
Environment.GetEnvironmentVariable(PathName) means

Environment.GetEnvironmentVariable(PathName,
EnvironmentVariableTarget.Process)

However, I have added to .User. So the detection of path existence
failed. And it ends up adding the path again and again
2017-12-15 15:04:59 -08:00
Peter Huene
dcc99d6e33
Make restore performed by run command default to nologo and quiet.
This commit changes the run command such that it will now be `/nologo` and
`/verbosity:quiet` (by default) for the restore operation even if a target
framework is specified.

When a target framework is specified, a separate restore operation is performed
that does not pass `/nologo` and the default verbosity is used.  The fix is to
ensure that the arguments used for the restore operation match those that are
used for the build operation.

Fixes #8118.
2017-12-12 10:41:50 -08:00
Peter Huene
9671ba1de0
Write UTF-8 BOM for solution files.
Currently the solution file written out by the `sln` command uses a
UTF-8 encoding without a BOM.  This causes problems when the solution
file contains non-ASCII code points because Visual Studio and MSBuild
will not use a UTF-8 encoding when reading the solution file if the
BOM is omitted.

This commit causes the BOM to always be written when writing the
solution files.

Fixes #8184.
2017-12-08 14:34:26 -08:00
Peter Huene
1ddf5c87c7
Add support for accepting directories to add and remove reference commands.
This commit adds support for specifying directories containing a single
project to both the `add reference` and `remove reference` commands.

Fixes issue #7343.
2017-12-07 17:23:31 -08:00
Peter Huene
bcf13b93cc
Add support for accepting directories to sln add and remove commands.
This commit adds support for specifying directories containing a single
project to both the `sln add` and `sln remove` commands.

Additionally, the output from `sln remove` has been improved to not
mention "project references".

Fixes issue #7343.
2017-12-07 17:22:29 -08:00
Livar
977a6ec321
Merge pull request #8006 from javiercn/javiercn/aspnetcore-httpscertificate
ASP.NET Core HTTPS development certificate support
2017-12-07 15:52:47 -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
Nick Guerrera
9e6e737519
Merge pull request #8146 from v-zbsail/localization
LOC CHECKIN | dotnet/cli-master | 20171201
2017-12-07 14:29:15 -08:00
Livar Cunha
902904cdd6 Updating the msbuild version for Microsoft.Build.Runtime. 2017-12-07 13:13:43 -08:00
Livar Cunha
5a0e95897e Merge remote-tracking branch 'dotnet/release/15.5' into merges/release/15.5-to-master-20171206-080040
* dotnet/release/15.5: (26 commits)
  Fixing the reference to Microsoft.Build.Runtime from Cli.Utils.Tests. It was using the wrong package version property.
  One more old style version package name needed to change in redist.
  Fixing the versions of MSBuild and passing the right property to find roslyn files.
  Use "15.5.179" for the other Microsoft.Build.* packages
  Moving the 'MicrosoftBuildPackageVersion' forward.
  Fixing "RuntimeFrameworkVersion"
  Updating version naming convention.
  Fixed a typo...
  Nuget.config update to align with CLI:master - add comments in DependencyVersions.prop
  Even more package dependency re-names...
  Third pass clean-up of package names.
  Second pass clean-up of package names; resequencing download.
  Updating dependency version properties in alignment with sample orchestrated build file at: https://dotnetfeed.blob.core.windows.net/orchestrated/20171129-03/orchestration-metadata/PackageVersions.props
  The access key is already resolved: 'CoreSetupBlobAccessTokenParam'
  Fixed another typo...
  Fixed typo...
  The first pass will need the extra args [same as run-build.ps1].
  Dependency Uptake: download and import a package version props file.
  Accounting for MSRC builds with pre-set 'CoreSetupBlobRootUrl' and 'CoreSetupBlobAccessToke' properties.
  Changes per code review...
  ...

	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj
	TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj
	TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj
	TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj
	build/BundledTemplates.props
	build/DependencyVersions.props
	build/NugetConfigFile.targets
	build/Test.targets
	build_projects/dotnet-cli-build/dotnet-cli-build.csproj
	dir.props
	run-build.sh
	src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj
	src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj
	src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj
	src/dotnet/dotnet.csproj
	src/redist/redist.csproj
	src/tool_fsharp/tool_fsc.csproj
	test/ArgumentForwardingTests/ArgumentForwardingTests.csproj
	test/EndToEnd/EndToEnd.csproj
	test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj
	test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj
	test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj
	test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj
	test/binding-redirects.Tests/binding-redirects.Tests.csproj
	test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj
	test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj
	test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj
	test/dotnet-help.Tests/dotnet-help.Tests.csproj
	test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj
	test/dotnet-new.Tests/dotnet-new.Tests.csproj
	test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj
	test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj
	test/dotnet-restore.Tests/dotnet-restore.Tests.csproj
	test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj
	test/dotnet.Tests/dotnet.Tests.csproj
2017-12-07 09:55:12 -08:00
Livar Cunha
8b1c2c5026 One more old style version package name needed to change in redist. 2017-12-06 22:44:51 -08:00
Livar Cunha
d280a054d4 Fixing the versions of MSBuild and passing the right property to find roslyn files. 2017-12-06 22:14:02 -08:00
John Beisner
d61eb5de92 Fixing "RuntimeFrameworkVersion" 2017-12-06 12:48:45 -08:00
John Beisner
e09cbe0043 Updating version naming convention. 2017-12-06 12:41:08 -08:00
Livar Cunha
cd86a4cac4 Merge remote-tracking branch 'dotnet/release/2.0.0' into merges/release/2.0.0-to-release/15.5-20171206-080037
* dotnet/release/2.0.0:
  Fixed a typo...
  Nuget.config update to align with CLI:master - add comments in DependencyVersions.prop
  Even more package dependency re-names...
  Third pass clean-up of package names.
  Second pass clean-up of package names; resequencing download.
  Updating dependency version properties in alignment with sample orchestrated build file at: https://dotnetfeed.blob.core.windows.net/orchestrated/20171129-03/orchestration-metadata/PackageVersions.props
  The access key is already resolved: 'CoreSetupBlobAccessTokenParam'
  Fixed another typo...
  Fixed typo...
  The first pass will need the extra args [same as run-build.ps1].
  Dependency Uptake: download and import a package version props file.

 Conflicts:
	build/DependencyVersions.props
	src/redist/redist.csproj
	src/tool_roslyn/tool_roslyn.csproj
2017-12-06 12:18:28 -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
Nick Guerrera
e0931a7b36 Update xlf 2017-12-04 13:37:55 -08:00
John Beisner
80f5d9f8c7 Even more package dependency re-names... 2017-12-04 13:20:37 -08:00
test
090a241a12 update according to feedback 2017-12-04 11:30:38 -08:00
John Beisner
3cb1cca44d Third pass clean-up of package names. 2017-12-04 09:44:51 -08:00
John Beisner
4d694d2c56 Second pass clean-up of package names; resequencing download. 2017-12-04 09:31:28 -08:00
John Beisner
f0abfb6b12 Updating dependency version properties in alignment with sample orchestrated build file at: https://dotnetfeed.blob.core.windows.net/orchestrated/20171129-03/orchestration-metadata/PackageVersions.props 2017-12-01 20:07:48 -08:00
Zbyněk Sailer
1853e24a9a LOC CHECKIN | dotnet/cli-master | 20171201 2017-12-01 09:30:43 +01:00
Eric Erhardt
9b756cfae5
Merge pull request #8131 from eerhardt/CrossGenSdk-master
Crossgen Microsoft.NET.Build.Extensions.Tasks.dll
2017-11-29 14:14:45 -06:00
Eric Erhardt
98e5c2c609 Crossgen Microsoft.NET.Build.Extensions.Tasks.dll 2017-11-29 12:25:12 -06:00
Livar
fe1b4dc6b9
Merge pull request #8100 from peterhuene/test-no-restore
Make --no-build imply --no-restore for run, pack, and test commands.
2017-11-29 09:50:11 -08:00
Eric Erhardt
479a3f2d71 Crossgen the Sdks directory. 2017-11-28 21:16:02 -06:00
Peter Huene
56d54a5a19 Remove extraneous colon from "additional arguments" header.
This commit removes an extraneous colon from the "additional arguments"
header for commands like `dotnet run`.
2017-11-28 16:01:18 -08:00
Peter Huene
4f7c76b4e4 Make --no-build imply --no-restore for run command.
This commit makes the `--no-build` option for the run command
automatically imply `--no-restore`.

Fixes issue #7472.
2017-11-28 16:01:18 -08:00
Peter Huene
ea85555a97 Add verbosity option to run command.
This commit adds the verbosity option to the run command.

This will be used in tests for visibility into what the run command is
doing.

The default verbosity is unaffected.

Fixes issue #7932.
2017-11-28 16:00:36 -08:00
Peter Huene
40b0e0fcec Make --no-build imply --no-restore for pack command.
This commit makes the `--no-build` option for the pack command
automatically imply `--no-restore`.

Fixes issue #7472.
2017-11-27 23:53:22 -08:00
Peter Huene
de10b22bcd Make --no-build imply --no-restore for test command.
This commit makes the `--no-build` option for the test command
automatically imply `--no-restore`.

Fixes issue #7472.
2017-11-27 23:06:48 -08:00
Livar
4debf0cd4b
Merge pull request #8091 from KevinRansom/UpdateFSharp
Update F# for VS2017.6
2017-11-27 14:31:15 -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
Kevin Ransom
da8b3d3224 Update F# for VS2017.6 2017-11-22 20:09:47 -08:00
Livar
1239b21477
Merge pull request #8082 from peterhuene/fix-sln-remove-dependencies
Remove project dependencies when removing a project from a solution.
2017-11-21 21:52:26 -08:00
William Lee
584d3f0502
Global tools package obtain (#8035)
Add ExeutablePackageObtainer

Given a tools package id, it can create a fake project and restore to correct folder

- DI, aka no circular dependency of commands
- Parser of config XML
- I try to create test nupkg at build time, so I can run test and debug
easily with VSCode. The code is in test csproj.
2017-11-21 20:10:06 -08:00
Peter Huene
6210dab09c Remove project dependencies when removing a project from a solution.
This commit fixes #6198.

When a project is removed from a solution using the `sln remove`
command, any projects in the solution with a project dependency (note:
this is different from a project reference) on the project should have
the project removed as a dependency.

The fix is to scan the projects in the solution and remove any
dependencies on the projects being removed.  If the dependencies section
is empty after the remove, we skip serialization of the section like
Visual Studio does.
2017-11-21 18:20:05 -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
Nick Guerrera
20d4d77586
Merge pull request #7998 from dotnet/release/15.5
Merge release/15.5 to master
2017-11-11 10:15:25 -08:00
Nick Guerrera
1fef760409 Merge remote-tracking branch 'upstream/release/2.0.0' into merges/release/2.0.0-to-release/15.5-20171107-080033 2017-11-07 11:34:13 -08:00
Nick Guerrera
4db91a217f
Merge pull request #7973 from dotnet/merges/release/15.5-to-master-20171107-080036
Merge release/15.5 to master
2017-11-07 06:31:45 -08:00
Nick Guerrera
a2d18edb91 Don't attempt to generate profiling symbols on Mac OS 2017-11-03 10:05:36 -07:00
Nick Guerrera
4f31e3db66 Improve symbols zip archive
We were publishing a -debug zip with sdk code and symbols, but it was captured before
publishing was finished and had incorrect code content. Trying to use it would blow up
due to incorrect runtimeconfig.json.

Replace it with a -symbols zip that contains only symbols and that can be overlayed
over the main zip. This is just like the -langpack zip that has satellite assemblies.

Also add an option to leave the PDBs in the same directory/packages as code:
/p:SeparateSymbolsArchive=false. Setting this on local builds facilitates
debugging and profiling by removing the need to adjust symbol paths or copy PDBs
around.
2017-11-02 16:08:06 -07:00
Nick Guerrera
607907c67d Retarget VSTest before publishing with backward compatible runtimes 2017-11-02 15:09:17 -07:00
Nick Guerrera
116da0277c Generate symbols for profiling when running crossgen 2017-11-01 17:17:22 -07:00
Nick Guerrera
a64e671a8b Don't crossgen satellite assemblies 2017-11-01 17:15:52 -07:00
Tomas Weinfurt
f825477855 add basic support for FreeBSD 2017-11-01 15:06:28 -07: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
Zbyněk Sailer
746f092c57 LOC CHECKIN | dotnet/cli - release/15.5 | 20171031 2017-10-31 17:16:46 +01:00
Nick Guerrera
cd489a356a
Merge pull request #7896 from nguerrera/one-process-restore
Use msbuild /restore instead of a separate process
2017-10-27 15:33:09 -07:00
William Lee
cef9a90ad1
Hashed telemetry and event name change (#7919) 2017-10-27 10:58:25 -07:00
Nick Guerrera
35b7ad2789 Use msbuild /restore instead of separate invocations where possible
It is not currently possible when there is a -f|--framework argument because
we cannot force a TargetFramework global property on to the restore evaluation.
Doing so completely breaks restore by applying the TargetFramework to all
projects transitively. The correct behavior is to restore for all frameworks,
then build/publish/etc for the given target framework. Achieving that still
requires two distinct msbuild invocations.

This also changes the verbosity of implicit restore from quiet to that
of the subsequent command (default=minimal). Similar to global properties,
we cannot specify a distinct console verbosity for the /restore portion of
the overall execution. For consistency, we apply the same verbosity change
to the case where we still use two separate msbuild invocations.

This also fixes an issue where the separate restore invocation's msbuild log
would be overwritten by the subsequent command execution. However, this remains
unfixed in the case where we still use two separate msbuild invocations.
2017-10-26 16:01:34 -07:00
Nick Guerrera
8fead788d7 Fix dotnet build /clp:NoSummary 2017-10-26 06:37:45 -07:00
Nick Guerrera
20b0b820a8 Remove unnecessary handling of verbosity in RestoreCommand
We were taking care to set the console verbosity to minimal, but
only when no verbosity argument is passed. However, the default
verbosity for all CLI msbuild commands is already minimal and so
we can just get out of the way.
2017-10-24 15:04:24 -07:00
Peter Huene
03f0c51292 Fix relative path handling on Windows.
On Windows, `PathUtility.GetRelativePath` was not properly handling
paths that differed by case in the drive reference (e.g. "C:\" vs.
"c:\").  The fix was to add the missing case-insensitive comparison
argument.

Replaced uses of `PathUtility.GetRelativePath` with
`Path.GetRelativePath` where possible (requires 2.0.0+).

Additionally, `PathUtility.RemoveExtraPathSeparators` was not handling
paths with drive references on Windows.  If the path contained a drive
reference, the separator between the drive reference and the first part
of the path was removed.  This is due to `Path.Combine` not handling
this case, so an explicit concatenation of the separator was added.

This commit resolves issue #7699.
2017-10-24 11:23:52 -07:00
Livar Cunha
4577a7839a Fixing the windows build. 2017-10-17 13:43:19 -07:00
Livar Cunha
7af7c91eb6 Adding redist to the list of changes. I missed it in the merge commit. 2017-10-16 15:44:15 -07:00
Livar Cunha
e1916cc4dc Merge remote-tracking branch 'dotnet/release/15.5' into merges/release/15.5-to-master-20171016-070031
* dotnet/release/15.5: (21 commits)
  Manually merging some changes that git merged wrong and deleted from the 15.5 branch.
  Separating the 'legacy' URL construction from the 'current' URL construction methods and logic.
  Use temporary path for fake deps.json in test
  Use same build number for roslyn and F# satellites
  Updating Roslyn satellites and SDK versions
  Insert NuGet Build 4.5.0-preview2-4529 into cli
  Update NuGet to 4529 (signed)
  MSBuild 15.5.154
  MSBuild 15.5.153
  removed commented out config I'd meant to remove
  added a way to specify the asp.net template versions
  Porting 'dotnet-install.sh' from CLI:master to CLI:release/2.0.0
  'NuGet.master.config' does not appear to be used.
  Fixed tests
  Update branch info to release/15.5
  Updating the websdk version to 2.0.0-rel-20171010-665
  Insert NuGet Build 4.5.0-preview1-4526 into cli
  Update DependencyVersions.props
  Updated version of TestPlatform to 15.5.0-preview-20170923-02
  MSBuild 15.4.8
  ...
2017-10-16 15:42:40 -07:00
Livar Cunha
62ae014c37 Making this repo consume the dotnet-sdk-internal zip and produce a full core-sdk by using sdk-internal, runtime, lzma, templates and store. Also deleted a bunch of now, unecessary code. I am sure there is more to be deleted though. 2017-10-13 10:45:50 -07:00
Livar Cunha
27aa698710 Manually merging some changes that git merged wrong and deleted from the 15.5 branch. 2017-10-13 09:56:08 -07:00
Eric Erhardt
484714df1b Exclude Desktop framework assemblies in the "Extensions" folder from crossgen.
Work around MSBuild globbing bug in a Target by just excluding the one assembly.

See https://github.com/Microsoft/msbuild/issues/2631
2017-10-11 22:31:27 -05:00
Nick Guerrera
ddae0875cf Revert release/2.0.0 back to 1bcee43995
There were incorrect merges from release/15.5 to release/2.0.0 since then
2017-10-09 13:55:13 -07:00
Nick Guerrera
4a2d3fae16 Fix up roslyn satellite assembly handling to match new insertion mechanism
1. Publish satellites with a separate project and merge the resulting .deps.json
   into (csc|vbc).deps.json

2. Move the build tasks satellites to the correct location next to main assembly
   (one level higher than bincore\)
2017-10-03 16:00:56 -07:00
Ashley Hauck
97b027b232 Remove CscToolPath 2017-10-02 12:26:52 -07:00
khyperia
04c8a68539 Improve the way Roslyn is pulled in 2017-10-02 08:01:44 -07:00
Mike Lorbetske
b1fda1c367 Update XLFs 2017-09-29 12:59:44 -07:00
Mike Lorbetske
ccbc9f73f7 Update the string that is displayed when there's a typo in the profile name or it's not a valid JSON object 2017-09-29 10:43:01 -07:00
Nick Guerrera
e83ae613d6 Fix build errors and warnings after porting fixes to 2.0.x 2017-09-27 16:52:11 -07:00
Daniel Plaisted
9f3bbc40a2 Use a shorter path for test working directories, get rid of Stage 0 project.json based CLI
(cherry picked from commit 4c3b13e4a8)
2017-09-27 14:40:57 -07:00
Daniel Plaisted
ca34332205 Rename Stage0 build variables to PreviousStage
(cherry picked from commit c6e4c8f477)
2017-09-27 14:37:37 -07:00
Daniel Plaisted
dd4a1b5121 Show path when directory delete fails in test setup
(cherry picked from commit 61e68e621a)
2017-09-27 14:20:08 -07:00
Daniel Plaisted
2b134c91fe Support new artifacts layout in tests and other build logic
(cherry picked from commit 13da213183)
2017-09-27 14:20:05 -07:00
Daniel Plaisted
8385d37185 Move dir.props to auto-imported Directory.Build.props
This is necessary for setting the intermediate output path to work correctly

(cherry picked from commit ae0aa8ed24)
2017-09-27 14:16:37 -07:00
Nick Guerrera
138b98f65f Use $(CliTargetFramework), eliminate warnings, treat warnings as errors
(cherry picked from commit 656eab7aec)
2017-09-27 13:28:45 -07:00
Livar
d624a96a1f Merge pull request #7663 from livarcocc/move_testframework_from_output
Removing Microsoft.DotNet.TestFramework from the product code
2017-09-15 15:31:31 -07:00
Livar
0a482954ae Merge pull request #7645 from livarcocc/remove_archiver_code
Removing Microsoft.DotNet.Archive from the CLI
2017-09-15 09:58:03 -07:00
Livar Cunha
3efd44f935 Removing Microsoft.DotNet.TestFramework from the product code and from the SDK deployment and moving the code to the test folder. 2017-09-15 09:49:19 -07:00
Livar Cunha
9cdb20b7a5 Removing Microsoft.DotNet.Archive from the CLI and instead depending on a nupkg. 2017-09-13 14:04:09 -07:00
William Li
9c1fa7c9d9 Do not move forward if there is parsing error 2017-09-12 16:54:51 -07:00
Daniel Plaisted
9b331673fe Merge upstream changes 2017-09-01 13:17:40 -07:00
Nick Guerrera
f4f5100af1 Merge pull request #7480 from mikkelbu/list-store-and-help-as-commands
Add store and help to SDK commands
2017-09-01 12:48:58 -07:00
Nick Guerrera
2f5f56973d Merge pull request #7557 from droyad/test-logger-help
Fixed name of the LogFileName
2017-08-30 08:02:27 -07:00
Robert Wagner
777631a7aa
Fixed name of the LogFileName 2017-08-30 20:58:55 +10:00
Daniel Plaisted
4c3b13e4a8 Use a shorter path for test working directories, get rid of Stage 0 project.json based CLI 2017-08-29 17:59:34 -07:00
Nick Guerrera
5818beef4a Merge pull request #7406 from droyad/test-logger-help
Clarified the examples for the `--logger` parameter
2017-08-29 07:49:44 -07:00
Mikkel Nylander Bundgaard
db5bbe9c75 Rename "runtime package store" to "runtime store" 2017-08-29 09:49:37 +02:00
Daniel Plaisted
107252ebe7 Merge upstream changes 2017-08-28 11:09:19 -07:00
Nick Guerrera
656eab7aec Target netcoreapp2.1, eliminate warnings, treat warnings as errors 2017-08-25 20:17:57 -07:00
Daniel Plaisted
c6e4c8f477 Rename Stage0 build variables to PreviousStage 2017-08-24 17:16:11 -07:00
Daniel Plaisted
61e68e621a Show path when directory delete fails in test setup 2017-08-24 15:49:14 -07:00
Daniel Plaisted
13da213183 Support new artifacts layout in tests and other build logic 2017-08-24 15:49:13 -07:00
Daniel Plaisted
ae0aa8ed24 Move dir.props to auto-imported Directory.Build.props
This is necessary for setting the intermediate output path to work correctly
2017-08-24 15:46:45 -07:00
Daniel Plaisted
a463a34ac5 Update CliTargetFramework to netcoreapp2.1, and switch from hardcoding to using the variable in places 2017-08-23 10:40:26 -07:00
Mikkel Nylander Bundgaard
ed2a8f4432 Add store and help to SDK commands
I've added the store command as a localizable string (the
help command was already one), but I've not supplied any
translations.

Fixes #7432
2017-08-20 00:57:32 +02:00
Mikkel Nylander Bundgaard
5ae335b592 Only open help page for commands with DocLink
The help-command now handles commands without a DocLink
in the same manner as unknown commands.

Fixes #7065
2017-08-17 15:01:31 -07:00
Nick Guerrera
37714cd5f0 Merge pull request #7413 from Faizan2304/blameDataCollector
Insert new bits of TPv2 and enable blame data collector
2017-08-17 11:50:07 -07:00
John Doe
c4301c6ebf typo 2017-08-14 21:26:49 -07:00
John Doe
8fc8a03081 typo 2017-08-14 21:26:49 -07:00
faahmad
ecd6c47d2e Insert new bits of TPv2 and enable blame data collector 2017-08-10 18:55:06 +05:30
Robert Wagner
869e077388 Clarified the examples for the --logger parameter 2017-08-10 08:40:02 +10:00
Daniel Plaisted
1c5908efa0 Merge pull request #7344 from mishra14/dev-anmishr-gracefulexception
Improving UX for dotnet add package when Path.GetTempPath throws
2017-08-09 09:57:06 -07:00
Daniel Plaisted
6a64e17857 Merge pull request #7225 from GuardRex/guardrex/first-run-info-update
Update first time welcome message
2017-08-07 14:48:36 -07:00
Ankit Mishra
da1c8d00a4 simplifying the error message to make it more actionable 2017-08-07 10:10:17 -07:00
Ankit Mishra
98c0ef350a Addressing PR feedback 2017-08-03 10:00:15 -07:00
Luke Latham
a256f25d60 Match length of dash lines to headings 2017-08-02 19:57:22 -05:00
Luke Latham
f06b3f25b2 React to feedback and add three more topics to the update 2017-08-02 19:29:26 -05:00
David Kean
bf58a5a060 Remove unneeded char[] allocations
This was causing 0.2% of allocations in a design-time build trace from a customer.
2017-08-02 18:59:45 +10:00
Ankit Mishra
4f1c6b5cae Updating xlf files 2017-08-01 16:41:53 -07:00
Ankit Mishra
b29ee4d41a Adding a try/catch around Path.GetTempFileName() to improve UX 2017-08-01 15:55:21 -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
e5786487ec Merge pull request #7266 from livarcocc/show_first_run_message
Show first run notice even when CLI is installed by native installers.
2017-07-26 19:29:05 -07:00
William Li
aa3b1b67d8 refactor to remove duplication 2017-07-26 16:30:03 -07:00
William Li
c8590354a7 Add block thread constructor 2017-07-26 16:03:59 -07:00
Livar Cunha
6541a16a38 Changing the FirstNoticeSentinel used by the internal-reportinstallsuccess command. 2017-07-26 15:33:48 -07:00
Luke Latham
3c5aa0cc12 Add the word "to" 2017-07-26 12:52:34 -05:00
Zbyněk Sailer
d4a9de3778 LOC CHECKIN | cli-release/2.0.0 | 20170726 2017-07-26 09:41:49 +02: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
John Doe
f1d1ff5272 typo 2017-07-25 08:27:23 -07:00
Luke Latham
bf6ef40be4 Merge branch 'master' into guardrex/first-run-info-update 2017-07-22 00:16:59 -05:00
Luke Latham
1eefa2beb2 Update first time welcome message 2017-07-21 23:26:15 -05:00
Livar
58c580dbcc Merge pull request #7201 from dotnet/merges/release/2.0.0-to-master-20170720-070024
Merge release/2.0.0 to master
2017-07-20 11:53:12 -07:00
Nick Guerrera
28c51d2eaa Localize first-run "Expanding" and "Decompressing" 2017-07-19 13:58:06 -07:00
Nick Guerrera
368531715e Fix VSLANG handling typo 2017-07-19 11:51:38 -07:00
Nick Guerrera
85573db000 Respond to PR feedback: use method names not comments 2017-07-19 11:00:09 -07:00
Nick Guerrera
a1c423c0f6 Honor UI language override in test runs
Also fix some incorrect unlocalized test expectations that slipped in.
2017-07-18 22:03:31 -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
1728aef325 Merge branch 'master' into merges/release/2.0.0-to-master-20170718-070024 2017-07-18 15:58:34 -07:00
Zbyněk Sailer
633ec51720 LOC CHECKIN | cli-release/2.0.0 | 20170714 2017-07-14 09:14:59 +02:00
Livar
a04273474e Merge branch 'master' into merges/release/2.0.0-to-master-20170712-070028 2017-07-12 14:28:17 -07:00
Alexander Köplinger
4d0e8b5892 MSBuildSdkResolver: resolve symlink for 'dotnet' binary
On Linux the dotnet installed by the dotnet packages is a
symlink (/usr/bin/dotnet -> ../share/dotnet/dotnet).

We need to resolve the symlink so we're passing the path to
the actual .NET Core installation to libhostfxr.

Fixes https://github.com/dotnet/cli/issues/7125
2017-07-12 21:44:03 +02:00
Alexander Köplinger
600946c58b MSBuildSdkResolver: clarify comment in Interop.NETStandard.cs
The .NET Standard build ships with Mono/msbuild.
2017-07-12 16:37:02 +02:00
Alexander Köplinger
747e9fd6ad MSBuildSdkResolver: resolve symlink for 'dotnet' binary
On Linux the dotnet installed by the dotnet packages is a
symlink (/usr/bin/dotnet -> ../share/dotnet/dotnet).

We need to resolve the symlink so we're passing the path to
the actual .NET Core installation to libhostfxr.

Fixes https://github.com/dotnet/cli/issues/7125
2017-07-12 16:37:02 +02:00
Mike Lorbetske
ea467db3af Update test to pass --no-restore to templates 2017-07-10 16:27:54 -07:00
Mike Lorbetske
5aec446657 Update to SetupCrossgen 277 - Coherence 26182
Enable loc for dotnet new
2017-07-10 15:20:35 -07:00
William Li
191e3e3019 Installer Success Reporting for Windows
Issue https://github.com/dotnet/cli/issues/7091

Add internal command dotnet internal-reportinstallsuccess. Before
Windows installer finishes, run this command instead of dotnet new. It
will trigger the first time experience as well as sending telemetry with
installer exe name.

This command blocks to ensure that the webservice call completes.
2017-07-07 12:56:21 -07:00
Matt Ellis
cde3a8bcb2 MIT License *NIX Builds.
Remove non MIT licensed components from the CLI when building on non
windows platforms. The shared framework provides the LICENSE file that is
included with the tarballs, so we just need to ensure we don't pull any
windows specific stuff that is not MIT licensed.

Fixes: dotnet/core-setup#676
2017-07-06 16:47:50 -07:00
Livar Cunha
2b15cb43cf Adding a Minimum VS Defined SDK version to the resolver. If it set to 1.0.4 if the minimum SDK version file is not found. 2017-07-05 09:54:46 -07:00
Livar
20023717b5 Merge pull request #7048 from livarcocc/fix_help_message
Fixing help text for version, info and diagnostics and also removing …
2017-06-30 15:54:40 -07:00
Livar Cunha
3ec572f824 Fixing help text for version, info and diagnostics and also removing runtime options that are only available for dotnet exec. 2017-06-30 13:19:52 -07:00