Verify and mirror external dependencies and self-consistent package versions (#566)
Moves build logic from other infrastructure repos into aspnet/Universe.
This commit is contained in:
parent
f564f0b68e
commit
e841229782
|
|
@ -0,0 +1,29 @@
|
|||
; EditorConfig to support per-solution formatting.
|
||||
; Use the EditorConfig VS add-in to make this work.
|
||||
; http://editorconfig.org/
|
||||
|
||||
; This is the default for the codeline.
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.{cs}]
|
||||
indent_size = 4
|
||||
dotnet_sort_system_directives_first = true:warning
|
||||
|
||||
[*.{xml,config,*proj,nuspec,props,resx,targets,yml,tasks}]
|
||||
indent_size = 2
|
||||
|
||||
[*.json]
|
||||
indent_size = 2
|
||||
|
||||
[*.{ps1,psm1}]
|
||||
indent_size = 4
|
||||
|
||||
[*.sh]
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
|
|
@ -20,3 +20,4 @@ node_modules
|
|||
.deps
|
||||
global.json
|
||||
korebuild-lock.txt
|
||||
*.binlog
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
<ItemDefinitionGroup>
|
||||
<Repository>
|
||||
<Branch>dev</Branch>
|
||||
<Build>true</Build>
|
||||
</Repository>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
<!-- If there are duplicate properties, the properties which are defined later in the order would override the earlier ones -->
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:Universe_Version=$(Version)'</RepositoryBuildArguments>
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:Universe_LineupBuildDir=$(LineupBuildDir)'</RepositoryBuildArguments>
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:Universe_DependencyLineupDir=$(_DependencyLineupDir)'</RepositoryBuildArguments>
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:Universe_AdditionalRestoreSources=$(IntermediateMirrorPackageDir)'</RepositoryBuildArguments>
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:Universe_IntermediateDir=$(IntermediateDir)'</RepositoryBuildArguments>
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:CustomBeforeKoreBuildProps=$(MSBuildThisFileDirectory)repobuild\BeforeKoreBuild.props'</RepositoryBuildArguments>
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:CustomAfterKoreBuildTargets=$(MSBuildThisFileDirectory)repobuild\AfterKoreBuild.targets'</RepositoryBuildArguments>
|
||||
|
|
@ -59,8 +59,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<RepositoryArtifacts Include="$(RepositoryArtifactsBuildDirectory)*" />
|
||||
<RepositorySymbolNupkgs Include="$(RepositoryArtifactsBuildDirectory)*.symbols.nupkg" />
|
||||
<RepositoryNupkgs Include="$(RepositoryArtifactsBuildDirectory)*.nupkg" Exclude="@(RepositorySymbolNupkgs)" />
|
||||
<RepositoryMSBuildArtifacts Include="$(RepositoryArtifactsMSBuildDirectory)**\*.*" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
@ -72,15 +70,6 @@
|
|||
SourceFiles="@(RepositoryMSBuildArtifacts)"
|
||||
DestinationFolder="$(ArtifactsDir)msbuild\$(RepositoryToBuild)\%(RecursiveDir)" />
|
||||
|
||||
<Message Text="Publishing the following packages to the volatile feed: @(RepositoryNupkgs -> '%(Filename)%(Extension)', ', ')"
|
||||
Condition="'$(PublishPackages)'=='true' AND '@(RepositoryNupkgs)' != ''" />
|
||||
|
||||
<PushNuGetPackages
|
||||
Packages="@(RepositoryNupkgs)"
|
||||
Feed="$(NuGetPublishVolatileFeed)"
|
||||
ApiKey="$(APIKey)"
|
||||
Condition="'$(PublishPackages)'=='true' AND '@(RepositoryNupkgs)' != ''" />
|
||||
|
||||
<Message Text="============ Done building $(RepositoryToBuild) ============" Importance="High" />
|
||||
</Target>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,239 @@
|
|||
<Project>
|
||||
|
||||
<ItemDefinitionGroup>
|
||||
<PackageArtifact>
|
||||
<Metapackage>false</Metapackage>
|
||||
</PackageArtifact>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageArtifact Include="Microsoft.AspNet.Identity.AspNetCoreCompat" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.All" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Antiforgery" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ApplicationInsights.HostingStartup" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Cookies" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Core" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Facebook" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Google" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.JwtBearer" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.OAuth" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Twitter" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authorization" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authorization.Policy" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Buffering" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.CertificateGeneration.Task" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Certificates.Configuration.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ChunkingCookieManager.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.CookiePolicy" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cors" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cryptography.Internal" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.AzureKeyVault" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.AzureStorage" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Extensions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Redis" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.SystemWeb" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Elm" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Identity.Service" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Dispatcher" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Dispatcher.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.WebHostBuilderFactory.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.WindowsServices" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Html.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Extensions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Features" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HttpOverrides" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HttpSys.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.AzureKeyVault" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.Core" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.EntityFrameworkCore" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.IntegratedWebClient" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.Mvc" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.Specification.Tests" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Specification.Tests" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.JsonPatch" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Localization" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Localization.Routing" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.MiddlewareAnalysis" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Core" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Cors" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.DataAnnotations" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Formatters.Xml" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Localization" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.RazorPages" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.TagHelpers" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Testing" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.NodeServices" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.NodeServices.Sockets" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Owin" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Protocols.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Proxy" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.RangeHelper.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.Language" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.Runtime" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.TagHelpers.Testing.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCaching" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCaching.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCompression" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Rewrite" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Routing" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Routing.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Routing.DecisionTree.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.HttpSys" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.IISIntegration" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.IntegrationTesting" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Core" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Https" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Session" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Client" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Client.Core" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Common" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Core" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Redis" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Sockets" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Sockets.Abstractions" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Sockets.Client.Http" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Sockets.Common.Http" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Sockets.Http" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SpaServices" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.StaticFiles" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.TestHost" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Testing" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.WebSockets" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.WebUtilities" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.CodeAnalysis.Razor" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.CodeAnalysis.Razor.Workspaces" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.CodeAnalysis.Remote.Razor" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.Data.Sqlite" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Data.Sqlite.Core" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.DotNet.Watcher.Tools" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Design" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.InMemory" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Relational" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Relational.Specification.Tests" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Specification.Tests" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Sqlite" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.SqlServer" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Tools" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ActivatorUtilities.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Memory" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Redis" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.SqlConfig.Tools" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.SqlServer" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.CommandLineUtils.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.AzureKeyVault" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Binder" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.CommandLine" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.DockerSecrets" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.FileExtensions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Ini" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Json" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.UserSecrets" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Xml" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Specification.Tests" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DiagnosticAdapter" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Composite" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Embedded" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Physical" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileSystemGlobbing" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.HashCodeCombiner.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Hosting.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Hosting" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Identity.Core" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Identity.Stores" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Localization" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Localization.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Abstractions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Analyzers" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.AzureAppServices" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Configuration" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Console" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Debug" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.EventLog" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.EventSource" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Testing" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.TraceSource" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ObjectMethodExecutor.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ObjectPool" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Options" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Options.ConfigurationExtensions" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ParameterDefaultValue.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Primitives" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Process.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.PropertyActivator.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.PropertyHelper.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.RazorViews.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.SecretManager.Tools" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.SecurityHelper.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.StackTrace.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.TypeNameHelper.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.WebEncoders" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.WebEncoders.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Net.Http.Headers" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Owin.Security.Interop" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.LanguageServices.Razor" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.BrowserLink" Category="ship" Metapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGeneration" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGeneration.Contracts" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGeneration.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGeneration.Templating" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGeneration.Utils" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGenerators.Mvc" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Web.Xdt.Extensions" Category="shipoob" />
|
||||
<PackageArtifact Include="RazorPageGenerator" Category="noship" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -1,12 +1,75 @@
|
|||
<Project>
|
||||
|
||||
<!-- ASP.NET Core (non-Universe builds) -->
|
||||
<ItemDefinitionGroup>
|
||||
<ExternalDependency>
|
||||
<!-- The NuGet package version. Floating versions not allowed. -->
|
||||
<Version></Version>
|
||||
<!-- Where does this pacakge come from -->
|
||||
<Source></Source>
|
||||
<!-- A list of warnings to suppress. -->
|
||||
<NoWarn></NoWarn>
|
||||
<!-- This dependency is 'Private', aka. it should not end up as a public-facing external dependency. This is validated by checking the nuspec on generated packages. -->
|
||||
<Private>false</Private>
|
||||
<!-- When true, this dependency should be mirrored to aspnetcore's nightly build feeds. -->
|
||||
<Mirror>false</Mirror>
|
||||
<!-- The dependency should be added to the partners lineup. -->
|
||||
<Lineup>true</Lineup>
|
||||
</ExternalDependency>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<!-- dotnet-core -->
|
||||
<PropertyGroup>
|
||||
<AspNetCoreFeed>https://dotnet.myget.org/F/aspnetcore-ci-dev/api/v3/index.json</AspNetCoreFeed>
|
||||
<DotNetCoreFeed>https://dotnet.myget.org/f/dotnet-core/api/v3/index.json</DotNetCoreFeed>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExternalDependency Include="Libuv" Version="1.10.0" Source="$(AspNetCoreFeed)"/>
|
||||
<ExternalDependency Include="System.Memory" Version="4.4.0-preview3-25519-03" Source="$(DotNetCoreFeed)" Mirror="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- CoreFX labs -->
|
||||
<PropertyGroup>
|
||||
<CoreFxLabFeed>https://dotnet.myget.org/f/dotnet-corefxlab/api/v3/index.json</CoreFxLabFeed>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExternalDependency Include="System.Binary.Base64" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.Binary" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.Buffers.Experimental" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.Buffers.Primitives" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.Collections.Sequences" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.IO.Pipelines.Extensions" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.IO.Pipelines.Text.Primitives" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.IO.Pipelines" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Mirror="true" />
|
||||
<ExternalDependency Include="System.Text.Encodings.Web.Utf8" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Mirror="true" />
|
||||
<ExternalDependency Include="System.Text.Formatting" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.Text.Primitives" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.Text.Utf8String" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
<ExternalDependency Include="System.Threading.Tasks.Channels" Version="0.1.0-e170811-6" Source="$(CoreFxLabFeed)" Private="true" Mirror="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Roslyn -->
|
||||
<PropertyGroup>
|
||||
<RoslynFeed>https://dotnet.myget.org/F/roslyn/api/v3/index.json</RoslynFeed>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- These packages are required for Razor to build the VSIX for VS. -->
|
||||
<ExternalDependency Include="Microsoft.CodeAnalysis.Common" Version="2.6.0-beta1-61924-08" Source="$(RoslynFeed)" Private="true" Mirror="true" Lineup="false" />
|
||||
<ExternalDependency Include="Microsoft.CodeAnalysis.CSharp" Version="2.6.0-beta1-61924-08" Source="$(RoslynFeed)" Private="true" Mirror="true" Lineup="false" />
|
||||
<ExternalDependency Include="Microsoft.CodeAnalysis.EditorFeatures.Text" Version="2.6.0-beta1-61924-08" Source="$(RoslynFeed)" Private="true" Mirror="true" Lineup="false" />
|
||||
<ExternalDependency Include="Microsoft.CodeAnalysis.Remote.Razor.ServiceHub" Version="2.6.0-beta1-61924-08" Source="$(RoslynFeed)" Private="true" Mirror="true" Lineup="false" />
|
||||
<ExternalDependency Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="2.6.0-beta1-61924-08" Source="$(RoslynFeed)" Private="true" Mirror="true" Lineup="false" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.LanguageServices.Razor.RemoteClient" Version="2.6.0-beta1-61924-08" Source="$(RoslynFeed)" Private="true" Mirror="true" Lineup="false" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.LanguageServices" Version="2.6.0-beta1-61924-08" Source="$(RoslynFeed)" Private="true" Mirror="true" Lineup="false" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- ASP.NET Core Module -->
|
||||
<PropertyGroup>
|
||||
<AspNetCoreModuleFeed>https://dotnet.myget.org/F/aspnetcoremodule/api/v3/index.json</AspNetCoreModuleFeed>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExternalDependency Include="Microsoft.AspNetCore.AspNetCoreModule" Version="1.0.0-pre-10132" Source="$(AspNetCoreModuleFeed)" Private="true" Mirror="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- nuget.org -->
|
||||
|
|
@ -15,13 +78,14 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExternalDependency Include="BenchmarkDotNet" Version="0.10.9" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="FSharp.Core" Version="4.2.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="FSharp.NET.Sdk" Version="1.0.5" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Google.Protobuf" Version="3.1.0" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="BenchmarkDotNet" Version="0.10.9" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="FSharp.Core" Version="4.2.1" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="FSharp.NET.Sdk" Version="1.0.5" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Google.Protobuf" Version="3.1.0" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Libuv" Version="1.10.0" 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.WebApi.Client" Version="5.2.2" Source="$(AspNetCoreFeed)"/>
|
||||
<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.Management.Fluent" Version="1.1.3" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.Build.Framework" Version="15.3.409" Source="$(DefaultNuGetFeed)"/>
|
||||
|
|
@ -43,32 +107,32 @@
|
|||
<ExternalDependency Include="Microsoft.Extensions.DependencyModel" Version="2.0.0" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.IdentityModel.Clients.ActiveDirectory" Version="3.14.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="2.1.4" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.NET.Test.Sdk" Version="15.3.0" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.NET.Test.Sdk" Version="15.3.0" Source="$(DefaultNuGetFeed)" Private="true"/>
|
||||
<ExternalDependency Include="Microsoft.NETCore.App" Version="1.0.5" TargetFramework="netcoreapp1.0" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.NETCore.App" Version="1.1.2" TargetFramework="netcoreapp1.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.NETCore.App" Version="2.0.0" TargetFramework="netcoreapp2.0" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.NETCore.Windows.ApiSets" Version="1.0.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.Owin.Security.Cookies" Version="3.0.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.Owin.Security" Version="3.0.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.Owin.Testing" Version="3.0.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.Owin.Testing" Version="3.0.1" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.Owin" Version="3.0.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.ComponentModelHost" Version="15.0.26606" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Editor" Version="15.0.26606" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Language.Intellisense" Version="15.0.26606" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.LanguageServices" Version="2.3.1" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.OLE.Interop" Version="7.10.6070" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.15.0" Version="15.0.26606" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.10.0" Version="10.0.30319" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.11.0" Version="11.0.61030" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.12.0" Version="12.0.30110" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.8.0" Version="8.0.50727" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.9.0" Version="9.0.30729" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop" Version="7.10.6071" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Text.Data" Version="15.0.26606" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Text.UI" Version="15.0.26606" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.ComponentModelHost" Version="15.0.26606" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Editor" Version="15.0.26606" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Language.Intellisense" Version="15.0.26606" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.LanguageServices" Version="2.3.1" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.OLE.Interop" Version="7.10.6070" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.15.0" Version="15.0.26606" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.10.0" Version="10.0.30319" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.11.0" Version="11.0.61030" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.12.0" Version="12.0.30110" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.8.0" Version="8.0.50727" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop.9.0" Version="9.0.30729" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Shell.Interop" Version="7.10.6071" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Text.Data" Version="15.0.26606" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.VisualStudio.Text.UI" Version="15.0.26606" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="Microsoft.Web.Xdt" Version="1.4.0" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Microsoft.Win32.Registry" Version="4.4.0" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Moq" Version="4.7.49" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Moq" Version="4.7.49" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="MsgPack.Cli" Version="0.9.0-beta2" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="NETStandard.Library" Version="2.0.0" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="Newtonsoft.Json.Bson" Version="1.0.1" Source="$(DefaultNuGetFeed)"/>
|
||||
|
|
@ -130,7 +194,7 @@
|
|||
<ExternalDependency Include="xunit.assert" Version="2.3.0-beta4-build3742" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="xunit.core" Version="2.3.0-beta4-build3742" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="xunit.extensibility.core" Version="2.3.0-beta4-build3742" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="xunit.runner.visualstudio" Version="2.3.0-beta4-build3742" Source="$(DefaultNuGetFeed)"/>
|
||||
<ExternalDependency Include="xunit.runner.visualstudio" Version="2.3.0-beta4-build3742" Source="$(DefaultNuGetFeed)" Private="true" />
|
||||
<ExternalDependency Include="xunit" Version="2.3.0-beta4-build3742" Source="$(DefaultNuGetFeed)"/>
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Internal.AspNetCore.Partners.Lineup</id>
|
||||
<version>$version$</version>
|
||||
<authors>Microsoft</authors>
|
||||
<description>This package used to unify external dependency versions. Internal use only.</description>
|
||||
<packageTypes>
|
||||
<packageType name="lineup" />
|
||||
</packageTypes>
|
||||
<dependencies>
|
||||
<!--
|
||||
The list of dependencies will be augmented automatically by the build script.
|
||||
-->
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
<id>Internal.AspNetCore.Universe.Lineup</id>
|
||||
<version>$version$</version>
|
||||
<authors>Microsoft</authors>
|
||||
<description>This package used to unify dependency versions across all Universe repos. Internal use only.</description>
|
||||
<description>This package used to unify ASP.NET Core package versions across all Universe repos. Internal use only.</description>
|
||||
<packageTypes>
|
||||
<packageType name="lineup" />
|
||||
</packageTypes>
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<Project>
|
||||
<Target Name="Push">
|
||||
<Error Text="Missing required property: NuGetPublishFeed" Condition=" '$(NuGetPublishFeed)' == '' "/>
|
||||
|
||||
<ItemGroup>
|
||||
<_PackagesToPush Include="$(BuildDir)*.nupkg" />
|
||||
<_PackagesToPush Include="$(ArtifactsDir)mirror\*.nupkg" />
|
||||
<_LineupPackagesToPush Include="$(BuildDir)*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<PushNuGetPackages
|
||||
Packages="@(_PackagesToPush)"
|
||||
Feed="$(NuGetPublishFeed)"
|
||||
Condition="@(_PackagesToPush->Count()) != 0"
|
||||
ApiKey="$(APIKey)" />
|
||||
|
||||
<PushNuGetPackages
|
||||
Packages="@(_LineupPackagesToPush)"
|
||||
Feed="$(NuGetPublishFeed)"
|
||||
Condition="@(_LineupPackagesToPush->Count()) != 0"
|
||||
ApiKey="$(APIKey)" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -1,13 +1,10 @@
|
|||
<Project>
|
||||
<Import Project="..\version.xml" />
|
||||
<Import Project="artifacts.props" />
|
||||
<Import Project="dependencies.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- This repo does not have solutions to build -->
|
||||
<DisableDefaultTargets>true</DisableDefaultTargets>
|
||||
<Version>$(VersionPrefix)</Version>
|
||||
<Version Condition="'$(VersionSuffix)' != ''">$(Version)-$(VersionSuffix)</Version>
|
||||
<Version Condition="'$(BuildNumber)' != ''">$(Version)-$(BuildNumber)</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@
|
|||
<Import Project="RepositoryBuild.targets" />
|
||||
|
||||
<PropertyGroup>
|
||||
<NuGetPublishVolatileFeed>https://dotnet.myget.org/F/aspnetcore-volatile-dev/api/v2/package</NuGetPublishVolatileFeed>
|
||||
|
||||
<LineupBuildDir>$(ArtifactsDir)lineups\</LineupBuildDir>
|
||||
<_CloneRepositoryRoot>$(RepositoryRoot).r\</_CloneRepositoryRoot>
|
||||
<_DependencyBuildDirectory>$(RepositoryRoot).deps\build\</_DependencyBuildDirectory>
|
||||
|
|
@ -20,75 +18,84 @@
|
|||
<_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'=='' AND '$(CompileOnly)'=='true'">/t:Package /t:VerifyPackages</_RepositoryBuildTargets>
|
||||
<_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'==''">/t:Verify</_RepositoryBuildTargets>
|
||||
|
||||
<PrepareDependsOn>$(PrepareDependsOn);CleanUniverseArtifacts</PrepareDependsOn>
|
||||
<CleanDependsOn>$(CleanDependsOn);CleanUniverseArtifacts</CleanDependsOn>
|
||||
<BuildDependsOn>$(BuildDependsOn);CloneRepositories;BuildRepositories</BuildDependsOn>
|
||||
<!-- For external packages that come from feeds will mirrored to aspnetcore feeds. -->
|
||||
<IntermediateMirrorPackageDir>$(IntermediateDir)mirror\</IntermediateMirrorPackageDir>
|
||||
<!-- For external packages that come from feeds we don't mirror. -->
|
||||
<IntermediateExternalPackageDir>$(IntermediateDir)ext\</IntermediateExternalPackageDir>
|
||||
|
||||
<PrepareDependsOn>$(PrepareDependsOn);VerifyPackageArtifactConfig;CleanArtifacts;CleanUniverseArtifacts</PrepareDependsOn>
|
||||
<RestoreDependsOn>$(RestoreDependsOn);RestoreExternalDependencies</RestoreDependsOn>
|
||||
<CleanDependsOn>$(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts</CleanDependsOn>
|
||||
<CompileDependsOn>$(CompileDependsOn);CloneRepositories;BuildRepositories</CompileDependsOn>
|
||||
<PackageDependsOn>$(PackageDependsOn);CopyPackagesByCategory</PackageDependsOn>
|
||||
<VerifyDependsOn>$(VerifyDependsOn);VerifyCoherentVersions</VerifyDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(_RepositoryListToImport)" />
|
||||
|
||||
<Target Name="CleanUniverseArtifacts">
|
||||
<RemoveDir Directories="$(_CloneRepositoryRoot)" Condition="Exists('$(_CloneRepositoryRoot)') AND '$(ClearRepositoryCloneRoot)' != 'false'" />
|
||||
<RemoveDir Directories="$(BuildDir);$(LineupBuildDir);$(IntermediateDir)" />
|
||||
<MakeDir Directories="$(BuildDir);$(LineupBuildDir)" />
|
||||
<RemoveDir Directories="$(LineupBuildDir)" />
|
||||
<MakeDir Directories="$(LineupBuildDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_ReadArtifactDependencyPackages">
|
||||
<ItemGroup>
|
||||
<_DependencyPackageFiles Include="$(_DependencyPackagesDirectory)*.nupkg"
|
||||
Exclude="$(_DependencyPackagesDirectory)*.symbols.nupkg"
|
||||
Condition=" '$(_DependencyPackagesDirectory)' != '' " />
|
||||
<_DependencyLineupFiles Include="$(_DependencyLineupDir)*.nupkg"
|
||||
Exclude="$(_DependencyLineupDir)Internal.AspNetCore.Universe.Lineup.*.nupkg"
|
||||
Condition=" '$(_DependencyLineupDir)' != '' " />
|
||||
</ItemGroup>
|
||||
|
||||
<RepoTasks.ReadPackageIdentity PackageFiles="@(_DependencyPackageFiles)">
|
||||
<Output TaskParameter="PackageDefinitions" ItemName="ArtifactDependency" />
|
||||
</RepoTasks.ReadPackageIdentity>
|
||||
|
||||
<RepoTasks.ReadPackageDependencies PackageFiles="@(_DependencyLineupFiles)">
|
||||
<Output TaskParameter="PackageDefinitions" ItemName="DependencyLineupDependency" />
|
||||
</RepoTasks.ReadPackageDependencies>
|
||||
<Target Name="RestoreExternalDependencies">
|
||||
<DownloadNuGetPackages
|
||||
Packages="@(ExternalDependency->WithMetadataValue('Mirror', 'true'))"
|
||||
DestinationFolder="$(IntermediateMirrorPackageDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateLineup" DependsOnTargets="_GenerateBuildGraph;_ReadArtifactDependencyPackages">
|
||||
<ItemGroup>
|
||||
<_Dependency Remove="@(_Dependency)" />
|
||||
<Target Name="ResolveRepoInfo" DependsOnTargets="_PrepareRepositories">
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)"
|
||||
Targets="GetArtifactInfo"
|
||||
Properties="RepositoryRoot=$(_CloneRepositoryRoot)%(Repository.Identity)\;KoreBuildRestoreTargetsImported=true;Configuration=$(Configuration);BuildNumber=$(BuildNumber)"
|
||||
ContinueOnError="WarnAndContinue">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="ArtifactInfo" />
|
||||
</MSBuild>
|
||||
|
||||
<!-- order matters. It defines the precendence of what ends up in the lineup. -->
|
||||
<_Dependency Include="@(PackagesProduced)" />
|
||||
<_Dependency Include="@(ExternalDependency)" Exclude="@(_Dependency)" />
|
||||
<!-- avoid duplicating dependency lineups into the universe lineup -->
|
||||
<_Dependency Include="@(ArtifactDependency)" Exclude="@(_Dependency);@(DependencyLineupDependency)" />
|
||||
</ItemGroup>
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)"
|
||||
Targets="ResolveSolutions"
|
||||
Properties="RepositoryRoot=$(_CloneRepositoryRoot)%(Repository.Identity)\;KoreBuildRestoreTargetsImported=true;Configuration=$(Configuration);BuildNumber=$(BuildNumber)"
|
||||
ContinueOnError="WarnAndContinue">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="Solution" />
|
||||
</MSBuild>
|
||||
|
||||
<PackNuSpec NuSpecPath="$(MSBuildThisFileDirectory)..\lineups\Internal.AspNetCore.Universe.Lineup.nuspec"
|
||||
<Error Text="No solutions were found in '$(_CloneRepositoryRoot)'" Condition="@(Solution->Count()) == 0" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateLineup" DependsOnTargets="ResolveRepoInfo">
|
||||
<PackNuSpec NuSpecPath="$(MSBuildThisFileDirectory)lineups\Internal.AspNetCore.Partners.Lineup.nuspec"
|
||||
DestinationFolder="$(LineupBuildDir)"
|
||||
Properties="version=$(Version)"
|
||||
Dependencies="@(_Dependency)">
|
||||
Dependencies="@(ExternalDependency->WithMetadataValue('Lineup', 'true'))">
|
||||
<Output TaskParameter="Packages" ItemName="LineupPackage" />
|
||||
</PackNuSpec>
|
||||
</Target>
|
||||
|
||||
<Target Name="PublishLineupPackage" Condition="'$(PublishPackages)'=='true' AND @(LineupPackage->Count()) != 0" >
|
||||
<PushNuGetPackages
|
||||
Packages="@(LineupPackage)"
|
||||
Feed="$(NuGetPublishVolatileFeed)"
|
||||
ApiKey="$(APIKey)" />
|
||||
<ItemGroup>
|
||||
<PackageArtifactInfo Include="%(ArtifactInfo.PackageId)" Version="%(ArtifactInfo.Version)" Condition="'%(ArtifactInfo.ArtifactType)' == 'NuGetPackage'" />
|
||||
</ItemGroup>
|
||||
|
||||
<PackNuSpec NuSpecPath="$(MSBuildThisFileDirectory)lineups\Internal.AspNetCore.Universe.Lineup.nuspec"
|
||||
DestinationFolder="$(LineupBuildDir)"
|
||||
Properties="version=$(Version)"
|
||||
Dependencies="@(PackageArtifactInfo)">
|
||||
<Output TaskParameter="Packages" ItemName="LineupPackage" />
|
||||
</PackNuSpec>
|
||||
</Target>
|
||||
|
||||
<Target Name="_PrepareRepositories">
|
||||
<ItemGroup Condition="'$(KOREBUILD_REPOSITORY_INCLUDE)'!=''">
|
||||
<_RepositoriesToInclude Include="$(KOREBUILD_REPOSITORY_INCLUDE)" />
|
||||
<Repository Update="@(Repository)" Build="false" />
|
||||
<Repository
|
||||
Remove="@(Repository)"
|
||||
Condition="'@(Repository)'!='@(_RepositoriesToInclude)' AND '%(Identity)'!=''" />
|
||||
Update="@(Repository)"
|
||||
Condition="'@(Repository)'=='@(_RepositoriesToInclude)' AND '%(Identity)'!=''"
|
||||
Build="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(KOREBUILD_REPOSITORY_EXCLUDE)'!=''">
|
||||
<RepositoriesToExclude Include="$(KOREBUILD_REPOSITORY_EXCLUDE)" />
|
||||
<Repository Remove="@(RepositoriesToExclude)" />
|
||||
<Repository Update="@(RepositoriesToExclude)" Build="false" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="KOREBUILD_REPOSITORY_EXCLUDE AND KOREBUILD_REPOSITORY_INCLUDE are specified."
|
||||
|
|
@ -102,6 +109,8 @@
|
|||
Command="git config --get remote.origin.url"
|
||||
ConsoleToMSBuild="true"
|
||||
WorkingDirectory="$(RepositoryRoot)"
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
StandardOutputImportance="low"
|
||||
IgnoreExitCode="true">
|
||||
<Output TaskParameter="ConsoleOutput" PropertyName="UniverseCloneUrl" />
|
||||
</Exec>
|
||||
|
|
@ -166,12 +175,14 @@
|
|||
Condition="'$(GateBranchExitCode)'!='0'"
|
||||
WorkingDirectory="$(_CloneRepositoryRoot)"
|
||||
EnvironmentVariables="GIT_TERMINAL_PROMPT=0"
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
Timeout="180000" />
|
||||
|
||||
<Message Text="Resetting $(CloneRepository) commit to $(CloneRepositoryCommit) ..." Importance="High" Condition="'$(CloneRepositoryCommit)'!=''"/>
|
||||
<Exec
|
||||
Command="git reset --quiet --hard $(CloneRepositoryCommit)"
|
||||
WorkingDirectory="$(_CloneRepositoryRoot)$(CloneRepository)"
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
Condition="'$(CloneRepositoryCommit)'!=''" />
|
||||
</Target>
|
||||
|
||||
|
|
@ -183,7 +194,8 @@
|
|||
<MSBuild Projects="$(MSBuildProjectFullPath)"
|
||||
Targets="ResolveSolutions"
|
||||
Properties="RepositoryRoot=$(_CloneRepositoryRoot)%(Repository.Identity)\"
|
||||
ContinueOnError="WarnAndContinue">
|
||||
ContinueOnError="WarnAndContinue"
|
||||
Condition="%(Repository.Build)">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="Solution" />
|
||||
</MSBuild>
|
||||
|
||||
|
|
@ -213,12 +225,11 @@
|
|||
|
||||
<Target Name="_GenerateBuildGraph" DependsOnTargets="_GenerateRestoreGraphSpecs">
|
||||
<RepoTasks.CalculateBuildGraph
|
||||
Repositories="@(Repository)"
|
||||
Repositories="@(Repository->WithMetadataValue('Build', 'true'))"
|
||||
StartGraphAt="$(BuildGraphOf)"
|
||||
DefaultPackageVersion="$(Version)"
|
||||
PackageSpecsDirectory="$(_RestoreGraphSpecsDirectory)">
|
||||
<Output TaskParameter="RepositoriesToBuildInOrder" ItemName="RepositoryToBuildInOrder" />
|
||||
<Output TaskParameter="PackagesProduced" ItemName="PackagesProduced" />
|
||||
</RepoTasks.CalculateBuildGraph>
|
||||
</Target>
|
||||
|
||||
|
|
@ -227,16 +238,46 @@
|
|||
NuGetConfigPath="$(_CloneRepositoryRoot)%(Repository.Identity)\NuGet.config"
|
||||
SourceName="Dependencies"
|
||||
SourceUri="$(_DependencyPackagesDirectory)"
|
||||
Condition="Exists('$(_DependencyPackagesDirectory)')" />
|
||||
Condition="Exists('$(_DependencyPackagesDirectory)') AND %(Repository.Build)" />
|
||||
|
||||
<MakeDir Directories="$(BuildDir)" Condition="!Exists('$(BuildDir)')" />
|
||||
|
||||
<UpdatePackageSource
|
||||
NuGetConfigPath="$(_CloneRepositoryRoot)%(Repository.Identity)\NuGet.config"
|
||||
SourceName="Artifacts"
|
||||
Condition="%(Repository.Build)"
|
||||
SourceUri="$(BuildDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyPackagesByCategory">
|
||||
<ItemGroup>
|
||||
<PackageArtifactFile Include="$(BuildDir)*.nupkg" Exclude="$(BuildDir)*.symbols.nupkg" />
|
||||
<ExternalDependencyPackage Include="@(ExternalDependency->WithMetadataValue('Mirror', 'true'))" Category="mirror" />
|
||||
<_MirroredPackageFiles Include="$(IntermediateMirrorPackageDir)*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<RepoTasks.CopyPackagesToSplitFolders
|
||||
Packages="@(PackageArtifact);@(ExternalDependencyPackage)"
|
||||
Files="@(PackageArtifactFile);@(_MirroredPackageFiles)"
|
||||
DestinationFolder="$(ArtifactsDir)"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="VerifyPackageArtifactConfig">
|
||||
<Error Text="Invalid configuration of %(PackageArtifact.Identity). Packages marked as Metapackage='true' must be Category='ship'."
|
||||
Condition="'%(PackageArtifact.Category)' != 'ship' AND '%(PackageArtifact.Metapackage)' == 'true' " />
|
||||
</Target>
|
||||
|
||||
<Target Name="VerifyCoherentVersions" DependsOnTargets="ResolveRepoInfo">
|
||||
<ItemGroup>
|
||||
<ShippingPackageFiles Include="$(ArtifactsDir)ship\*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<RepoTasks.VerifyCoherentVersions
|
||||
PackageFiles="@(ShippingPackageFiles)"
|
||||
ExternalDependencies="@(ExternalDependency)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_CreateRepositoriesListWithCommits" DependsOnTargets="_GetRepositoryCommits">
|
||||
<PropertyGroup>
|
||||
<RepositoryFileWithCommit>$(BuildDir)$(_RepositoryListFileName)</RepositoryFileWithCommit>
|
||||
|
|
|
|||
|
|
@ -2,5 +2,6 @@
|
|||
<Project>
|
||||
<ItemGroup>
|
||||
<PackageLineup Update="Internal.AspNetCore.Universe.Lineup" Version="$(Universe_Version)" />
|
||||
<PackageLineup Update="Internal.AspNetCore.Partners.Lineup" Version="$(Universe_Version)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
<PolicyRestorePackagesPath>$([MSBuild]::NormalizeDirectory($(Universe_IntermediateDir)))packages\</PolicyRestorePackagesPath>
|
||||
<!-- Restore from the locally-built artifacts directory -->
|
||||
<PolicyRestoreAdditionalSources Condition=" Exists('$(Universe_LineupBuildDir)') ">$(PolicyRestoreAdditionalSources);$(Universe_LineupBuildDir)</PolicyRestoreAdditionalSources>
|
||||
<PolicyRestoreAdditionalSources Condition=" Exists('$(Universe_DependencyLineupDir)') ">$(PolicyRestoreAdditionalSources);$(Universe_DependencyLineupDir)</PolicyRestoreAdditionalSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AdditionalRestoreSources Include="$(Universe_AdditionalRestoreSources)" Condition="'$(Universe_AdditionalRestoreSources)' != ''"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -35,9 +35,6 @@ namespace RepoTasks
|
|||
[Output]
|
||||
public ITaskItem[] RepositoriesToBuildInOrder { get; set; }
|
||||
|
||||
[Output]
|
||||
public ITaskItem[] PackagesProduced { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
var graphSpecProvider = new DependencyGraphSpecProvider(PackageSpecsDirectory.Trim());
|
||||
|
|
@ -74,17 +71,6 @@ namespace RepoTasks
|
|||
.Select(r => r.repository)
|
||||
.ToArray();
|
||||
|
||||
var packages = new List<ITaskItem>();
|
||||
foreach (var project in repositories.SelectMany(p => p.Projects))
|
||||
{
|
||||
var pkg = new TaskItem(project.Name);
|
||||
var version = project.Version ?? DefaultPackageVersion;
|
||||
pkg.SetMetadata("Version", version);
|
||||
packages.Add(pkg);
|
||||
}
|
||||
|
||||
PackagesProduced = packages.ToArray();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,110 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using Microsoft.Build.Framework;
|
||||
using NuGet.Packaging;
|
||||
using NuGet.Packaging.Core;
|
||||
using RepoTasks.ProjectModel;
|
||||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public class CopyPackagesToSplitFolders : Microsoft.Build.Utilities.Task
|
||||
{
|
||||
/// <summary>
|
||||
/// The item group containing the nuget packages to split in different folders.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public ITaskItem[] Packages { get; set; }
|
||||
|
||||
[Required]
|
||||
public ITaskItem[] Files { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The folder where packages should be copied. Subfolders will be created based on package category.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string DestinationFolder { get; set; }
|
||||
|
||||
public bool Overwrite { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
if (Files?.Length == 0)
|
||||
{
|
||||
Log.LogError("No packages were found.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var expectedPackages = PackageCollection.FromItemGroup(Packages);
|
||||
|
||||
Directory.CreateDirectory(DestinationFolder);
|
||||
|
||||
foreach (var file in Files)
|
||||
{
|
||||
PackageIdentity identity;
|
||||
using (var reader = new PackageArchiveReader(file.ItemSpec))
|
||||
{
|
||||
identity = reader.GetIdentity();
|
||||
}
|
||||
|
||||
if (!expectedPackages.TryGetCategory(identity.Id, out var category))
|
||||
{
|
||||
Log.LogError($"Unexpected package artifact with id: {identity.Id}");
|
||||
continue;
|
||||
}
|
||||
|
||||
string destDir;
|
||||
switch (category)
|
||||
{
|
||||
case PackageCategory.Unknown:
|
||||
throw new InvalidOperationException($"Package {identity} does not have a recognized package category.");
|
||||
case PackageCategory.Shipping:
|
||||
destDir = Path.Combine(DestinationFolder, "ship");
|
||||
break;
|
||||
case PackageCategory.NoShip:
|
||||
destDir = Path.Combine(DestinationFolder, "noship");
|
||||
break;
|
||||
case PackageCategory.ShipOob:
|
||||
destDir = Path.Combine(DestinationFolder, "shipoob");
|
||||
break;
|
||||
case PackageCategory.Mirror:
|
||||
destDir = Path.Combine(DestinationFolder, "mirror");
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
Directory.CreateDirectory(destDir);
|
||||
|
||||
var destFile = Path.Combine(destDir, Path.GetFileName(file.ItemSpec));
|
||||
|
||||
if (!Overwrite && File.Exists(destFile))
|
||||
{
|
||||
Log.LogError($"File already exists in {destFile}");
|
||||
continue;
|
||||
}
|
||||
|
||||
Log.LogMessage($"Copying {file.ItemSpec} to {destFile}");
|
||||
File.Copy(file.ItemSpec, destFile, Overwrite);
|
||||
expectedPackages.Remove(identity.Id);
|
||||
}
|
||||
|
||||
if (expectedPackages.Count != 0)
|
||||
{
|
||||
var error = new StringBuilder();
|
||||
foreach (var key in expectedPackages.Keys)
|
||||
{
|
||||
error.Append(" - ").AppendLine(key);
|
||||
}
|
||||
|
||||
Log.LogError($"Expected the following packages, but they were not found:" + error.ToString());
|
||||
return false;
|
||||
}
|
||||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
|
||||
namespace RepoTasks.ProjectModel
|
||||
{
|
||||
public enum PackageCategory
|
||||
{
|
||||
Unknown = 0,
|
||||
Shipping,
|
||||
NoShip,
|
||||
ShipOob,
|
||||
Mirror,
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
|
||||
namespace RepoTasks.ProjectModel
|
||||
{
|
||||
public class PackageCollection
|
||||
{
|
||||
private readonly IDictionary<string, PackageCategory> _packages = new Dictionary<string, PackageCategory>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
private PackageCollection()
|
||||
{
|
||||
}
|
||||
|
||||
public bool TryGetCategory(string packageId, out PackageCategory category) => _packages.TryGetValue(packageId, out category);
|
||||
|
||||
public void Remove(string packageId) => _packages.Remove(packageId);
|
||||
|
||||
public int Count => _packages.Count;
|
||||
|
||||
public IEnumerable<string> Keys => _packages.Keys;
|
||||
|
||||
public static PackageCollection FromItemGroup(ITaskItem[] items)
|
||||
{
|
||||
var list = new PackageCollection();
|
||||
if (items == null)
|
||||
{
|
||||
return list;
|
||||
}
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
PackageCategory category;
|
||||
switch (item.GetMetadata("Category")?.ToLowerInvariant())
|
||||
{
|
||||
case "ship":
|
||||
category = PackageCategory.Shipping;
|
||||
break;
|
||||
case "noship":
|
||||
category = PackageCategory.NoShip;
|
||||
break;
|
||||
case "shipoob":
|
||||
category = PackageCategory.ShipOob;
|
||||
break;
|
||||
case "mirror":
|
||||
category = PackageCategory.Mirror;
|
||||
break;
|
||||
default:
|
||||
category = PackageCategory.Unknown;
|
||||
break;
|
||||
}
|
||||
|
||||
if (list._packages.ContainsKey(item.ItemSpec))
|
||||
{
|
||||
throw new InvalidDataException($"Duplicate package id detected: {item.ItemSpec}");
|
||||
}
|
||||
|
||||
list._packages.Add(item.ItemSpec, category);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using NuGet.Frameworks;
|
||||
using NuGet.Packaging;
|
||||
using NuGet.Versioning;
|
||||
|
||||
namespace RepoTasks.ProjectModel
|
||||
{
|
||||
internal class PackageInfo
|
||||
{
|
||||
public PackageInfo(string id,
|
||||
NuGetVersion version,
|
||||
IReadOnlyList<PackageDependencyGroup> dependencyGroups,
|
||||
string source,
|
||||
string packageType = "Dependency")
|
||||
{
|
||||
if (string.IsNullOrEmpty(id))
|
||||
{
|
||||
throw new ArgumentException(nameof(id));
|
||||
}
|
||||
|
||||
Id = id;
|
||||
Version = version ?? throw new ArgumentNullException(nameof(version));
|
||||
PackageType = packageType;
|
||||
Source = source;
|
||||
DependencyGroups = dependencyGroups ?? Array.Empty<PackageDependencyGroup>();
|
||||
}
|
||||
|
||||
public string Id { get; }
|
||||
public NuGetVersion Version { get; }
|
||||
public string PackageType { get; }
|
||||
/// <summary>
|
||||
/// Can be a https feed or a file path. May be null.
|
||||
/// </summary>
|
||||
public string Source { get; }
|
||||
public IReadOnlyList<PackageDependencyGroup> DependencyGroups { get; }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using NuGet.Packaging;
|
||||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public class ReadPackageDependencies : Task
|
||||
{
|
||||
[Required]
|
||||
public ITaskItem[] PackageFiles { get; set; }
|
||||
|
||||
[Output]
|
||||
public ITaskItem[] PackageDefinitions { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
PackageDefinitions = PackageFiles.SelectMany(item =>
|
||||
{
|
||||
using (var package = new PackageArchiveReader(item.ItemSpec))
|
||||
{
|
||||
var identity = package.GetIdentity();
|
||||
var metadata = new NuspecReader(package.GetNuspec());
|
||||
var groups = metadata.GetDependencyGroups()?.ToList();
|
||||
if (groups == null)
|
||||
{
|
||||
return Enumerable.Empty<ITaskItem>();
|
||||
}
|
||||
|
||||
return groups.SelectMany(g =>
|
||||
g.Packages.Select(p => new TaskItem(p.Id, new Hashtable { ["Version"] = p.VersionRange.MinVersion.ToString() })));
|
||||
}
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using NuGet.Packaging;
|
||||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public class ReadPackageIdentity : Task
|
||||
{
|
||||
[Required]
|
||||
public ITaskItem[] PackageFiles { get; set; }
|
||||
|
||||
[Output]
|
||||
public ITaskItem[] PackageDefinitions { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
PackageDefinitions = PackageFiles.Select(item =>
|
||||
{
|
||||
using (var package = new PackageArchiveReader(item.ItemSpec))
|
||||
{
|
||||
var identity = package.GetIdentity();
|
||||
var packageItem = new TaskItem(identity.Id);
|
||||
packageItem.SetMetadata("Version", identity.Version.ToString());
|
||||
return packageItem;
|
||||
}
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<UsingTask TaskName="RepoTasks.CalculateBuildGraph" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.CopyPackagesToSplitFolders" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.PinVersions" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.ReadPackageIdentity" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.ReadPackageDependencies" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.VerifyCoherentVersions" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,137 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Build.Framework;
|
||||
using NuGet.Frameworks;
|
||||
using NuGet.Packaging;
|
||||
using NuGet.Packaging.Core;
|
||||
using NuGet.Versioning;
|
||||
using RepoTasks.ProjectModel;
|
||||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public class VerifyCoherentVersions : Microsoft.Build.Utilities.Task
|
||||
{
|
||||
[Required]
|
||||
public ITaskItem[] PackageFiles { get; set; }
|
||||
|
||||
[Required]
|
||||
public ITaskItem[] ExternalDependencies { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
var packageLookup = new Dictionary<string, PackageInfo>(StringComparer.OrdinalIgnoreCase);
|
||||
var dependencyMap = new Dictionary<string, List<ExternalDependency>>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
foreach (var dep in ExternalDependencies)
|
||||
{
|
||||
if (!dependencyMap.TryGetValue(dep.ItemSpec, out var list))
|
||||
{
|
||||
dependencyMap[dep.ItemSpec] = list = new List<ExternalDependency>();
|
||||
}
|
||||
var externalDep = new ExternalDependency
|
||||
{
|
||||
Version = dep.GetMetadata("Version"),
|
||||
IsPrivate = bool.TryParse(dep.GetMetadata("Private"), out var isPrivate) && isPrivate,
|
||||
};
|
||||
list.Add(externalDep);
|
||||
}
|
||||
|
||||
foreach (var file in PackageFiles)
|
||||
{
|
||||
PackageInfo package;
|
||||
using (var reader = new PackageArchiveReader(file.ItemSpec))
|
||||
{
|
||||
var identity = reader.GetIdentity();
|
||||
var metadata = new PackageBuilder(reader.GetNuspec(), basePath: null);
|
||||
package = new PackageInfo(identity.Id, identity.Version,
|
||||
source: Path.GetDirectoryName(file.ItemSpec),
|
||||
dependencyGroups: metadata.DependencyGroups.ToArray());
|
||||
}
|
||||
|
||||
if (packageLookup.TryGetValue(package.Id, out var existingPackage))
|
||||
{
|
||||
throw new Exception("Multiple copies of the following package were found: " +
|
||||
Environment.NewLine +
|
||||
existingPackage +
|
||||
Environment.NewLine +
|
||||
package);
|
||||
}
|
||||
|
||||
packageLookup[package.Id] = package;
|
||||
}
|
||||
|
||||
foreach (var packageInfo in packageLookup.Values)
|
||||
{
|
||||
Visit(packageLookup, dependencyMap, packageInfo);
|
||||
}
|
||||
|
||||
Log.LogMessage(MessageImportance.High, $"Verified {PackageFiles.Length} package(s) have coherent versions");
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
private class ExternalDependency
|
||||
{
|
||||
public string Version { get; set; }
|
||||
public bool IsPrivate { get; set; }
|
||||
}
|
||||
|
||||
private void Visit(
|
||||
IReadOnlyDictionary<string, PackageInfo> packageLookup,
|
||||
IReadOnlyDictionary<string, List<ExternalDependency>> dependencyMap,
|
||||
PackageInfo packageInfo)
|
||||
{
|
||||
Log.LogMessage(MessageImportance.Low, $"Processing package {packageInfo.Id}");
|
||||
try
|
||||
{
|
||||
foreach (var dependencySet in packageInfo.DependencyGroups)
|
||||
{
|
||||
foreach (var dependency in dependencySet.Packages)
|
||||
{
|
||||
PackageInfo dependencyPackageInfo;
|
||||
var depVersion = dependency.VersionRange.MinVersion.ToString();
|
||||
if (dependencyMap.TryGetValue(dependency.Id, out var externalDependencies))
|
||||
{
|
||||
var matchedVersion = externalDependencies.FirstOrDefault(d => depVersion.Equals(d.Version));
|
||||
|
||||
if (matchedVersion == null)
|
||||
{
|
||||
var versions = string.Join(" or ", externalDependencies.Select(d => d.Version));
|
||||
Log.LogError($"Package {packageInfo.Id} has an external dependency on the wrong version of {dependency.Id}. "
|
||||
+ $"It uses {depVersion} but only {versions} is allowed.");
|
||||
}
|
||||
else if (matchedVersion.IsPrivate)
|
||||
{
|
||||
Log.LogError($"Package {packageInfo.Id} has an external dependency on {dependency.Id}/{depVersion} which is marked as Private=true.");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else if (!packageLookup.TryGetValue(dependency.Id, out dependencyPackageInfo))
|
||||
{
|
||||
Log.LogError($"Package {packageInfo.Id} has an undefined external dependency on {dependency.Id}/{depVersion}");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (dependencyPackageInfo.Version != dependency.VersionRange.MinVersion)
|
||||
{
|
||||
// For any dependency in the universe
|
||||
// Add a mismatch if the min version doesn't work out
|
||||
// (we only really care about >= minVersion)
|
||||
Log.LogError($"{packageInfo.Id} depends on {dependency.Id} " +
|
||||
$"{dependency.VersionRange} ({dependencySet.TargetFramework}) when the latest build is {depVersion}.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.LogError($"Unexpected error while attempting to verify package {packageInfo.Id}.\r\n{ex}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,7 @@
|
|||
<!-- This file may be overwritten by automation. -->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<KoreBuildChannel>dev</KoreBuildChannel>
|
||||
<VersionPrefix>2.1.0</VersionPrefix>
|
||||
<VersionSuffix>preview1</VersionSuffix>
|
||||
<VersionSuffix Condition=" '$(VersionSuffix)' != '' AND '$(BuildNumber)' != '' ">$(VersionSuffix)-$(BuildNumber)</VersionSuffix>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Loading…
Reference in New Issue