diff --git a/docs/ReferenceResolution.md b/docs/ReferenceResolution.md
index e34b90a072..4acb23b2b8 100644
--- a/docs/ReferenceResolution.md
+++ b/docs/ReferenceResolution.md
@@ -33,3 +33,37 @@ The requirements that led to this system are:
* [eng/PatchConfig.props](/eng/PatchConfig.props) - lists which assemblies or packages are patching in the current build.
* [eng/ProjectReferences.props](/eng/ProjectReferences.props) - lists which assemblies or packages might be available to be referenced as a local project
* [eng/Versions.props](/eng/Versions.props) - contains a list of versions which may be updated by automation.
+
+## Example: adding a new project
+
+Steps for adding a new project to this repo.
+
+1. Create the .csproj
+2. Run `eng/scripts/GenerateProjectList.ps1`
+3. Add it to Extensions.sln
+
+## Example: adding a new dependency
+
+Steps for adding a new package dependency to an existing project. Let's say I'm adding a dependency on System.Banana.
+
+1. Add the package to the .csproj file using ``
+2. Add an entry to [eng/Dependencies.props](/eng/Dependencies.props), ``
+3. If this package comes from another dotnet team and should be updated automatically by our bot...
+ 1. Change the LatestPackageReference entry to `Version="$(SystemBananaPackageVersion)"`.
+ 2. Add an entry to [eng/Versions.props](/eng/Versions.props) like this `0.0.1-beta-1`.
+ 3. Add an entry to [eng/Version.Details.xml](/eng/Version.Details.xml) like this:
+
+ ```xml
+
+
+
+
+ https://github.com/dotnet/corefx
+ 000000
+
+
+
+ ```
+
+ If you don't know the commit hash of the source code used to produce "0.0.1-beta-1", you can use `000000` as a placeholder for `Sha`
+ as its value is unimportant and will be updated the next time the bot runs.
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index c33702611f..8e21fb764f 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,4 +1,12 @@
+
@@ -9,10 +17,6 @@
https://github.com/aspnet/AspNetCore-Tooling
ef2f8975dbe30752fe3a7c4e04efcd798eac3b64
-
- https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
-
https://github.com/aspnet/AspNetCore-Tooling
ef2f8975dbe30752fe3a7c4e04efcd798eac3b64
@@ -49,331 +53,335 @@
https://github.com/aspnet/EntityFrameworkCore
df4350283ae7ff0c67e08af16c0f00fdbd5e22ac
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
https://github.com/dotnet/corefx
- 9e074e4a3f3626fa953f36ab79e3cd3e6db1c9de
+ 000
-
+
+ https://github.com/dotnet/corefx
+ 000
+
+
https://github.com/dotnet/core-setup
- 5ff1240bef06a9a0a6544fcef93808ac26028e43
+ 000
-
+
https://github.com/dotnet/core-setup
- 5ff1240bef06a9a0a6544fcef93808ac26028e43
+ 000
-
+
https://github.com/dotnet/core-setup
- 5ff1240bef06a9a0a6544fcef93808ac26028e43
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
-
+
https://github.com/aspnet/Extensions
- 9750bf67ab22d8d28255c6222be282f4c8e49383
+ 000
diff --git a/eng/Versions.props b/eng/Versions.props
index 44d7036b3f..90a9e8794b 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -6,7 +6,16 @@
-->
-
+
3.0.0-preview-27405-2
@@ -107,14 +116,21 @@
3.0.0-preview-19104-04
3.0.0-preview-19104-04
-
+
+
+
$(KoreBuildVersion)
3.0.0-build-20190130.1
1.0.0-alpha-004
15.9.0
-
-
-
4.5.0
4.4.0
diff --git a/eng/scripts/CodeCheck.ps1 b/eng/scripts/CodeCheck.ps1
index 0292192844..7ccf9a3bac 100644
--- a/eng/scripts/CodeCheck.ps1
+++ b/eng/scripts/CodeCheck.ps1
@@ -11,7 +11,7 @@ $ErrorActionPreference = 'Stop'
Set-StrictMode -Version 1
Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1"
-$repoRoot = Resolve-Path "$PSScriptRoot/../../"
+$repoRoot = Resolve-Path "$PSScriptRoot/../.."
[string[]] $errors = @()
@@ -29,6 +29,28 @@ try {
& $repoRoot/build.ps1 -ci /t:InstallDotNet
}
+ Write-Host "Checking that Versions.props and Version.Details.xml match"
+ [xml] $versionProps = Get-Content "$repoRoot/eng/Versions.props"
+ [xml] $versionDetails = Get-Content "$repoRoot/eng/Version.Details.xml"
+ foreach ($dep in $versionDetails.SelectNodes('//ProductDependencies/Dependency')) {
+ Write-Verbose "Found $dep"
+ $varName = $dep.Name -replace '\.',''
+ $varName = $varName -replace '\-',''
+ $varName = "${varName}PackageVersion"
+ $versionVar = $versionProps.SelectSingleNode("//PropertyGroup[`@Label=`"Automated`"]/$varName")
+ if (-not $versionVar) {
+ LogError "Missing version variable '$varName' in the 'Automated' property group in $repoRoot/eng/Versions.props"
+ continue
+ }
+
+ $expectedVersion = $dep.Version
+ $actualVersion = $versionVar.InnerText
+
+ if ($expectedVersion -ne $actualVersion) {
+ LogError "Version variable '$varName' does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'"
+ }
+ }
+
Write-Host "Checking that solutions are up to date"
Get-ChildItem "$repoRoot/*.sln" -Recurse `