Commit graph

1250 commits

Author SHA1 Message Date
Eric Erhardt
fafc2eedae Work around ZipArchive bug in tests
See https://github.com/dotnet/corefx/issues/15516, 'dotnet' executable doesn't get its execute flag set in netcoreapp2.0.
2017-01-26 13:18:41 -06: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
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
Piotr Puszkiewicz
04a7fca9fc Fixing argument parsing in add package command (#5421)
* Fixing argument parsing in add package command

* Adding check to throw if extra args were passed

* Removing string and adding test cases for dotnet add package command

* Add new test to test.sln, and fix naming, and clean csproj
2017-01-21 00:11:18 -08:00
Justin Goshi
b2c51b7269 Do not add duplicate solution folders or project directories (#5377)
* Do not add duplicate solution folders or project directories

* Fix the algorithm for removing empty solution folders

* Improving code by adding description methods. To address PR comments.
2017-01-20 18:34:37 -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
870f7edc87 Merge branch 'rel/1.0.0' into migrate_sln 2017-01-19 18:42:00 -08:00
Piotr Puszkiewicz
dd59e2ce97 Merge pull request #5130 from blackdwarf/slntest
Introducing solution file for test projects
2017-01-19 16:12:38 -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
Zlatko Knezevic
0ce6b0cc0f Merge branch 'rel/1.0.0' into slntest 2017-01-17 21:12: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
Zlatko Knezevic
d93b7abca0 Merge branch 'rel/1.0.0' into slntest 2017-01-17 12:53:44 -08:00
Livar
557999a5bd Merge pull request #5352 from livarcocc/skip_project_references
Skipping project dependencies check when the skip-project-references flag is passed
2017-01-16 16:20:39 -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
b8da3b9a87 Updating the versions of xunit 2.2.0-beta5-build3474 and xunit runner to 2.2.0-beta5-build1225. 2017-01-16 13:08:40 -08:00
Zlatko Knezevic
632a6f0ce7 Fixing build breaks 2017-01-13 14:14:12 -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
Piotr Puszkiewicz
968ee5c3f6 Merge branch 'rel/1.0.0' into slntest 2017-01-13 11:19:47 -08:00
Justin Goshi
f972cf80a9 Treat /? the same as --help (#5285)
* Fixes issue 4539

* Support -?
2017-01-13 01:24:12 -08:00
Zlatko Knezevic
75dc96be2a Merge branch 'rel/1.0.0' into slntest 2017-01-12 23:00:41 -08:00
Livar Cunha
18a3dd60b5 Fixing an issue where packages with a filter but no match were not being migrated as is, instead they were being dropped. 2017-01-12 18:23:35 -08:00
Krzysztof Wicher
5fea7c3ae6 Remove try catches choking all exceptions (#5206)
* remove some try catches choking all exceptions

* rename ExceptionExtension to ReportAsWarning, show full stack instead of just message

* dotnet-migrate try catch clean-up

* fix migration test failures
2017-01-12 15:42:36 -08:00
Livar
a9c5f4e90a Merge pull request #5293 from dotnet/dev/jgoshi/issue5253
Migration: do not inject built in compile includes that the SDK does
2017-01-12 15:00:03 -08:00
Pranav K
80c435e6a1 Add support for migrating Microsoft.AspNetCore.Mvc.ViewCompilation 2017-01-12 13:49:28 -08:00
Livar Cunha
deb50a3cc7 Switching to using a csv as the source of our lts packages. Also, this is a more comprehensive list. 2017-01-12 11:38:05 -08:00
Livar Cunha
12abcf7208 Adding a few more packages that were not in the manifest and moving some tests around. 2017-01-12 11:38:05 -08:00
Livar Cunha
a0aa8150de Migrating packages to LTS (1.0.3) versions if they have a smaller version than the LTS one. 2017-01-12 11:38:05 -08:00
Livar Cunha
89fba856e8 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. 2017-01-12 11:38:05 -08:00
Justin Goshi
71da7f6a45 Migration: do not inject built in compile includes that the SDK does 2017-01-12 11:22:41 -08:00
Piotr Puszkiewicz
c0b73e4b5f Merge branch 'rel/1.0.0' into slntest 2017-01-11 17:37:46 -08:00
Piotr Puszkiewicz
0f9888c11d Merge branch 'rel/1.0.0' into piotrpMSFT/merge/rc3toRTM 2017-01-11 17:15:44 -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
PiotrP
9008aaff85 merge RC3 into rel/1.0.0 2017-01-11 13:03:09 -08:00
Livar
4b82852d56 Updating the version of msbuild to 15.1.0-preview-000516-03 (#5266)
* Updating the version of msbuild to 15.1.0-preview-000516-03

* Remove test that assumes props/targets imports

The test ItAddsRefBetweenImports validated that the MSBuild XML model contained new project references between the props and targets imports. While useful be fore the SDK attribute, the test no longer adds value since the SDK is added implicitly, guaranteeing it wraps the remaining project contents.

* Move MSBuild to 15.1.0-preview-000509-03

This is the last msbuild version prior to the change of MSBuild's dependencies to include .NET 1.1 components.

* Move MSBuild invocations to use dirs.props/dirs.tasks

* Put back the test targets. We'll unify later.

* Remove dirs.props props from templates msbuild invocation
2017-01-11 01:49:22 -08:00
Piotr Puszkiewicz
19f18a291f Merge branch 'rel/1.0.0' into slntest 2017-01-11 01:17:52 -08:00
Mike Lorbetske
ad6fab0a15 Synchronize templates with new3, add global.json (#5244)
* Synchronize templates with new3, add global.json

* Add runtimeconfig.template.json for web

Removes global.json write during template creation

* Remove global.json check from the test

* making templates the same as new3 templates

* Fix broken PrivateAssets, content update

Sets OutputType as appropriate
Alphabetizes package references

* Rollback browserlink version to 1.0.0

* Downgrade 1.1.0 of browserlink to 1.0.0 as well

* Add newline to the end of the console project
2017-01-10 22:58:30 -08:00