diff --git a/build/Publish.targets b/build/Publish.targets index 1c8cb52bed..37a6a8ff2b 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -3,6 +3,7 @@ $(RepositoryRoot).deps\assets\ $(RepositoryRoot).deps\packages\ + $(RepositoryRoot).deps\symbols\ aspnetcore_base_runtime.version $(IntermediateDir)$(BaseRuntimeVersionFileName) @@ -73,6 +74,8 @@ ShipInstaller=dotnetcli + + $(BlobBasePath)$(PackageArchiveFileName) diff --git a/build/repo.targets b/build/repo.targets index 0a61a08e38..a1df07ce3f 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -93,6 +93,7 @@ <_LineupPackages Include="@(ExternalDependency)" /> <_LineupPackages Include="%(ArtifactInfo.PackageId)" Version="%(ArtifactInfo.Version)" Condition=" '%(ArtifactInfo.ArtifactType)' == 'NuGetPackage' " /> <_LineupPackages Include="Microsoft.AspNetCore.All" Version="$(PackageVersion)" /> + <_LineupPackages Include="Microsoft.AspNetCore.App" Version="$(PackageVersion)" /> <_RestoreSources Include="$(DotNetAdditionalRestoreSources)" Condition="'$(DotNetAdditionalRestoreSources)' != ''" /> <_RestoreSources Include="$(DependencyPackageDir)" Condition="'$(DependencyPackageDir)' != '' AND Exists('$(DependencyPackageDir)')" /> diff --git a/build/tasks/AddArchiveReferences.cs b/build/tasks/AddArchiveReferences.cs index 12367cf835..a912e965f7 100644 --- a/build/tasks/AddArchiveReferences.cs +++ b/build/tasks/AddArchiveReferences.cs @@ -52,12 +52,31 @@ namespace RepoTasks foreach (var package in archiveArtifacts) { var packageName = package.ItemSpec; - var packageVersion = string.Equals(packageName, "Microsoft.AspNetCore.All", StringComparison.OrdinalIgnoreCase) ? - MetaPackageVersion : - buildArtifacts - .Single(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase)) - .PackageInfo.Version.ToString(); + string packageVersion; + + if (string.Equals(packageName, "Microsoft.AspNetCore.All", StringComparison.OrdinalIgnoreCase) + || string.Equals(packageName, "Microsoft.AspNetCore.App", StringComparison.OrdinalIgnoreCase)) + { + packageVersion = MetaPackageVersion; + } + else + { + var packageVersionCandidates = buildArtifacts.Where(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase)); + + if (!packageVersionCandidates.Any()) + { + Log.LogError($"Missing Package: {packageName} from artifacts archive."); + return false; + } + else if (packageVersionCandidates.Count() > 1) + { + Log.LogError($"Duplicate Packages: {packageName} from artifacts archive."); + return false; + } + + packageVersion = packageVersionCandidates.Single().PackageInfo.Version.ToString(); + } Log.LogMessage(MessageImportance.High, $" - Package: {packageName} Version: {packageVersion}"); var packageReferenceElement = xmlDoc.CreateElement("PackageReference"); @@ -83,9 +102,21 @@ namespace RepoTasks foreach (var package in archiveTools) { var packageName = package.ItemSpec; - var packageVersion = buildArtifacts - .Single(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase)) - .PackageInfo.Version.ToString(); + + var packageVersionCandidates = buildArtifacts.Where(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase)); + + if (!packageVersionCandidates.Any()) + { + Log.LogError($"Missing Package: {packageName} from tools archive."); + return false; + } + else if (packageVersionCandidates.Count() > 1) + { + Log.LogError($"Duplicate Packages: {packageName} from tools archive."); + return false; + } + + var packageVersion = packageVersionCandidates.Single().PackageInfo.Version.ToString(); Log.LogMessage(MessageImportance.High, $" - Tool: {packageName} Version: {packageVersion}");