For injestion into a composed build, I'm adding some minor tweaks to
our build system:
- Teach DownloadFile task how to consume file:// URLs so we can pass
around artifacts using local sources.
- Add `SkipBuildingInstallers`, an MSBuild property that can be set
to true when installers (pkgs, msis, debs, rpms and the like) do
not need to be built.
- Add `IncludeAdditionalSharedFrameworks`, an MSBuild property that
can be set to prevent additional shared frameworks (i.e. shared
frameworks that the CLI does not use at runtime) from being
downloaded and included in our payload.
- Add `IncludeNuGetPackageArchive` an MSBuild property that can be
set to prevent the lzma archive containing all the nupkgs we
restore on first run from being included in the final output.
- Provide a way to change the Uri use for blob storage (so the
composed build and point at a local folder that looks like blob
storage to pick up artifacts from).
The build agents in our VSTS pool don't yet have MSBuild 15, so the
signing project can't import any MSBuild 15 projects. (The signing
project is built with the desktop MSBuild because MicroBuild depends on
it.) Once the agents have MSBuild 15, this import can be added back.
* 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
During the official build transition, use sandboxes for:
1. Blog container for the artifacts and checksums
2. MyGet feed
3. VS NuGet feed
4. Versions repo
In addition, skip publishing packages to the apt-get repo, because a
sandbox is not trivial to configure.
These build definitions will be used by pipebuild to build the product.
The signing now uses MicroBuild because the builds are being moved to
the DevDiv VSTS instance, and the Microsoft Code Signing system which
was used in MSEng is not supported there.
MicroBuild does not support the .NET Core MSBuild, so the full-framework
MSBuild is used to build the signing targets. For this reason, the
signing logic is implemented as a standalone MSBuild project.
* 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
* update nuget and sdk rtm-2241
* Applying the no packagereference workaround.
* Fix merge issue
* add comments for restore related workarounds added in test assets
* Insert test platform v15.0.0-preview-20160120-03.
Remove OutputType from test project templates since it is
automatically determined by Microsoft.NET.Test.Sdk.
* Update testplatform v15.0.0-preview-20170123-02.
* 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
* 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.
* 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
* Bump MSBuild Version to 15.1.0-preview-000503-01
* tool_csc->tool_roslyn
* pull some properties up to dir.props
* Move Roslyn to "Roslyn" subdirectory
* Fix relative paths in RunCsc.*
* Add removal of csc & vbc from deps.json
* Revert roslyn to 2.0.0-rc3-61212-03
* netcoreapp -> 1.0.3
* 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
* 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
* 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.
* 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
* 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
* Migrate TestPackages
* Add check for desktop available
* Revert previous change
* WIP try something for non-Windows
* Another attempt to pack properly on non-windows
* Another attempt to fix pack errors
* Remove spaces
* Another attempt to make pack work cross-platform
* 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
* Upgrade MSBuild references to 15.1.0-preview-000370-00
* Custom logger for MSBuild to receive telemetry events
Had to make the telemetry session ID a static variable so that the forwarding app could use it.
I've tested this all manually and will be writing tests after everyone signs off on the implementation here.