Commit graph

101 commits

Author SHA1 Message Date
John Doe
8fc8a03081 typo 2017-08-14 21:26:49 -07:00
Livar
444d75c0cd Merge pull request #6526 from mikkelbu/fail-gracefully-when-multiple-project-exist
Fail gracefully when multiple projects exist
2017-05-08 15:33:22 -07:00
Daniel Plaisted
10dd67baa8 Clean up tool restore framework fallback logic so there aren't multiple call sites to GetToolLockFile 2017-05-05 14:23:33 -07:00
Mikkel Nylander Bundgaard
de10e0dd54 Fail gracefully when multiple projects exist
Fixes #6267
2017-05-05 23:07:46 +02:00
Daniel Plaisted
8b13b3e579 Fall back to tools restored for .NET Core 1.x if they haven't been restored for .NET Core 2.0 2017-05-05 13:15:02 -07:00
Daniel Plaisted
811bb94de8 If generating deps.json fails, show MSBuild output in verbose output 2017-04-27 09:30:41 -07:00
Daniel Plaisted
d471037ce3 Show error if tools package doesn't include runtimeconfig file
For test assets, don't explicitly include the runtimeconfig file, as the pack command does it automatically
2017-04-27 09:30:41 -07:00
Daniel Plaisted
0afd0b9975 Remove dead code 2017-04-27 09:30:40 -07:00
Daniel Plaisted
cc9e942ede Apply code review feedback 2017-04-27 09:30:40 -07:00
Daniel Plaisted
8615c30063 Don't roll prefercliruntime tools forward across major versions of .NET Core 2017-04-27 09:30:38 -07:00
Daniel Plaisted
5c679cd32e Test fixes for tools deps.json generation 2017-04-27 09:29:16 -07:00
Daniel Plaisted
fa51bb43fc Call into project in .NET SDK to create deps.json files for tools instead of doing so directly 2017-04-27 09:29:16 -07:00
Livar Cunha
b2116cd2e1 Addressing comments by adding a test covering the case where the tool assemblies are not found. 2017-03-26 21:52:27 -07:00
Livar Cunha
10e743e8e5 Switched to using a FallbackPackagePathResolver to find the tool dll, because now with Fallback folders, we can have the tool dll in the fallback folder but its assets file in the user nuget cache. This happens because Nuget never writes to the fallback folder, including the tool's assets file that it generates during restore. 2017-03-24 12:17:27 -07:00
Piotr Puszkiewicz
a07ebe2e7b Merge remote-tracking branch 'refs/remotes/dotnet/master'
Conflicts:
	TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj
	TestAssets/NonRestoredTestProjects/AppThrowingException/App/AppThrowingException.csproj
	TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net45Lib/Net45Lib.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/WithRefCondNonUniform/WithRefCondNonUniform.csproj
	TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj
	TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj
	TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj
	TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj
	TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj
	TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj
	TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj
	TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj
	TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj
	TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj
	TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj
	TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj
	TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj
	TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj
	TestAssets/TestProjects/VSTestDesktopAndNetCore/VSTestDesktopAndNetCore.csproj
	TestAssets/TestProjects/VSTestDotNetCore/VSTestDotNetCore.csproj
	TestAssets/TestProjects/VSTestXunitDesktopAndNetCore/VSTestXunitDesktopAndNetCore.csproj
	TestAssets/TestProjects/VSTestXunitDotNetCore/VSTestXunitDotNetCore.csproj
	build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj
	build_projects/dotnet-cli-build/dotnet-cli-build.csproj
	build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj
	test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateConfigurations.cs
	test/Microsoft.DotNet.ProjectJsonMigration.Tests/Rules/GivenThatIWantToMigrateTFMs.cs
2017-03-02 23:49:01 -08:00
Piotr Puszkiewicz
d55a8f8188 Add missing copyright headers to all cs files 2017-03-02 21:04:03 -08:00
Piotr Puszkiewicz
e617376bc7 Trailing newlines + standardize tabs -> spaces 2017-03-02 20:35:20 -08:00
Livar Cunha
3a9525b5ac Merge branch 'rel/1.0.1' into merge_rel101_into_master
* rel/1.0.1: (66 commits)
  Update LZMA license with correct text
  Bump to 2.0.0-rc5-61427-04
  Remove duplicate installer suffix
  Add license text to LZMA SDK license notice
  Updating the SDK to 1.0.0-alpha-20170224-6
  Updating both platform abstractions and dependency model to 1.0.3.
  Bump Roslyn to 2.0.0-rc5-61424-02
  Update Stage0 to use the latest build.
  Update README with new distros.
  Back porting #5597 into rel/1.0.0
  Fixing the exclude pattern used by the Migration to exclude WEB SDK globs.
  Remove RID from test package creation
  Disable migrate and publish web app with content because CI does not have NPM
  Adding an E2E test for pack with content during migration.
  Fixing a failing test and adding a few more E2E tests around binplace content for migrated projects.
  Fix debian_config.json on ubuntu16.10
  Updating publish, pack and build of content to use None with Never/false/Never in their metadata for excluded items.
  Intermediate commit to get a WIP PR out. This adds the None Update with CopyToOutputDirectory set to Never.
  Switching the CopyToOutput for build and publish and the file for pack to use None Update instead of include. Also, fixed the exclude patterns for web apps.
  Do not migrate Content that is already included in the Web SDK for web apps.
  ...
2017-03-01 20:50:42 -08:00
Eric Erhardt
8aaffc2238 Fix tests on netcoreapp1.1 only platforms 2017-02-22 21:34:21 -06:00
Piotr Puszkiewicz
85b2a129db Merge branch 'rel/1.0.0'
Conflicts:
	TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj
	TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj
	TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj
	TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj
	TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj
	build.proj
	build/Compile.targets
	build/Microsoft.DotNet.Cli.Compile.targets
	build/Microsoft.DotNet.Cli.DependencyVersions.props
	build/Microsoft.DotNet.Cli.Monikers.props
	build/Microsoft.DotNet.Cli.Prepare.targets
	build/package/Microsoft.DotNet.Cli.Nupkg.targets
	build/package/Nupkg.targets
	build/test/TestPackageProjects.targets
	build_projects/dotnet-cli-build/GenerateBuildVersionInfo.cs
	build_projects/dotnet-cli-build/GetCommitCount.cs
	build_projects/dotnet-cli-build/dotnet-cli-build.csproj
	build_projects/shared-build-targets-utils/Utils/BuildVersion.cs
	src/dotnet-archive/dotnet-archive.csproj
	src/tool_msbuild/tool_msbuild.csproj
	src/tool_nuget/tool_nuget.csproj
	test/ArgumentForwardingTests/ArgumentForwardingTests.csproj
	test/ArgumentsReflector/ArgumentsReflector.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/GivenAProjectToolsCommandResolver.cs
	test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj
	test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj
	test/Microsoft.DotNet.ProjectJsonMigration.Tests/Microsoft.DotNet.ProjectJsonMigration.Tests.csproj
	test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj
	test/binding-redirects.Tests/binding-redirects.Tests.csproj
	test/crossgen.Tests/crossgen.Tests.csproj
	test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj
	test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj
	test/dotnet-build.Tests/dotnet-build.Tests.csproj
	test/dotnet-help.Tests/dotnet-help.Tests.csproj
	test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj
	test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj
	test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj
	test/dotnet-new.Tests/dotnet-new.Tests.csproj
	test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj
	test/dotnet-pack.Tests/dotnet-pack.Tests.csproj
	test/dotnet-publish.Tests/dotnet-publish.Tests.csproj
	test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj
	test/dotnet-restore.Tests/dotnet-restore.Tests.csproj
	test/dotnet-run.Tests/dotnet-run.Tests.csproj
	test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj
	test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj
	test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj
	test/dotnet-test.Tests/dotnet-test.Tests.csproj
	test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj
	test/dotnet.Tests/dotnet.Tests.csproj
	test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj
	tools/Archiver/Archiver.csproj
2017-02-17 02:00:05 -08:00
Krzysztof Wicher
9d589668c0 more locks 2017-02-15 17:49:40 -08:00
Livar Cunha
8d38a2a67f Making the tool name comparison with the package case insensitive, so that tools are not required to be declared with the exact casing as the packages that contain them. 2017-02-15 11:33:59 -08:00
Livar Cunha
d3157de6ee Fixing nuget API calls and fixing the nuget test package directory creation, so that nuget can restore using it. 2017-01-10 16:48:28 -06:00
Eric Erhardt
6f506b331c Fixing build break with latest NuGet packages. 2017-01-10 13:46:26 -06:00
Krzysztof Wicher
4b00570f68 replace yield returns with linq query 2016-12-20 15:53:38 -08:00
Krzysztof Wicher
aa7fb60d73 remove redundant packagesRoot path check and reorder methods 2016-12-20 14:56:21 -08:00
Krzysztof Wicher
59ae0e2d3d fix tools when restoring with --packages 2016-12-20 12:18:55 -08:00
Krzysztof Wicher
9e76d6ffb5 new NuGetVersion[0] -> Enumerable.Empty<NuGetVersion>() 2016-12-19 14:32:31 -08:00
Krzysztof Wicher
ccfb4135c4 Add error message when tool is not restored 2016-12-19 14:12:04 -08:00
Livar Cunha
52b45d0c49 Fixing tests and a couple of issues in the code due to Localization. 2016-12-16 23:59:58 -08:00
Livar Cunha
1be6365e56 Localizing Microsoft.DotNet.Cli.Utils. 2016-12-16 22:45:48 -08:00
Scott Hanselman
8ece346385 projetfactory -> "projectfactory"
Mispelling that shows up with "-v diag"
2016-12-13 14:43:18 -08:00
Piotr Puszkiewicz
2fbafe6f3f Remove StreamForwarder from CLI tests (#4936)
* WiP

* Replace StreamForwarder with OutputDataReceived

* Add build logging around test execution

* add newlines

* Add handling for the null terminator while maintaining empty lines

* Extra Diag

* Verbose logging for VS Test Console

* Fix asset file locking tests

* Add testcommand timeout + improve dotnet-new tests

* WiP

* Welcome, JoSequ!

* Fix failing tests

* Clean out diagnostics writelines

* self-PR1
2016-12-13 14:15:35 -08:00
Piotr Puszkiewicz
caad95491a Fix output race (#4911)
* Fix output race

TestCommand starts the test process before wiring up stderr & stdout. This change delays process start until after the wireup is finished so that the test process cannot shut down before we have wired up output redirection.

* Bypass stream forwarder when it fails to attach to a process

CLI has tests failing errenously when, due to timing issues, the StreamForwarders fail to attach to a process because it managed to exit before attachment occurs. 

We tried attaching the forwarders prior to Process Start but this proved impossible because the OUT and ERR streams are not available to attach before the process starts. 

This exposes a fundamental flaw in our output redirection mechanisms. We should probably move to using https://msdn.microsoft.com/en-us/library/system.diagnostics.process.outputdatareceived.aspx or a similar mechanism. However, I don't know that @brthor hadn't considered and discarded this approach.

For the time being I am attempting to make tests more deterministic by capturing the associated exceptions and moving to a different mechanism when StreamForwarders are not available.

Opened https://github.com/dotnet/cli/issues/4913 to track the broader issue.

* File.Copy is not atomic...
2016-12-04 11:54:29 -08:00
Livar Cunha
dc87680337 Making Project Tools use the CLI shared runtime if they have the prefercliruntime in the root of their package. This allows for project tools to not have to change when a new runtime comes up as long as they are compatible with the runtime that the CLI is using. 2016-11-23 09:25:47 -08:00
dasMulli
4ee8317834
Remove unused lock file read from tool resolving logic. 2016-11-19 00:25:26 +01:00
Justin Goshi
6d57ca7e14 Migrating all test projects (#4668)
* WIP migrate tests

* WIP fixing more tests

* WIP fix test build break

* Test results files are now trx

* Get CI to pass until we get an xunit xml logger

* Added DotNetTestPJ since that was needed for one test

* Fix build break

* Forgot to add DotNetTestPJ as a build task

* Need to restore project.json for the project used in ubuntu test

* Restore PJ for ubuntu test

* Switch the Ubuntu test to csproj based
2016-11-11 21:46:29 -10:00
Piotr Puszkiewicz
b918b2a6b6 Invoking a command waits up to 30s for NuGet or another process (#4657)
* Invoking a command waits up to 30s for NuGet or another process

* PR Feedback
2016-11-08 23:23:13 -08:00
Piotr Puszkiewicz
6fcbefa4f7 [WIP] Removes *3 verbs, making msbuild the driver (#4456)
Removes *3 verbs, making msbuild the driver
2016-10-27 18:46:43 -07:00
Livar Cunha
1506bf3bf2 Changing the IProject OutputPath property to FullOutputPath. 2016-10-24 14:47:05 -07:00
Livar Cunha
d61ebd3087 Making OutputPathCommandResolver work with MSBuild. 2016-10-24 12:41:27 -07:00
Livar
501d575aeb Merge pull request #4455 from livarcocc/update_sdk
Updating the SDK version to the latest.
2016-10-19 20:55:43 -07:00
Livar Cunha
368d7a19af Updating the SDK version to the latest. 2016-10-19 16:21:54 -07:00
Livar Cunha
22bc479927 Updating msbuild to 15.1.319-preview5 2016-10-19 12:43:21 -07:00
Livar Cunha
e2e72a9662 Updating the msbuild templates in the CLI to use TargetFramework (singular). 2016-10-18 15:02:35 -07:00
Livar Cunha
3798102035 Changing the API to create the MSBuild project to LoadProject and removing some non-existing paths from the RepoDirectoriesProvider. 2016-10-17 08:43:47 -07:00
Livar Cunha
ce812a64c2 Removing DotnetFiles from Cli.Utils. 2016-10-14 15:46:52 -07:00
Livar Cunha
dab19ce57c Fixing msbuild.exe casing 2016-10-14 14:58:36 -07:00
Livar Cunha
99d6b1fd6d Adding some more tracing to tools command resolvers. 2016-10-14 12:56:18 -07:00
Livar Cunha
318c9f3e44 Making ProjectDependenciesCommandResolver handle msbuild projects as well by using the ProjectFactory and IProject.
Moving the CommandResolution classes that depend on msbuild back into Cli.Utils.

Updating the src projects to a netstandard compatible with Cli.Utils moving to netstandard1.5
2016-10-14 12:56:18 -07:00