Commit graph

1087 commits

Author SHA1 Message Date
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
Justin Goshi
76722fd403 Improve the help text (#5002)
* WIP Improve help text

* Improve help text

* Address PR comments

* Address PR comments

* Address PR comments
2016-12-13 14:31:35 -10: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
Justin Goshi
2b7e9b6524 Clean up sln reader/writer (#5005) 2016-12-13 06:45:00 -10:00
Zlatko Knezevic
d335b5de40 Changing dotnet-test options (#4987)
In Preview 3, the `dotnet test` options were not aligned with the CLI's
adopted format. This PR changes the options to be aligned. Where
possible/applicable, I have shortened the long options to a meaningful
mnemonic short version.

Fixes #4960
2016-12-12 23:29:29 -08:00
Livar
1a49787a1f Merge pull request #4993 from livarcocc/cyclic_dependency_test
Adding a test that validates CLI templates don't depend on CLI packages.
2016-12-12 15:48:41 -08:00
Livar Cunha
e1965327e0 Adding a test that restores all c# templates and checks that none of them depend on a package produced by the CLI. I had to write this as a single test for all templates because it cuts the test time in about half to restore all the packages at once to the same folder than to clean and restore again everytime per template. 2016-12-09 16:11:57 -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
Krzysztof Wicher
8eaec8715b Merge pull request #4972 from krwq/p2p-compat-check
add compat checks to dotnet add
2016-12-09 15:32:15 -08:00
Krzysztof Wicher
524fe3cb6b apply review feedback 2016-12-09 12:11:11 -08:00
Piotr Puszkiewicz
70c8ecbf16 Merge branch 'rel/1.0.0' into migrate_pj_without_frameworks 2016-12-09 00:30:36 -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
Livar Cunha
9bddb5bac7 Addressing code review comments. 2016-12-08 20:06:55 -08:00
Livar Cunha
bb1bceb8bb When we had a project.json without frameworks, we were failing to show the appropriate error message because when we were generating the error message itself we tried to access the project context (which requires a framework in the PJ). This fix makes the ProjectContext optional to add the migration error. 2016-12-08 19:53:35 -08:00
Krzysztof Wicher
9a8d158e09 add test coverage 2016-12-08 16:23:21 -08:00
Krzysztof Wicher
21993e0129 fix dotnet-remove-p2p tests 2016-12-08 15:04:32 -08:00
Krzysztof Wicher
2d38aaa6e1 fix dotnet-add-p2p tests 2016-12-08 14:56:31 -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
79e6126b2a add dotnet list p2ps (#4929)
* add stub for dotnet list p2ps

* apply review feedback

* PR feedback: consistent method modifiers

* apply missed review feedback

* add test coverage and do not treat no p2ps as error

* move private methods to the bottom, rename weird res name
2016-12-07 12:56:27 -08:00
Livar Cunha
c94934dfc5 Replacing snake casing with Camel casing for GivenThatIWantToMigrateBuildOptions. At some point, I will be able to change them all. 2016-12-05 20:34:11 -08:00
Livar Cunha
9d96bf8c20 Adding GenerateRuntimeConfigurationFiles when migrating a test project. 2016-12-05 18:23:34 -08:00
Piotr Puszkiewicz
7eb87f3397 Remove tests affected by https://github.com/dotnet/cli/issues/4381 2016-12-05 12:23:29 -08:00
Piotr Puszkiewicz
d6cab4af58 use Sdks attribute in dotnet new templates (#4916)
* Move dotnet-new templates to Sdk attribute

* Update to MSBuild 15.1.0-preview-000454-01

To pick up a fix for Microsoft/msbuild#1431.

* Fix template newlines

* Fix casing on Microsoft.Net.Sdk

* Move migration test csproj's to Sdk attribute

* Disable parallel sdk restore

Each SDK restore operation will try to manipulate the same assets.json file since the dependency name&version are injected into a common csproj file. This can cause runtime failures when two NuGets try to restore the project at once.

* Make casing of SDK 'NET' and not 'Net'

* Remove redundatn imports

* Fix test string

* Additional race

* Replacing the SDK with the Web.Sdk when it is a Web project.

* Fixing the test by writting the csproj before running the migration rule.
2016-12-04 22:31:58 -08:00
Scott Carlton
dc3d88c587 Localize changes for dotnet-remove (#4900)
* Rename centralized LocalizableStrings file

* Added RemoveDefinition

* Rebase

* rebase, remove localizablestrings for help

* loc for help command

* remove localizablestrings

* Localization changes for dotnet-remove

* Slight refactoring
2016-12-04 21:33:43 -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
ac4f903731 Merge pull request #4897 from livarcocc/no_publish_iis
Skipping dotnet publish-iis when migrating scripts as it is now part of the web.sdk
2016-12-04 09:36:52 -08:00
Piotr Puszkiewicz
d2d0353e60 Include Microsoft.Net.Sdk in CLI layout (#4895)
* WiP

* Update test

* Working version of Net SDK

* Latest SDK doesn't work as packageref

* DCR + PR

* Harden CLI tests against #4884
2016-12-03 14:19:54 -08:00
Rohit Agrawal
4311926366 update nuget to 4.0.0-rc2 (dev build 2067) (#4904) 2016-12-02 19:19:54 -08:00
Livar Cunha
7583bcb2fd Skipping dotnet publish-iis when migrating scripts as it is now part of the web.sdk 2016-12-02 10:41:25 -08: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
Piotr Puszkiewicz
f18967e39a Update CLI's MSBuild Version to 15.1.0-preview-000451-02 (#4889)
* Centralize definition of MSBuild Version in CLI

* MSBuild --> 15.1.0-preview-000451-02
2016-12-01 20:10:42 -08:00
Piotr Puszkiewicz
ecfd970045 Extra strings for localization (#4880)
* Update strings for localization

* re-align strings
2016-12-01 16:01:29 -08:00
Piotr Puszkiewicz
e82ed6799d Enable overriding MSBuildSDKsPath with env var (#4885) 2016-12-01 14:45:55 -08:00
Martin Andreas Ullrich
4af30914c9 Show meaningful error when failing to migrate invalid scripts (#4842) 2016-11-30 20:36:13 -08:00
Krzysztof Wicher
7312e1cb3a Merge pull request #4868 from krwq/i4746-dotnet-remove
Add dotnet-remove-p2p
2016-11-30 16:14:47 -08:00
Justin Goshi
8afb8ebf31 sln reader/writer (#4870)
* Snap of sln reader/writer from https://github.com/mono/monodevelop

* Remove unnecessary code

* Create a new test asset with an sln file because adding an sln to an existing one broke other tests

* Remove commented out line

* Removing unneeded PropertyGroup per PR comments

* Update the license

* Fixing the license
2016-11-30 14:08:28 -10:00
Krzysztof Wicher
0349aed9a7 complete tests 2016-11-30 12:07:13 -08:00
Krzysztof Wicher
23b46490a3 add some test cases stubs 2016-11-29 16:14:05 -08:00
Krzysztof Wicher
65f699f1cc Prepare test project for dotnet-remove-p2p 2016-11-29 15:47:30 -08:00
Krzysztof Wicher
f49e29711f Merge pull request #4758 from krwq/i4521
Fix 4521: Add dotnet-add-p2p
2016-11-28 13:51:08 -08:00
Piotr Puszkiewicz
b47d728516 Hide restore output of first-run experience (#4740)
* Fix 4066

* Merge Conflict

* Move fix to the DotNetCommandFactory

* More normalization

The `\r\n` issue is oddly non-deterministic. This change did not affect the message endings and yet CI started failing. Normalizing both string should have the desired result...
2016-11-28 00:46:26 -08:00
Enrico Sada
7b0117ac85 Update fsharp templates for preview4 with latest msbuild style (#4836)
* update web template

* add test build of fsharp/web template

* align fsharp/xunittest template

* add test for all template projects

* align fsharp/console template to #4821

* align fsharp/lib template to #4821

* align fsharp/mstest template to #4821

* align fsharp/xunittest template to #4821

* fix shortened test directory path (was same for c# test)

* try fix ci failure
2016-11-28 00:45:38 -08:00
Enrico Sada
a0060ac321 Fix for current ci fails (#4838)
* test ci

* try fix ci failure
2016-11-28 00:45:17 -08:00
Livar
325b849858 Merge pull request #4814 from livarcocc/invoke_tool_cli_fx
Making Project Tools use the CLI shared runtime
2016-11-25 16:12:38 -08:00
Faizan2304
eb8e0cfa40 Bug fixes (#4810)
* Bug fixes

* Nitpick

* -Fixed failed tests
-Added test to cover trx logger scenario.

* Fix for issue https://github.com/Microsoft/vstest/issues/241

* Fix for failed test. We have taken fix where dotnet test will return nonzero if test fails. In multi TFM scenario if test fails it termates the whole process as dotnet test is returning 1. As a fix of this we should continue if some test fails for next TFM

* Bump Microsoft.Testplatform.CLI and Microsoft.NET.Test.Sdk version
2016-11-24 00:48:54 -08:00
Piotr Puszkiewicz
3a3ab7e0b0 MSBuildSDKsPath (#4824)
* Tests in place

* Implementation
2016-11-23 23:54:44 -08:00
Livar
9862fbb4d7 Checking that the lock file exists before trying to acquire the lock for it. (#4797)
* Checking that the lock file exists before trying to acquire a lock for it, which takes up to 30 seconds.

* Adding a test for failing when reading the lock file and it does not exists.
2016-11-23 22:59:54 -08:00
Enrico Sada
2cf0675270 add F# templates to dotnet new (#4789)
* add F# templates to `dotnet new`

* add dotnet new tests

* avoid conflict with cs test dir

* fix test
2016-11-23 22:57:54 -08:00
Krzysztof Wicher
8b565616a0 Strings->LocalizableStrings, Extensions->ProjectRootElementExtensions, fix long lines, remove empty line 2016-11-23 15:35:48 -08:00
Livar
923320b66b Merge pull request #4829 from jeffkl/4753
Move project.lock.json during migration
2016-11-23 14:02:35 -08:00