Go to file
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
.vscode
build Implement patch policies per repo and set default to ProductChangesOnly 2018-07-12 21:33:50 -07:00
docs
modules Implement patch policies per repo and set default to ProductChangesOnly 2018-07-12 21:33:50 -07:00
scripts Implement patch policies per repo and set default to ProductChangesOnly 2018-07-12 21:33:50 -07:00
src Refactor LZMA generation to support Docker and Antares usage 2018-07-06 13:15:23 -07:00
test/SharedFx.UnitTests Fix the version override check for ProdCon builds 2018-07-02 17:02:30 -07:00
.appveyor.yml
.editorconfig
.gitattributes
.gitignore Merge branch 'release/2.0' into release/2.1 2018-07-05 20:12:24 -07:00
.gitmodules
.travis.yml
CONTRIBUTING.md
Directory.Build.props Refactor LZMA generation to support Docker and Antares usage 2018-07-06 13:15:23 -07:00
Directory.Build.targets
LICENSE.txt
Microsoft.AspNetCore.sln
NuGet.config
README.md
build.cmd
build.sh
dockerbuild.sh Ensure trx logging is reported correctly when building in TeamCity 2018-07-05 10:14:35 -07:00
korebuild-lock.txt Updating BuildTools from 2.1.3-rtm-15800 to 2.1.3-rtm-15802 2018-07-10 01:32:19 +00:00
korebuild.json
run.cmd
run.ps1
run.sh
version.props

README.md

Universe

Build infrastructure used to produce the whole ASP.NET Core stack.

Released Builds

ASP.NET Core Runtime Store

The runtime store can be downloaded from here.

NuGet packages

All published ASP.NET Core packages can be found on https://www.nuget.org/profiles/aspnet.

Commonly referenced packages:

Package NuGet.org
Microsoft.AspNetCore.App
Microsoft.AspNetCore

Daily builds

NuGet packages

Packages can be found on https://dotnet.myget.org/gallery/dotnet-core. This feed may include packages that will not be supported in a officially released build.

Commonly referenced packages:

Package MyGet
Microsoft.AspNetCore.App
Microsoft.AspNetCore

ASP.NET Core Shared Framework

Platform Latest (dev branch)
release/2.1
Windows (x64) Installer (exe)
Archive (zip)
Installer (exe)
Archive (zip)
Windows (x86) Installer (exe)
Archive (zip)
Installer (exe)
Archive (zip)
macOS (x64) Archive (tar.gz) Archive (tar.gz)
Linux (x64)
(for glibc based OS - most common)
Archive (tar.gz) Archive (tar.gz)
Linux (x64 - musl)
(for musl based OS, such as Alpine Linux)
Archive (tar.gz) Archive (tar.gz)
Linux (arm32) Archive (tar.gz) Archive (tar.gz)
Debian/Ubuntu (x64) Installer (deb) Installer (deb)
RedHat/Fedora (x64) Installer (rpm) Installer (rpm)

Building from source

git clone --recursive https://github.com/aspnet/Universe.git
cd Universe
./build.cmd

Useful properties and targets

Property Purpose Example
SkipTests Only build repos, don't run the tests. /p:SkipTests=true
TestOnly Don't package or verify things. /p:TestOnly=true
KOREBUILD_REPOSITORY_INCLUDE A list of the repositories to include in build (instead of all of them). $env:KOREBUILD_REPOSITORY_INCLUDE='Antiforgery;CORS'
KOREBUILD_REPOSITORY_EXCLUDE A list of the repositories to exclude from build (all the rest will be built). $env:KOREBUILD_REPOSITORY_EXCLUDE='EntityFramework'

More info

This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the Home repo.