* remove reference to TestAssetsManager in dotnet-add-reference
* remove TestAssetsManager dependency from dotnet-build
* remove TAM ref from dotnet-list-reference
* remove TAM dependency from dotnet-msbuild
* remove TAM dependency from ProjectJsonMigration tests
* remove TAM dependency from dotnet.Tests
* remove TAM dependency from dotnet-new.Tests
* remove TAM from dotnet-pack.Tests
* remove TAM from dotnet-publish.Tests
* remove TAM from dotnet-restore.Tests
* remove TAM dependency from dotnet-remove-reference.Tests
* remove TAM dependency from dotnet-run.Tests
* remove TAM dependency from dotnet-test.Tests
* remove TAM dependency from Microsoft.DotNet.Cli.Utils.Tests
* remove TAM from TestBase
* remove TAM
* remove newly introduced dependency on TAM
* First try at refactor of Prepare.targets
* Enable restore of CLI build tasks
* Fix up build
* Feedback
* Newlines
* Add new props to sln
* CommitCount
* NuGet.config
* WorkingDir
* packages dir path
* Add missing nuget.configs
* Workaround for https://github.com/NuGet/Home/issues/4583
* Match NuGet.Config casing
* Put back Version Badge Properties
* Remove duplicate
Use the crossgen and jit that comes with Microsoft.NETCore.App so we don't have to keep a corresponding CoreCLR version around.
Remove workarounds for crossgen bug https://github.com/dotnet/coreclr/issues/9118
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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.
* 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.
* 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
* 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
* 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
* 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
* First step to ingest template engine
Please do not merge yet
@piotrp @seancpeters @livarocc
* Localization
* Attempt to get a build going
Rename program.cs to New3Command.cs
Move TableFormatter into its own file
Consume template engine packages version 1.0.0-beta1-20161218-24
Temporarily add MyGet templating feed so that package restore will work
* Update ExtendedCommandParser
Make short form args prefer longer runs of characters in the source
parameter before falling back to p:shortname syntax
Change scoping for a few methods to get rid of inconsistent visiblity
errors
* Fix package installation wildcards
* Cleanup New3Command, fix review issue, bump version, sorting for template list
* Installation, loc fix, help formatting
* Use latest TemplateEngine packages
* New3 unit tests
* Fixed formatting on csproj files
* Add the build steps to add templates to the layout
* Change tests slightly to make comparisons easier
Also fixes the wrong flag getting passed to set language
* Fixes for 127, 128, 130, 131 - help display
* Sync to latest TemplateEngine version
Absorbs new search logic
* All tests passing
Cleaner New3Command
Support for project/item template contexts
* Try to make tests more durable
* Disable test parallelization for dotnet-new tests
* Update web SDK and template engine versions
* Remove AI package feed
* Simplify CLI interface to Template Engine
* Fix host identifier and update to latest packages
* Update template engine & Web SDK versions
* Fix template engine version
* Remove UsingTask and redeclaration of property
* 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
* Update testplatform packages version
* Refer TestPlatform version from DependencyVersions.props
* Updating the packages with respect to Testplatform release 15.0.0-preview-20161227-02
* Add dit.props to test assets projects
* Archive asp.net package references
* Archive asp.net package references
* Change the hash input so it's the same on all platforms
* Address PR comments
This commit introduces a solution file for test projects and modifies
the needed build targets to restore the test solution instead of each
test project separately.
It also introduces a new template called "sln" to dotnet new that drops
a template solution file for users to consume.
Fixes#5099
* 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
* Remove argument separator from commands
Currently, the argument separator (`--`) is only supported on
`dotnet run`. This PR removes it from other commands to make the help and
usage of these command clearer.
* Adding dotnet run message test
* Responding to PR feedback
* add dotnet restore --packages tests
* add dotnet build, publish, pack, dotnet-test test
* Shorten the test name in attempt to fix test failure
* fix whitespaces
Treat the errors from vstest task as errors (instead of warnings) before continuing further.
Add asserts for exit code in tests for dotnet-test and dotnet-vstest.
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
* 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
* 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
* 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
* 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.
* 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
* 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...
* 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
* 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
* 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...
* 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
* 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
* 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.
* Fix 4655: Migrate errors are not getting put in formatted output
* Move test asset to NonRestoredTestProjects
* use group test asset manager: NonRestoredTestProjects
* 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
* Updating the Microsoft.Net.Sdk & Microsoft.Net.Sdk.Web versions
* Fixed merge conflicts. Had to re-update the Sdk version in one place.
* re-migrate dotnet.dll
* Revert Performance Test Projects
* Fix test test
* Add missing WithRuntime
* Disable failing test test
* Migrate: auto-injected dependencies should overwrite existing dependency version if present
* WIP adding new mstest templates
* Auto-inject mstest dependencies when testrunner is set to mstest
* WIP trying to get new web test to work
* Get dotnet new -t Web test to pass
* Remove whitespace and accidentally added (redundant) tests
* Shorten test method name