Commit Graph

128 Commits

Author SHA1 Message Date
Nate McMaster c1c7d711b6
Merge branch 'release/2.1' into release/2.2 2018-11-14 09:27:23 -08:00
Nate McMaster 59ed8df382
Add targets and tools for ensuring consistent package versions between servicing builds 2018-11-09 13:05:31 -08:00
Nate McMaster 34999a804e
Remove submodules for repos that merged to aspnet/Extensions (#3671)
Builds of the packages in aspnet/Extensions repo go through ProdCon instead of building as a submodule of this repo.
2018-11-09 08:48:42 -08:00
Nate McMaster 0ba800841b
Ensure build output is still present when crossgen is disabled
* Split targets for copying outputs and preparing the crossgen tool
* Fix version override check by only looking at the 'pinned' section
2018-10-26 16:00:48 -07:00
Nate McMaster 968df9578b
Refactor shared framework projects targets and project layout (#3703)
This refactors the targets used to build the shared framework and its .zip files. There are lots of reasons motivating this: Arcade convergence, migration to VSTS, making it easier to build this locally, etc.

Changes:
* Moves move content of build/Sharedfx.{props/targets} into eng/targets/SharedFx.Common.{props/targets}
* Update the build to produce a `runtime.$rid.Microsoft.AspNetCore.App` package (not just the one with symbols in it)
* Refactor the targets which produce .tar.gz/.zip files into separate projects in `src/Installers/`
* Refactor installers, unit tests, and the framework projects to use ProjectReference to flow dependencies between different parts of the build.
* Makes it easier to build the shared framework locally (for the inner dev loop, you can run `dotnet build -p src/Framework/Microsoft.AspNetCore.App/src/ -r win-x64`)
2018-10-24 15:42:06 -07:00
Nate McMaster eaad1eb3aa
Remove tasks for analyzing the repo graph (#1469)
As a part of converging repos, we no longer need this code. It is currently buggy and slow, and we can get away without by hard-coding the repo graph (which rarely changes)
2018-10-09 12:01:41 -07:00
Nate McMaster 12f4235342
Merge branch 'release/2.1' into release/2.2 2018-09-05 17:23:44 -07:00
Nate McMaster e9b0415bb9
Make System.IO.Pipelines a direct dependency of Microsoft.AspNetCore.App 2018-09-05 15:20:11 -07:00
Nate McMaster 555f10b5f9
Fix #650 - remove the BuildGraphOf property (#1302) 2018-08-10 09:42:43 -07:00
Nate McMaster 2e96271e69
Merge branch 'release/2.1' into release/2.2 2018-07-25 09:29:48 -07:00
Nate McMaster e69a47f230
Implement patch policies per repo and set default to ProductChangesOnly
Our policy since 1.0.0 has been to always cascade version updates in the packages we own. e.g. if Logging has a product change in 2.1.x, then Kestrel, EF Core, Mvc, etc also re-ship with the updated Logging dependency. This has been done for a variety of reasons:

* NuGet does not show updates for transitive dependencies, only direct ones
* NuGet does resolves the lowest compatible transitive dependencies
* ASP.NET Core ships to both .NET Framework (where transitive dependency version matters) and .NET Core (where it matters less if you use the shared framework)

While transitive dependencies is still an important scenario, this practice of always patching has led to bigger issues.

* High probability users will unintentionally upgrade out of the shared framework: #3307
* Conflicts with metapackages that attempt to use exact version constraints: aspnet/Universe#1180
* A quality perception issue: the high volume of new versions in servicing updates with only metadata changes has created the impression that new versions of packages may not be very important. It's also made it appear like there are more issues product than there really are.
* High volume of packages changing with only metadata changes. Of the last 301 packages published in a servicing update, only 11 contained actual changes to the implementation assemblies. (3.5%)

This change implements a system to verify a new, non-cascading versioning policy for servicing updates. This required changes to repos to pin version variables to that matter per-repo,
and to remove some of the restrictions and checks.

Incidentally, this should make defining new patches easier because it automatically determines which packages are or are not patching in the release.
2018-07-12 21:33:50 -07:00
Nate McMaster d50f75ac21
Merge branch 'release/2.1' into release/2.2 2018-07-10 16:17:44 -07:00
Nate McMaster b410a585f7
Merge 2.1.2 into release/2.1 2018-07-10 10:27:26 -07:00
Nate McMaster 9276602279
Merge branch 'release/2.1' into release/2.2 2018-07-06 13:43:43 -07:00
Nate McMaster bf03fee4be
Refactor LZMA generation to support Docker and Antares usage
List explicitly as .csproj files the scenarios for which the offline package cache is important

Produces new artifacts designed for various scenarios, such as:
 * Docker (where xml doc files are not needed)
 * Azure web apps (where 1.x SDKs must still be supported, but xml docs are not needed)
2018-07-06 13:15:23 -07:00
John Luo 4dd62a6863 Merge branch 'release/2.1' into release/2.2 2018-06-29 10:56:50 -07:00
John Luo b9d956df59 Ensure no trailing slashes for LZMA generation 2018-06-28 20:28:36 -07:00
Nate McMaster 91a1d2de50
Add unit tests for the shared framework (#1228)
Changes:
* Add a test project with simple unit tests for the shared framework
* Add root-level Directory.Build.props/targets files
* Cleanup .csproj files to reduce duplication
2018-06-27 14:56:10 -07:00
Doug Bunting f47e86439d Support packages both built in Universe and used as external dependencies
- `AnalyzeBuildGraph` fix should correct Update Universe build break
- `VerifyCoherentVersions` fix should correct UniverseCoherence build break

nits:
- add and rename a couple of variables for clarity and reduced repetition
- remove and sort `using`s
2018-06-23 00:34:33 -07:00
John Luo 5931c7fb9a Remove trailing slashes when creating LZMAs 2018-06-18 13:08:43 -07:00
John Luo f0b5f73c73 Merge branch 'release/2.1' into dev 2018-06-08 11:24:44 -07:00
John Luo 25bbb466db Create compressed delta lzma for antares
- The delta lzma is packaged as a zip
- Only new content that's not present in the LKG lzma is included
- Xmls are removed
2018-06-08 11:08:09 -07:00
Nate McMaster b1b92385c0
Add unit tests for the shared framework
Changes:
* Add a test project with simple unit tests for the shared framework
* Add root-level Directory.Build.props/targets files
* Cleanup .csproj files to reduce duplication
2018-06-08 10:33:31 -07:00
Nate McMaster 6586c921f0
Fix compiler error introduced by merge conflict 2018-06-04 10:39:30 -07:00
Nate McMaster d5d1246c46
Fixup bad changes from merge 2018-06-01 17:16:43 -07:00
Nate McMaster ca4e81b975
Merge branch 'release/2.0' into release/2.1 2018-06-01 17:08:08 -07:00
Nate McMaster 309e9e3077
Widen dependency version range on Microsoft.AspNetCore.App to allow patch updates (#1186)
Originally, we thought using exact version ranges on the dependencies of Microsoft.AspNetCore.App
would help protect consumers from lifting binaries out of the shared framework. However,
this makes it difficult for consumers to use packages that share a dependency with .App.
When users tried to mix Microsoft.EntityFramework.SQLite 2.1.1 with Microsoft.AspNetCore.App 2.1.0,
NuGet errors and warnings made it difficult to reason about what was wrong, and how to resolve it.

This changes the dependency version range to allow uses to upgrade within the major.minor patch family
without needing to override NuGet warnings. This removes some of the protections against users
unintentionally lifting to a binary newer than the shared framework, however, after lots of discussion,
we believe this is a better user experience.
2018-05-31 12:40:52 -07:00
Nate McMaster da8ca36fe8
Pin to stable 2.1.0 corefx packages (#1188)
* Pin to stable 2.1.0 corefx packages
* Ensures ProdCon overrides passed to us match our expectations about which variables will be set
2018-05-30 13:42:36 -07:00
Nate McMaster faf600ce71
Fixup the effect of cascading versions (#1187)
The PR #1175 was incomplete. This fixes the cascading effect of patching to 2.1.1

Changes:
 - add CheckRepoGraph (ported directly from the release/2.0 branch)
 - Update submodules
2018-05-30 10:58:10 -07:00
Nate McMaster 695bf56afc
Run VerifyCoherentVersions check (#1156)
All packages were being ignored. This adds an error if 0 packages are found, and also fixes the folder scanned for coherence.

This also required removing the 'Private' designation from external dependencies, because we no longer scan just shipping packages,

Removed unused NoWarn metadata as well.
2018-05-08 16:51:26 -07:00
Nate McMaster 3fa5a7cd79
Fix ArgumentOutOfRangeException in analyzing the build graph 2018-04-13 09:33:28 -07:00
Nate McMaster aff2d08d04
Remove unused external dependencies (#1043) 2018-04-09 09:57:57 -07:00
Nate McMaster 9f7e295af8
Add task to generate the repo to repo graph (#1036) 2018-04-05 13:24:49 -07:00
Pavel Krymets f828c9d6aa
Merge release/2.1 into dev (#1030) 2018-04-03 10:45:17 -07:00
Nate McMaster 19c7c1beec
Add MSBuild namespace to generated dependencies.props file 2018-03-29 09:45:31 -07:00
Nate McMaster d94db644e3
Backport: separate list of dependency versions and dependency items, and stop issuing KRB4002 on duplicates 2018-03-27 10:06:56 -07:00
Nate McMaster 7fffc939cf
Backport: consolidate list of myget feeds to one place and remove the need to mirror packages 2018-03-27 09:03:44 -07:00
Nate McMaster 2dbb33d316
Update to build tools 2.0.7-rtm-10025 and remove custom DownloadNuGetPackages task in favor of the one in build tools 2018-03-26 11:53:34 -07:00
Nate McMaster 0f765534cb
Remove duplicate copies of files from artifact output 2018-03-23 16:37:40 -07:00
John Luo 1ce0e6ecdf Add lzma repo task 2018-03-13 12:25:22 -07:00
Nate McMaster 349acb5bb3
Condense restore feed configuration to single location and remove package mirroring (#945) 2018-03-13 10:56:09 -07:00
Nate McMaster a3f0260ee8
Upload to Azure in parallel (#952) 2018-03-13 10:01:55 -07:00
= c45864d299 Remove HostingStartup infrastructure from Universe 2018-03-05 12:23:59 -08:00
Nate McMaster 68b3df8fe9
Don't ship global CLI tool packages to nuget.org or put into LZMA (#906) 2018-02-22 14:49:24 -08:00
John Luo b7c61128af Resolve portable pdbs from symbols packages 2018-02-13 14:17:57 -08:00
Nate McMaster f76d2f8d92 Update dependencies to prodcon build 20180208-05-1367307 (#867)
* Updates packages to 20180208-05-1367307 prodcon output
* Updates corefxlab packages to 0.1.0-preview1-180208-1
* Add script to automate updates from prodcon build manifest
2018-02-13 14:14:16 -08:00
Nate McMaster 0b2f053ad8 Fix #785 - publish nuget packages and the shared runtime at the same time 2018-02-07 14:40:08 -08:00
= 0ec2bd4e76 Add .App to LZMA
- Use metapackage version for .App in archiver project
2018-02-06 09:44:04 -08:00
Ryan Brandenburg 711436b7a1 Notify which package is missing 2018-02-05 16:41:05 -08:00
John Luo e4e837fa24 Flatten dependencies of Microsoft.AspNetCore.All metapackage
Remove BrowserLink from Microsoft.AspNetCore.App
Remove version locking in .All metapackage
2018-02-01 11:51:27 -08:00