Commit graph

1863 commits

Author SHA1 Message Date
Livar
fbc76ea5f6
Merge pull request #8416 from yanchenw/master
Adds Microsoft.Docker.Sdk to CLI
2018-02-09 14:02:08 -08:00
Livar
adfc2037db
Merge branch 'master' into master 2018-02-08 16:39:20 -08:00
Nick Guerrera
6677d8f0b6 Merge branch 'master' into loc_20180129_master 2018-02-08 15:48:10 -08:00
Nick Guerrera
a82d52183f Fix unit test with hard-coded English message expectation 2018-02-08 15:24:40 -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
John Beisner
be228a492f
Removing all references to a static 'aspnetpatch' Nuget.Config (#8556) 2018-02-07 14:58:09 -08:00
John Beisner
d3263aafb8
Fixing recent CLI test failures around ASP.NETcore in the orchestrated build (#8553)
* Fixing recent CLI test failures around ASP.NETcore in the orchestrated build.

* Put back the dotnet-migrate test's 'tempaspnetpatch' Nuget.config

* Fixing typos...
2018-02-07 09:59:13 -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
d29a9b015e Update to aspnetcore 2.1.0-preview1-28228 2018-02-05 15:52:17 -08:00
John Beisner
e260e79229
Fixing the recent CLI test failures around ASP.NETcore in the orchestrated build: adding a 'dotnet-corefxlab' feed. (#8536) 2018-02-05 10:38:53 -08: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
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
William Lee
78904831f9
Fix test folder cannot delete and missing test (#8480) 2018-01-25 20:17:33 -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
William Li
36c01137ad Separate tool package and shim file location 2018-01-22 16:30:52 -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
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
Yanchen Wu
5b5d69c95d Adds Microsoft.Docker.Sdk to CLI
This change is to add Sdk.props and Sdk.targets of Microsoft.Docker.Sdk
into CLI. This unblocks the scenario where a VS solution contains a few
.NET Core projects as well as a docker-compose.dcproj project and people
want to build the solution from command line with .NET Core CLI. With
the Sdk.props and Sdk.targets being present in CLI, building
docker-compose.dcproj becomes no-op so it won't block building the other
.NET Core projects.
2018-01-17 11:12:19 -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
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
Nate McMaster
7a606a46bb Update SPA tests to skip npm-restore 2018-01-08 20:31:01 -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
95064f46db Update runtest.targets to skip file checks from azure if the filename variables are undefined 2018-01-06 13:02:41 -08:00
Nate McMaster
8de1dea7c9 Remove unnecessary aspnetcore myget feeds 2018-01-05 19:31:24 -08:00
Nate McMaster
fb2df937fe Replace aspnetcore-store with the aspnetcore-runtime
Update downloaded installers and wixlib to pull the ASP.NET Core Runtime (aka shared framework)
2018-01-05 19:31:24 -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
Steve Harter
01b8e02100 Add help for list-sdks and list-runtimes 2018-01-03 17:34:08 -06:00
John Beisner
504413205b
Merge pull request #8227 from janvorli/enable-alpine
Enable Alpine 3.6 CLI build
2017-12-20 13:17:12 -08:00
Livar
6ef4b794b2
Merge branch 'master' into merges/release/2.1-to-master-20171218-080046 2017-12-18 09:51:07 -08:00
Jan Vorlicek
1abd2d9209 Enable Alpine 3.6 CLI build
This change enables CLI build for Alpine 3.6 and also adds CI job for
it. It is mostly based on changes that were necessary to
enable building of rhel.6 CLI
2017-12-13 12:10:44 +01: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
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
Livar Cunha
90e254b9ed More fixes that were missing from the merge. 2017-12-07 13:23:27 -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
0f8dfedc6f Fixing the reference to Microsoft.Build.Runtime from Cli.Utils.Tests. It was using the wrong package version property. 2017-12-06 23:06:43 -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
John Beisner
80f5d9f8c7 Even more package dependency re-names... 2017-12-04 13:20:37 -08:00