Add previously-built aspnetcore artifacts as external dependencies
This commit is contained in:
parent
869d762641
commit
c76125af0e
|
|
@ -132,7 +132,7 @@
|
||||||
<ExternalDependency Include="BenchmarkDotNet" Version="0.10.3" Source="$(DefaultNuGetFeed)" Private="true"/>
|
<ExternalDependency Include="BenchmarkDotNet" Version="0.10.3" Source="$(DefaultNuGetFeed)" Private="true"/>
|
||||||
<ExternalDependency Include="EntityFramework" Version="6.1.3" Source="$(DefaultNuGetFeed)" Private="true" />
|
<ExternalDependency Include="EntityFramework" Version="6.1.3" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||||
<ExternalDependency Include="FSharp.Core" Version="4.2.1" Source="$(DefaultNuGetFeed)" Private="true" />
|
<ExternalDependency Include="FSharp.Core" Version="4.2.1" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||||
<ExternalDependency Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.1.1" Source="$(DefaultNuGetFeed)"/>
|
<ExternalDependency Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.1.1" Source="$(DefaultNuGetFeed)" />
|
||||||
<ExternalDependency Include="Microsoft.AspNet.Identity.EntityFramework" Version="2.2.1" Source="$(DefaultNuGetFeed)" />
|
<ExternalDependency Include="Microsoft.AspNet.Identity.EntityFramework" Version="2.2.1" Source="$(DefaultNuGetFeed)" />
|
||||||
<ExternalDependency Include="Microsoft.AspNet.WebApi.Client" Version="5.2.2" Source="$(DefaultNuGetFeed)" />
|
<ExternalDependency Include="Microsoft.AspNet.WebApi.Client" Version="5.2.2" Source="$(DefaultNuGetFeed)" />
|
||||||
<ExternalDependency Include="Microsoft.Azure.KeyVault" Version="2.3.2" Source="$(DefaultNuGetFeed)" />
|
<ExternalDependency Include="Microsoft.Azure.KeyVault" Version="2.3.2" Source="$(DefaultNuGetFeed)" />
|
||||||
|
|
@ -253,4 +253,75 @@
|
||||||
<NoWarn>KRB2004</NoWarn>
|
<NoWarn>KRB2004</NoWarn>
|
||||||
</ExternalDependency>
|
</ExternalDependency>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
**********************************************************
|
||||||
|
Packages built in a previous version of ASP.NET Core, but
|
||||||
|
not building again in this patch.
|
||||||
|
**********************************************************
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Shipped dependencies from previous builds -->
|
||||||
|
<ItemGroup>
|
||||||
|
<ExternalDependency Include="Microsoft.AspNetCore.Html.Abstractions" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.AspNetCore.JsonPatch" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.AspNetCore.Testing" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Data.Sqlite" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Data.Sqlite.Core" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Caching.Abstractions" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Caching.Memory" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Caching.Redis" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Caching.SqlServer" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Configuration" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Configuration.Abstractions" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Configuration.Binder" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Configuration.CommandLine" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Configuration.UserSecrets" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.DependencyInjection" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.DiagnosticAdapter" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.FileProviders.Abstractions" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.FileProviders.Composite" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.FileProviders.Embedded" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.FileProviders.Physical" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.FileSystemGlobbing" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Logging" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Logging.AzureAppServices" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Logging.Configuration" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Logging.Testing" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.ObjectPool" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Options" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Primitives" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.WebEncoders" Version="2.0.0" Source="$(DefaultNuGetFeed)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!-- Non-shipped dependencies from previous builds -->
|
||||||
|
<PropertyGroup>
|
||||||
|
<AspNetCoreMasterFeed>https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json</AspNetCoreMasterFeed>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.ActivatorUtilities.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.CommandLineUtils.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.HashCodeCombiner.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.ObjectMethodExecutor.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.Process.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.PropertyActivator.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.PropertyHelper.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.RazorViews.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.SecurityHelper.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.StackTrace.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.TypeNameHelper.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
<ExternalDependency Include="Microsoft.Extensions.WebEncoders.Sources" Version="2.0.0" Source="$(AspNetCoreMasterFeed)" Private="true" Mirror="true" />
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,6 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<_LineupPackages Include="@(ExternalDependency)" />
|
<_LineupPackages Include="@(ExternalDependency)" />
|
||||||
<_LineupPackages Include="%(ArtifactInfo.PackageId)" Version="%(ArtifactInfo.Version)" Condition=" '%(ArtifactInfo.ArtifactType)' == 'NuGetPackage' " />
|
<_LineupPackages Include="%(ArtifactInfo.PackageId)" Version="%(ArtifactInfo.Version)" Condition=" '%(ArtifactInfo.ArtifactType)' == 'NuGetPackage' " />
|
||||||
<_LineupPackages Include="%(ShippedArtifactInfo.PackageId)" Version="%(ShippedArtifactInfo.Version)" Condition=" '%(ShippedArtifactInfo.ArtifactType)' == 'NuGetPackage' " />
|
|
||||||
|
|
||||||
<_LineupSources Include="$(_DependencyPackagesDirectory)" Condition="'$(_DependencyPackagesDirectory)' != '' AND Exists('$(_DependencyPackagesDirectory)')" />
|
<_LineupSources Include="$(_DependencyPackagesDirectory)" Condition="'$(_DependencyPackagesDirectory)' != '' AND Exists('$(_DependencyPackagesDirectory)')" />
|
||||||
<_LineupSources Include="$(BuildDir)" />
|
<_LineupSources Include="$(BuildDir)" />
|
||||||
|
|
@ -200,7 +199,6 @@
|
||||||
Solutions="@(Solution)"
|
Solutions="@(Solution)"
|
||||||
Artifacts="@(ArtifactInfo)"
|
Artifacts="@(ArtifactInfo)"
|
||||||
Dependencies="@(ExternalDependency)"
|
Dependencies="@(ExternalDependency)"
|
||||||
ShippedArtifacts="@(ShippedArtifactInfo)"
|
|
||||||
StartGraphAt="$(BuildGraphOf)"
|
StartGraphAt="$(BuildGraphOf)"
|
||||||
Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath)">
|
Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath)">
|
||||||
<Output TaskParameter="RepositoryBuildOrder" ItemName="RepositoryBuildOrder" />
|
<Output TaskParameter="RepositoryBuildOrder" ItemName="RepositoryBuildOrder" />
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,6 @@ namespace RepoTasks
|
||||||
[Required]
|
[Required]
|
||||||
public ITaskItem[] Dependencies { get; set; }
|
public ITaskItem[] Dependencies { get; set; }
|
||||||
|
|
||||||
// Artifacts that already shipped from repos
|
|
||||||
[Required]
|
|
||||||
public ITaskItem[] ShippedArtifacts { get; set; }
|
|
||||||
|
|
||||||
[Required]
|
[Required]
|
||||||
public string Properties { get; set; }
|
public string Properties { get; set; }
|
||||||
|
|
||||||
|
|
@ -90,12 +86,6 @@ namespace RepoTasks
|
||||||
|
|
||||||
private void EnsureConsistentGraph(IEnumerable<ArtifactInfo.Package> packages, IEnumerable<SolutionInfo> solutions)
|
private void EnsureConsistentGraph(IEnumerable<ArtifactInfo.Package> packages, IEnumerable<SolutionInfo> solutions)
|
||||||
{
|
{
|
||||||
var shippedPackageMap = ShippedArtifacts
|
|
||||||
.Select(ArtifactInfo.Parse)
|
|
||||||
.OfType<ArtifactInfo.Package>()
|
|
||||||
.Where(p => !p.IsSymbolsArtifact)
|
|
||||||
.ToDictionary(p => p.PackageInfo.Id, p => p, StringComparer.OrdinalIgnoreCase);
|
|
||||||
|
|
||||||
// ensure versions cascade
|
// ensure versions cascade
|
||||||
var buildPackageMap = packages.ToDictionary(p => p.PackageInfo.Id, p => p, StringComparer.OrdinalIgnoreCase);
|
var buildPackageMap = packages.ToDictionary(p => p.PackageInfo.Id, p => p, StringComparer.OrdinalIgnoreCase);
|
||||||
var dependencyMap = new Dictionary<string, List<string>>(StringComparer.OrdinalIgnoreCase);
|
var dependencyMap = new Dictionary<string, List<string>>(StringComparer.OrdinalIgnoreCase);
|
||||||
|
|
@ -126,27 +116,8 @@ namespace RepoTasks
|
||||||
if (!buildPackageMap.TryGetValue(dependency.Key, out var package))
|
if (!buildPackageMap.TryGetValue(dependency.Key, out var package))
|
||||||
{
|
{
|
||||||
// This dependency is not one of the packages that will be compiled by this run of Universe.
|
// This dependency is not one of the packages that will be compiled by this run of Universe.
|
||||||
|
if (!dependencyMap.TryGetValue(dependency.Key, out var externalVersions)
|
||||||
var matchesExternalDependency = false;
|
|| !externalVersions.Contains(dependency.Value.Version))
|
||||||
if (shippedPackageMap.TryGetValue(dependency.Key, out var shippedPackage))
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(dependency.Value.Version))
|
|
||||||
{
|
|
||||||
Log.LogKoreBuildError(
|
|
||||||
project.FullPath,
|
|
||||||
KoreBuildErrors.EmptyPackageReferenceVersion,
|
|
||||||
message: $"Package reference to {dependency.Key} has an empty version");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
matchesExternalDependency = shippedPackage.PackageInfo.Version.Equals(NuGetVersion.Parse(dependency.Value.Version));
|
|
||||||
}
|
|
||||||
else if (dependencyMap.TryGetValue(dependency.Key, out var externalVersions))
|
|
||||||
{
|
|
||||||
matchesExternalDependency = externalVersions.Contains(dependency.Value.Version);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!matchesExternalDependency)
|
|
||||||
{
|
{
|
||||||
Log.LogKoreBuildError(
|
Log.LogKoreBuildError(
|
||||||
project.FullPath,
|
project.FullPath,
|
||||||
|
|
@ -168,15 +139,7 @@ namespace RepoTasks
|
||||||
|
|
||||||
if (!solution.ShouldBuild)
|
if (!solution.ShouldBuild)
|
||||||
{
|
{
|
||||||
if (!shippedPackageMap.TryGetValue(project.PackageId, out _))
|
reposThatShouldPatch.Add(Path.GetFileName(Path.GetDirectoryName(solution.FullPath)));
|
||||||
{
|
|
||||||
Log.LogMessage(MessageImportance.Normal, $"Detected inconsistent in a sample or test project {project.FullPath}");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reposThatShouldPatch.Add(Path.GetFileName(Path.GetDirectoryName(solution.FullPath)));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inconsistentVersions.Add(new VersionMismatch
|
inconsistentVersions.Add(new VersionMismatch
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue