Commit graph

278 commits

Author SHA1 Message Date
Eric Erhardt
35e3d69a2f Update ProjectJsonMigration's Roslyn
Now that Roslyn is no longer in the Shared Framework, it doesn't make sense to keep using 1.3.0.  Instead, we should use the same Roslyn version that we use for csc.
2017-03-09 16:35:08 -06: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
841846f32b Standardize on newline between Property|ItemGroup areas 2017-03-02 20:38:56 -08:00
Piotr Puszkiewicz
e617376bc7 Trailing newlines + standardize tabs -> spaces 2017-03-02 20:35:20 -08:00
Piotr Puszkiewicz
d9a06ba95c Remove unnecessary Release constants
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>$(DefineConstants);RELEASE</DefineConstants>
  </PropertyGroup>
2017-03-02 20:11:21 -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
Livar
480f2dd377 Fixing the exclude pattern used by the Migration to exclude WEB SDK globs. 2017-02-24 01:12:35 -08:00
Livar Cunha
8e35beccb8 Fixing a failing test and adding a few more E2E tests around binplace content for migrated projects. 2017-02-23 22:55:35 -08:00
Livar Cunha
733ee18c5a Updating publish, pack and build of content to use None with Never/false/Never in their metadata for excluded items. 2017-02-23 20:36:02 -08:00
Livar Cunha
f05bbd92a6 Intermediate commit to get a WIP PR out. This adds the None Update with CopyToOutputDirectory set to Never. 2017-02-23 18:47:17 -08:00
Livar Cunha
b660311772 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. 2017-02-23 18:47:17 -08:00
Livar Cunha
1228c7ef55 Do not migrate Content that is already included in the Web SDK for web apps. 2017-02-23 18:47:17 -08:00
Livar Cunha
14a7dd7ef1 Migrate now moves all file copies to the None element. 2017-02-23 18:47:17 -08:00
Livar Cunha
3bbfcb428b Adding merging of ProjectItemElement.Update. Before, we only merged Include. 2017-02-23 18:47:16 -08:00
Livar Cunha
24431edfa3 Fixing the origin versions of BrowserLink to migrate. 2017-02-22 20:11:53 -08:00
Livar Cunha
281bd15a19 Fixing a couple of stray package versions. 2017-02-22 20:11:40 -08:00
Livar Cunha
3701b94c32 Updating the FTS versions of packages. Started uplifting FTS packages. And migration BrowserLink.Loader to BrowserLink. 2017-02-22 20:11:34 -08:00
Livar Cunha
523935f3fe Updating packages for migration to new LTS versions. 2017-02-22 20:11:19 -08:00
Livar Cunha
b8a68ad2e0 No longer add runtime identifier when migrating apps that contain full framework and no runtime identifiers already. 2017-02-17 11:30:20 -08: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
Livar Cunha
02c70abe49 Updating the version of the ASP.NET packages that we migrate to, to the RTM package versions. 2017-02-12 22:09:44 -08:00
Justin Goshi
50c10decf5 Migrate compilationOptions 2017-02-08 00:20:04 -08:00
Piotr Puszkiewicz
b0a5d53ed5 Merge rel/1.0.0 to master 2017-02-06 12:43:57 -08:00
Livar
1af25e0fd9 Merge branch 'rel/1.0.0' into wrong_global_json_folders 2017-02-01 14:07:57 -08:00
Justin Goshi
3e07297525 Migration: Remove System.GC.Server from runtimeconfig.template.json and inject ServerGarbageCollection property into the csproj (#5537)
* Remove runtimeconfig.template.json from templates

* Inject ServerGarbageCollection property
2017-02-01 14:05:53 -08:00
Eric Erhardt
9f0bb778a1 Merge rel/1.0.0 into master. 2017-02-01 14:32:59 -06:00
Livar Cunha
6a72ec603e Changing the order in which search paths are added for migration and setting the project file path in the ProjectDependency appropriately in the case of csproj and project.json 2017-02-01 10:33:53 -08:00
Justin Goshi
626c8983c2 Migration: embed compiler resources (#5517)
* Embed compiler resources

* Fix null ref
2017-01-31 20:30:37 -08:00
Justin Goshi
1c80899909 dotnet migrate uses the correct TreatWarningsAsErrors property (#5492) 2017-01-30 16:34:19 -08:00
Jon Sequeira
e8c5d23c29 display CommandParsingException gracefully (#5493)
* display CommandParsing gracefully

This set of changes handles CommandParsingException gracefuly (so as not to show the user a stack trace) and generalizes graceful exception display somewhat away from being type-specific.

* fix compile error by inlining constant

* remove unused test logging
2017-01-30 14:36:44 -08:00
Justin Goshi
5aded80a7b Migration: excluded files need to be removed (#5485)
* WIP

* Implement Remove attribute

* Enable tests

* Fix test

* Try a shorter test name

* Try more shortened test names

* Shorten some more

* Merge issues

* Try shortinging names more

* Fix test errors related to test asset renaming
2017-01-28 17:14:17 -08:00
Livar
e38bc4950c Migrating Microsoft.NetCore.App and NETStandard.Library to RuntimeFrameworkVersion and NetStandardImplicitPackageVersion, respectively. (#5478) 2017-01-27 19:47:57 -08:00
Krzysztof Wicher
d6d39a5c9d fix 5466: explicity including a file causes a build break (#5475)
* fix 5466: explicity including a file causes a build break

* fix failing unit tests

* Add unit tests and apply fix also to includeFiles

* apply review feedback
2017-01-27 18:39:44 -08:00
Livar
60f2b2e4ab Merge branch 'rel/1.0.0' into dev/jgoshi/handleDeprecatedPJ 2017-01-26 20:46:56 -08:00
Livar
99ed699311 Merge branch 'rel/1.0.0' into migrate_sln_file 2017-01-26 19:51:03 -08:00
jonsequitur
d55be626a9 netcoreapp1.1 fixes 2017-01-26 14:48:39 -08:00
Eric Erhardt
0073fc8534 Update CLI to run on netcoreapp1.1. 2017-01-26 14:48:39 -08:00
Justin Goshi
2cc4f3f166 Merge branch 'rel/1.0.0' into dev/jgoshi/handleDeprecatedPJ 2017-01-26 14:28:37 -08:00
Justin Goshi
3821d39d6c Address PR comments 2017-01-26 12:53:29 -08:00
Livar Cunha
85ec8a6f2c Fixing our solution tests so that they go back to building the solution. Seems to work now, at least on OSX. Also, made a change to update solution to update any solutions in the folder where dotnet migrate is executed. 2017-01-26 12:40:55 -08:00
Justin Goshi
037da3fc01 Finish tests 2017-01-26 11:00:50 -08:00
Krzysztof Wicher
7a65922895 apply review feedback 2017-01-26 09:02:28 -08:00
Krzysztof Wicher
000734d1ef Ignore explicit glob **/*.cs 2017-01-26 09:02:28 -08:00
Eric Erhardt
d4153815d5 Update the CLI to netcoreapp2.0. 2017-01-26 07:28:59 -06:00
Justin Goshi
150e3c4313 Add more tests 2017-01-25 17:28:57 -08:00
Justin Goshi
e17c44eddd WIP 2017-01-25 09:53:59 -08:00
Dustin Campbell
0a62481cc0 Create backup folder in the directory where 'dotnet migrate' is executed (#5306)
* Create backup folder in the directory where 'dotnet migrate' is executed

With this change, 'dotnet migrate' will create the backup folder in the workspace directory rather
than the parent of the workspace directory. This solves two problems:

1. It makes it easier for the user where the backup is -- it's in the directory they targeted with
'dotnet migrate'.
2. It solves a problem of file oollisions with global.json files when migrating multiple projects.
Consider the following directory structure:

    root
        |
        project1
            |
            global.json
            |
            src
                |
                project1
        project2
            |
            global.json
            |
            src
                |
                project2

    Prior to this change, running 'dotnet migrate' project1 and then running it again in project2
    would have caused an exception to be thrown because the migration would try to produce a backup
    folder like so:

    root
        |
        backup
        |  |
        |   global.json
        |   |
        |   project1
        |   |
        |   project2
        |
        |
        project1
            |
            src
                |
                project1
        project2
            |
            src
                |
                project2

    Now, we produce the following structure, which has no collisions:

    root
        |
        project1
            |
            backup
            |   |
            |   global.json
            |   |
            |   project1
            |
            src
                |
                project1
        |
        project2
            |
            backup
            |   |
            |   global.json
            |   |
            |   project2
            |
            src
                |
                project2

In addition, to help avoid further collisions, a number is appened to the backup folder's name if
it already exists. So, if the user runs dotnet migrate again for some reason, they'll see backup_1,
backup_2, etc.

* Fix test helper

* Fix foolish bug causing infinite loop

* Fix up a couple more tests

* Rework MigrationBackupPlan to process all projects at once

* Fix up tests

* Still fixing tests

* Compute common root folder of projects to determine where backup folder should be placed

* Fix typo

* Fix test to not look in backup folder now that it's in a better location
2017-01-21 01:58:28 -08:00
Justin Goshi
717d0a45fa Moving existing csproj files with same name as migration output to backup 2017-01-20 12:21:04 -08:00
Krzysztof Wicher
1a20d7f82c Merge remote-tracking branch 'github/rel/1.0.0-rc3' into rel/1.0.0 2017-01-18 12:38:11 -08:00