Commit graph

180 commits

Author SHA1 Message Date
Justin Goshi
3821d39d6c Address PR comments 2017-01-26 12:53:29 -08:00
Livar Cunha
537d78d2a6 Fixing test failures. One of them, is a known issue that still reproes intermittently. The other was some left over code that was causing problems. 2017-01-26 12:40:56 -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
61ae452fe2 Updating tests 2017-01-26 09:55:09 -08:00
Justin Goshi
8b7c0ad468 Add more tests 2017-01-26 09:15:30 -08:00
Krzysztof Wicher
ecd034b95c fix build errors after rebase 2017-01-26 09:02:28 -08:00
Krzysztof Wicher
000734d1ef Ignore explicit glob **/*.cs 2017-01-26 09:02:28 -08:00
Justin Goshi
ddf3261a67 Add more tests 2017-01-26 08:34:36 -08:00
Eric Erhardt
eefdbb8846 Disable test due to crossgen bug https://github.com/dotnet/coreclr/issues/9118. 2017-01-26 10:05:11 -06: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
b8d4010d85 Handle some of the deprecated properties 2017-01-25 12:30:56 -08:00
Justin Goshi
731ab92c1f Update the test 2017-01-24 10:57:07 -08:00
Justin Goshi
a2088e2641 Refactor and finish the feature 2017-01-23 13:01:58 -08:00
Justin Goshi
3884c90938 Merge from rel/1.0.0 2017-01-23 10:25:16 -08:00
Piotr Puszkiewicz
1dfee9ead8 [WIP] Reduce test target complexity [and running time] (#5403)
* Reduce test target complexity [and running time]

* WiP

* Enable building tests via solution

Remove deprecated tests
Make Microsoft.DotNet.Tools.Tests.Utilities portable-only
Remove MSI tests from the solution as they are the only  tests that currently require dekstop.

* Enable building of tests

* Move migration tests to TA to allow them to self-restore

* Reduce project nesting and test directory name
2017-01-22 14:40:00 -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
baecbd8d43 WIP 2017-01-20 17:37:11 -08:00
Piotr Puszkiewicz
fe290f1e26 Merge branch 'rel/1.0.0' into dev/jgoshi/issue5343 2017-01-20 14:08:49 -08:00
Piotr Puszkiewicz
26aa05cfea Merge pull request #5394 from livarcocc/migrate_global_json
Handle dotnet migrate global.json
2017-01-20 14:07:27 -08:00
Justin Goshi
33c962a481 Merge branch 'rel/1.0.0' into dev/jgoshi/issue5343 2017-01-20 12:21:43 -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
Livar Cunha
dbf4b5de77 Adding a test that verifies that running dotnet migrate solution.sln will only migrate the projects in the solution file. 2017-01-19 13:59:31 -08:00
Justin Goshi
56c3010f72 Merge branch 'rel/1.0.0' into dev/jgoshi/issue5343 2017-01-19 13:17:05 -08:00
Livar
c4e2c35d25 Merge branch 'rel/1.0.0' into migrate_global_json 2017-01-19 12:25:35 -08:00
Livar Cunha
7f4273d4b1 Adding one more test to ensure that migrate global.json will continue to target only projects under the global.json's project node. 2017-01-19 12:24:42 -08:00
Justin Goshi
5bbac55736 Migration: do not add a csproj to the solution if it already exists 2017-01-19 11:23:01 -08:00
Livar Cunha
cdf91f2f30 Fixing dotnet migrate global.json. This was failing because we were turning global.json into an empty string and trying to construct a directory for it. The fix was to detect this and transform it into a . directory. Migrate is already respecting the projects node in global.json. 2017-01-19 10:55:23 -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
Justin Goshi
a5fb786228 Ensure we don't downgrade VS version 2017-01-17 14:48:54 -08:00
Justin Goshi
2676682fec Migrate should change the visual studio version 2017-01-17 13:45:48 -08:00
Livar Cunha
2161364116 Adding a test for a project that has a package dependency whose name is also the name of a folder in the repo.
Moved the test to dotnet-migrate.Test and modified the code that find possible P2P dependencies to actually check if the folder holds a project.
2017-01-17 13:14:18 -08:00
Livar Cunha
e1f355065d Moving the project dependencies construction to after we check for the skip project reference check, so that we really don't look for P2P projects when the flag is passed. 2017-01-16 15:16:31 -08:00
Livar Cunha
8c2e7c9f01 Merge branch 'rel/1.0.0-rc3' into merge_rc3
* rel/1.0.0-rc3:
  Fixing an issue where packages with a filter but no match were not being migrated as is, instead they were being dropped.
  Add support for migrating Microsoft.AspNetCore.Mvc.ViewCompilation
  Switching to using a csv as the source of our lts packages. Also, this is a more comprehensive list.
  Adding a few more packages that were not in the manifest and moving some tests around.
  Migrating packages to LTS (1.0.3) versions if they have a smaller version than the LTS one.
  Adding ranges to the source mappings so that we can specify the origin should match this range and migrate to that version. We use this to handle LTS/FTS migration and will use that for the LTS uplift.
  Migration: do not inject built in compile includes that the SDK does
  Update msbuild to 15.1.0-preview-000522-02
  Migration: Do not add RIDs for Library projects (#5279)
  Use a separate env variable to control uploading the lzma archive. We only want OSX to publish the archive, because turns out that windows published archives are not used by unix based oses.
  Fix the download of the LZMA archive on dev machines and in Jenkins CI.
2017-01-13 14:08:31 -08:00
Krzysztof Wicher
c9b873caad make dotnet-build show build summary (#5277)
* make dotnet-build show build summary

* Fix race in some dotnet-migrate (sln) tests
2017-01-11 17:06:03 -08:00
Justin Goshi
03be0e56d4 Migration: Do not add RIDs for Library projects (#5279)
* WIP

* Do not add runtime identifiers for libraries

* Reusing an existing test project

* Fix up tests
2017-01-11 17:05:12 -08:00
Rohit Agrawal
5bbfbfeeed update nuget to 4.0.0-rc3 and sdk to 1.0.0-alpha-20170105-5 (#5214)
* update nuget to 4.0.0-rc3 and sdk to 1.0.0-alpha-20170105-5

* Modifying restore project.json to use the project.json stage0 CLI instead of restore-projectjson command.

* add a nuget dependency so migrated project has packageref and generates an assets file on restore
2017-01-06 16:28:04 -08:00
Livar
5bdbe354b2 Merge pull request #5226 from livarcocc/migrate_full_framework
Migration will now pick win7-x86 as the RuntimeIdentifier to be used by Full Framework TFMs
2017-01-06 14:48:35 -08:00
Livar Cunha
0ebb92f3c4 Renaming a test asset to avoid running into long path issues on Windows. 2017-01-06 11:34:37 -08:00
Livar Cunha
7e5f18b584 Fixing full framework tests. 2017-01-05 22:55:43 -08:00
Livar Cunha
b41eb43883 Updating our projects and test assets to work with the latest SDK. 2017-01-05 19:44:52 -08:00
Livar Cunha
abe7641f03 Migration will now pick win7-x86 as the RuntimeIdentifier to be used by Full Framework TFMs when no RIDs exist in the source PJ. This will allow build/publish etc to continue working in csproj without extra RIDs parameters in the command line. 2017-01-05 16:52:02 -08:00
Justin Goshi
f8de8d5a80 dotnet add uses ProjectTypeGuid or DefaultProjectTypeGuid (#5218)
* dotnet add uses ProjectTypeGuid or DefaultProjectTypeGuid

* Create ProjectInstanceExtensions per PR comments
2017-01-05 12:04:57 -10:00
Eric Erhardt
639d467c14 Merge pull request #5210 from eerhardt/UpdateSharedFx103
Update Microsoft.NETCore.App to 1.0.3.
2017-01-05 12:06:57 -06:00
Eric Erhardt
a80e8fa636 Update Microsoft.NETCore.App to 1.0.3. 2017-01-05 08:57:53 -06:00
Justin Goshi
d0151a6111 Add/remove solution items based on directory structure (#5197)
* WIP support solution folders for dotnet add and remove

* Add/remove solution folders based on directory hierarchy

* Fix tests

* Disable the solution building tests

* Address PR comments

* Fix a build break due to a new tool version used in the build

* Create SlnProjectExtensions and SlnProjectCollectionExtensions per PR comments
2017-01-04 18:32:09 -10:00
Justin Goshi
281eca2f8c Disable tests that fail sporadically (#5192) 2017-01-03 11:06:51 -10:00
Livar Cunha
1f3356b330 Copying the nuget.config template for the publish web app test, so that the new tools packages can be resolved. 2016-12-28 22:03:18 -08:00
Livar Cunha
fa675cb5e5 Updating the migrated tools version to 1.0.0-msbuild3-final. 2016-12-28 21:26:31 -08:00
Livar Cunha
ad88058266 Stopped doing hoisting of transitive project dependencies and references. We also don't validate if a dependency exist, since migration strictly speaking does not need it. We move the project.json and the csproj will fail to build just like the project.json would. 2016-12-28 14:48:38 -08:00
Livar
b4ef34bc38 Merge pull request #5104 from livarcocc/update_sdks
Updating the projects files in the repo to use the SDK attribute.
2016-12-21 15:34:33 -08:00
Livar Cunha
64360cb08b Commenting out building solution step in migrate tests because we have an issue in the SDK for it. 2016-12-21 14:06:06 -08:00
jonsequitur
a145c7ae81 fix path length problem in test 2016-12-20 18:17:36 -08:00
Livar Cunha
3b081316ad Updating the SDK version in the BundleSdks.props and adding dirs.props back to all csprojs but the TestAssets ones. 2016-12-20 16:38:04 -08:00
Livar Cunha
fadacc0aac Updating the projects files in the repo to use the SDK attribute. 2016-12-20 15:52:50 -08:00
Jon Sequeira
35e3625d4b Merge branch 'rel/1.0.0' into make-migration-backup-folder-peer-of-project 2016-12-20 15:24:33 -08:00
Justin Goshi
89f0b05958 Improve sln migration tests (#5066)
* WIP Improve sln migration tests

* Simple migration test

* Improve the test

* WIP update test assets

* Update test

* Test a bug fix

* Add another migrate sln test

* Fix FilePath related tests

* Finish the migrate sln tests

* Fix tests

* Fix another path issue
2016-12-20 13:04:01 -10:00
jonsequitur
620e573f95 make migration backup folder a sibling of the project root 2016-12-20 14:35:52 -08:00
Livar Cunha
e710958b79 Adding a Exclude @(EmbeddedResource) during migration so that we don't get duplicate resources when building migrated apps. 2016-12-15 11:17:20 -08:00
Livar Cunha
56dd76bdb0 Adding Update under Content for BuildOptions as well, but limiting this change only to Web Apps at the moment, because regular SDK does not have Content Include=**/* in place yet. 2016-12-13 16:45:40 -08:00
Livar Cunha
84682562bf Adding a condition to Content CopyToPublishDirectory to validate that the file exists before trying to copy it to output, to keep the same functionality as it existed in PJ. In MSBuild world, without this condition, CopyToPublishDirectory will fail. 2016-12-13 16:45:39 -08:00
Livar
bd590f51e6 Emitting PackageId whenever we emit AssemblyName. We need to do this to preserve the behavior from PJ where the package id matched the containing PJ folder name. In MSBuild, PackageId will match AssemblyName, unless it is explicitly specified. (#4990) 2016-12-09 16:10:16 -08:00
Livar
1fd99f1588 Merge rel/1.0.0-preview4 back into rel/1.0.0 (#4974)
* Updating the preview4 channel to rel-1.0.0-preview4

* Add more xlf files for new strings

* bundle fsharp sdk, only Sdk directory is required

* align f# console proj

* align f# lib template

* align f# mstest template

* align f# xunit template

* align f# web template

* fix mstest package version, aligned to c#

* remove unused directories from bundled sdks

* Adding a SdkNugetVersion property when invoking dotnet pack on test packages so that test packages can reference exact packages. We need that because of https://github.com/NuGet/Home/issues/4063. Without it, pack creates the nuspec with a version like 1.0.0-version-, instead of 1.0.0-version-<version_used_in_build>, which leads to problems when restoring the tool. Like, it ends up restoring to the closest version of the package (oldest), instead of the latest.

* Update web template for Web SDK 154 (#4948)

* Update WebSDK version

* Update web template to get rid of globs

https://github.com/aspnet/Templates/pull/735

* MSBuild to 15.1.458 (#4950)

* Adding MigrateWebSdkRule to the DefaultMigrationRuleSet (#4963)

* Adding MigrateWebSdkRule to the DefaultMigrationRuleSet and adding a E2E test to cover it.

* Do not migrate compile and EmbeddedResources for web application, because those are included in the Web Sdk already.

* Addressing code review comments
2016-12-09 00:30:02 -08:00
Justin Goshi
0831316321 Allow migration of sln files (#4949)
* WIP Migrate sln files

* WIP add reference to redist

* Adding tests and fixing a few bugs

* Fix some tests

* Remove use of DeepClone

* Fix test build errors

* Fix more tests
2016-12-07 11:49:15 -10:00
Piotr Puszkiewicz
da82bdb05d Centralize Microsoft.Net.SDK Version (#4890)
* Centralize Microsoft.Net.Sdk package version

Note: Templates were omitted as their version needs to be static.

* Unifying additional missmatched versions

* prefercliruntime

whitespace threw off ReplaceAll

* Additional missed globs

* Revert SDK version for performance tests

* PR Feedback

* Roll back VSTestXunitDesktopAndNetCore.csproj SDK version
2016-12-02 09:34:03 -08:00
Jeff Kluge
2205a8577c Move project.lock.json during migration
Closes #4753
2016-11-23 09:46:36 -08:00
Piotr Puszkiewicz
d39ee4a463 add *.xproj.user to backup file types 2016-11-16 01:10:55 -08:00
Justin Goshi
be61afcfa5 Remove unused project.json and .xproj files (#4735)
* Remove unused project.json and .xproj files

* Update the test msi script
2016-11-15 16:12:19 -10:00
Krzysztof Wicher
43df9a170d Fix 4655: Migrate errors are not getting put in formatted output (#4718)
* Fix 4655: Migrate errors are not getting put in formatted output

* Move test asset to NonRestoredTestProjects

* use group test asset manager: NonRestoredTestProjects
2016-11-15 09:39:58 -08:00
Krzysztof Wicher
9212605e89 binding redirects tests: Simplify and get ready for enabling (#4692)
* binding redirects tests: Simplify and get ready for enabling

* fix targets broken during cleanup

* fix non-windows build

* apply pr feedback: remove some not needed code

* remigrate BindingRedirects samples, add x64 to bind redir proj
2016-11-14 14:26:03 -08: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
Krzysztof Wicher
e3bc102b06 When Library add reference to NETStandardLib if not present 2016-11-01 15:52:24 -07:00
Krzysztof Wicher
875e275e38 Revert "When Library add reference to NETStandardLib if not present"
This reverts commit 57d79bb2d3.
2016-11-01 15:45:14 -07:00
Krzysztof Wicher
57d79bb2d3 When Library add reference to NETStandardLib if not present 2016-11-01 15:34:17 -07:00
Livar Cunha
9139c4006b Fixing full framework tests 2016-11-01 00:31:21 -07:00
Livar Cunha
be2ab211f1 Addressing code review comments. 2016-10-31 12:39:03 -07:00
Livar
5a621b53e2 Merge pull request #4540 from livarcocc/issue4492/migrateWeb
Issue4492/migrate web
2016-10-31 12:26:26 -07:00
Livar Cunha
c3b57f2e72 Changing the Sdk.Web version to match the current SDK version so that we can update them together. Also added the dotnet-web to the migrated tests. 2016-10-30 21:32:11 -07:00
Piotr Puszkiewicz
5ede3b6367 post migration cleanup (#4449)
* Create tests

* Basic scenario working & tested

* Feature Complete

* prevent build of intentionally broken test asset

* Update migrate command backup

* PR Feedback

* Move negative test to negative test directory

* Fix tests

* make test output directories unique

* Merge Conflict

* make backup the default behavior

* Pass2Fail

* Remove tests' PJ dependency
2016-10-29 01:58:37 -07:00
Livar
22a5a15ba9 Merge pull request #4536 from krwq/outputNameIssue
Migrating project with OutputName
2016-10-28 20:55:18 -07:00
Livar Cunha
6c1dd226ec Fixing windows failure due to path length. 2016-10-28 19:03:03 -07:00
Livar Cunha
9cbc563b55 Fixing tests in Windows. 2016-10-28 18:19:42 -07:00
Bryan Thornbury
c9f9421b93 preserve whitespace 2016-10-28 18:19:39 -07:00
Krzysztof Wicher
e9e05006da Migrating project with OutputName 2016-10-28 17:27:42 -07:00
Livar Cunha
29bd1e12e6 Fixing a merge with a new test that I added. No more restore3, hooray. 2016-10-27 20:56:36 -07:00
Livar Cunha
83350434bc Adding a E2E test and a indirect dependency to TestAppDependencyGraph. 2016-10-27 20:08:53 -07: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
53dc665e9b Merge pull request #4505 from livarcocc/assembly_info_migration
Assembly info migration
2016-10-26 17:00:22 -07:00
Justin Goshi
68afda8e4d Handle "runtimes" section (#4503)
* Migrate "runtimes" section as a RuntimeIdentifiers property in the resulting csproj file. Also do not call restore3 from publish3 anymore.

* Fix up the publish3 tests to call restore3 first and the csproj files to have RuntimeIdentifiers
2016-10-26 22:23:40 +00:00
Livar Cunha
017fe529c1 Adding a E2E test for migrating an app with AssemblyInfo. 2016-10-26 15:13:39 -07:00
Livar
caf072daeb Merge pull request #4463 from brthor/brthor/imports
Turn on tests
2016-10-21 14:22:21 -07:00
Bryan Thornbury
5301f08423 turn on signing test (#4460)
* turn on signing test

* fix the test

* test with xplat AssemblyOriginatorKeyFile

* tweak signassembly condition
2016-10-20 20:15:42 -07:00
Bryan Thornbury
16ff3734a3 fix the multi tfm test to not build net20 2016-10-20 15:33:47 -07:00
Bryan Thornbury
1c1f4c462f turn on multi tfm test 2016-10-20 15:19:35 -07:00
Bryan Thornbury
481aebd18a turn on the web test 2016-10-20 15:04:53 -07:00
Justin Goshi
71666cc9b5 Auto add referenced assemblies for desktop migration
* https://github.com/dotnet/cli/issues/4351

Auto add referenced assemblies for desktop migration. Adds the same ones
that the build for project.json does.

* Address PR comments

* Address CR comments

* Address CR comment

Use .ToList() instead of new List

* Fix a build break

Needed .noautobuild file in my test asset project

* Change the migrate test for desktop framework to windows only

* Reducing to 120 characters per line
2016-10-18 01:02:10 +00:00
Piotr Puszkiewicz
02a19aff56 dotnet-new csproj templates (#4382)
Make csproj templates first-class in dotnet-new.
2016-10-14 00:06:35 -07:00
Justin Goshi
70a8872f45 Address CR comments for the new migration tests
Changing the tests to also verify the error messages.
2016-10-11 11:19:04 -07:00
Justin Goshi
5016aea90c Add tests 2016-10-10 18:01:59 -07:00
Sridhar Periyasamy
c6064677db Address PR feedback 2016-10-05 17:58:42 -07:00