Commit graph

85 commits

Author SHA1 Message Date
seancpeters
2d93968a88 New3 integration (#5430)
* Partial conversion to new3. 2 tests fail due to browserlink not restoring.

* new cache initialization

* More lzma changes, and removed a razor ref from templates

* Ephemeral hive flag added to tests that need it

* Updated the template engine version to build against. Minor code cleanup

* Config changes to make template versions separate from template engine versions

* Changed dotnet new versioning to use Product.Version

* Fixing Archiver.csproj

* Fixing dotnet new test.

* Fix LZMA Package Source Condition

* Workaround for newline differences.

* fixed tests with changed template parameters. Added a new3 template non-match test
2017-01-31 17:31:37 -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
99ed699311 Merge branch 'rel/1.0.0' into migrate_sln_file 2017-01-26 19:51:03 -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
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
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
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
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
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
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 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
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
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
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
jonsequitur
a145c7ae81 fix path length problem in test 2016-12-20 18:17:36 -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
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
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
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