[Arpow Tarball] Add flag to build with online sources (#11091)
* Add SBRP packages to prev source-built * Don't delete SBRP packages * Add BuildWithOnlineSources flag * Build tarball in CI with online sources * Remove OfflineBuild / add BuildWithOnlineSources * Add --online option to tarball build.sh * Additional cleanup for tarball build * Rename baseline file * Update baseline * Remove acquire-darc.proj * Default DotNetBuildOffline to true * Fix line endings in RemoveInternetSources * Update src/SourceBuild/Arcade/eng/common/templates/steps/source-build-run-tarball-build.yml Co-authored-by: Michael Simons <msimons@microsoft.com> Co-authored-by: Michael Simons <msimons@microsoft.com>
This commit is contained in:
parent
7e1379da2c
commit
5048e0f143
28 changed files with 232 additions and 1708 deletions
|
@ -19,7 +19,8 @@ steps:
|
|||
- script: |
|
||||
set -x
|
||||
|
||||
./build.sh
|
||||
./build.sh \
|
||||
--online
|
||||
workingDirectory: ${{ parameters.sourceFolder }}
|
||||
displayName: Build Tarball
|
||||
condition: and(${{ parameters.condition }}, succeeded())
|
||||
|
|
|
@ -87,8 +87,8 @@
|
|||
<InnerBuildArgs>$(InnerBuildArgs) /p:EnableSourceControlManagerQueries=false</InnerBuildArgs>
|
||||
<InnerBuildArgs>$(InnerBuildArgs) /p:EnableSourceLink=false</InnerBuildArgs>
|
||||
<InnerBuildArgs>$(InnerBuildArgs) /p:DeterministicSourcePaths=false</InnerBuildArgs>
|
||||
<InnerBuildArgs >$(InnerBuildArgs) /p:DotNetBuildOffline=true</InnerBuildArgs>
|
||||
<InnerBuildArgs Condition=" '$(DotNetPackageVersionPropsPath)' != '' ">$(InnerBuildArgs) /p:DotNetPackageVersionPropsPath=$(DotNetPackageVersionPropsPath)</InnerBuildArgs>
|
||||
<InnerBuildArgs Condition=" '$(DotNetBuildOffline)' != '' ">$(InnerBuildArgs) /p:DotNetBuildOffline=$(DotNetBuildOffline)</InnerBuildArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -92,7 +92,6 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<BaseOutputPath>$(ArtifactsDir)</BaseOutputPath>
|
||||
<ClonedSubmoduleDirectory Condition="'$(ClonedSubmoduleDirectory)' == ''">$(BaseOutputPath)src/</ClonedSubmoduleDirectory>
|
||||
<ClonedSubmoduleGitRootDirectory Condition="'$(ClonedSubmoduleGitRootDirectory)' == ''">$(ProjectDir).git/modules/src/</ClonedSubmoduleGitRootDirectory>
|
||||
<ToolsDir>$(ProjectDir)Tools/</ToolsDir>
|
||||
<ToolPackageExtractDir>$(ToolsDir)source-built/</ToolPackageExtractDir>
|
||||
|
@ -123,8 +122,7 @@
|
|||
<SourceBuiltAspNetCoreRuntime>$(LocalBlobStorageRoot)aspnetcore/Runtime/</SourceBuiltAspNetCoreRuntime>
|
||||
<RestoreSourcePropsPath>$(IntermediatePath)RestoreSources.props</RestoreSourcePropsPath>
|
||||
<PackageVersionPropsPath>$(IntermediatePath)PackageVersions.props</PackageVersionPropsPath>
|
||||
<GennedPackageVersionPropsPath Condition="'$(OfflineBuild)' == 'true'">$(IntermediatePath)GennedPackageVersions.props</GennedPackageVersionPropsPath>
|
||||
<GennedPackageVersionPropsPath Condition="'$(OfflineBuild)' != 'true'">$(IntermediatePath)PackageVersions.props</GennedPackageVersionPropsPath>
|
||||
<GennedPackageVersionPropsPath>$(IntermediatePath)GennedPackageVersions.props</GennedPackageVersionPropsPath>
|
||||
<LoggingDir>$(BaseOutputPath)logs/</LoggingDir>
|
||||
<MSBuildDebugPathTargetDir>$(BaseOutputPath)msbuild-debug/</MSBuildDebugPathTargetDir>
|
||||
<RoslynDebugPathTargetDir>$(BaseOutputPath)roslyn-debug/</RoslynDebugPathTargetDir>
|
||||
|
@ -149,8 +147,7 @@
|
|||
<ProdConManifestFile>$(PackageReportDir)prodcon-build.xml</ProdConManifestFile>
|
||||
<PoisonedReportFile>$(PackageReportDir)poisoned.txt</PoisonedReportFile>
|
||||
<ConflictingPackageReportDir>$(BaseOutputPath)conflict-report/</ConflictingPackageReportDir>
|
||||
<OfflinePrebuiltBurndownDataFile>$(PackageReportDir)PrebuiltBurndownData-offline.csv</OfflinePrebuiltBurndownDataFile>
|
||||
<OnlinePrebuiltBurndownDataFile>$(PackageReportDir)PrebuiltBurndownData-online.csv</OnlinePrebuiltBurndownDataFile>
|
||||
<PrebuiltBurndownDataFile>$(PackageReportDir)PrebuiltBurndownData.csv</PrebuiltBurndownDataFile>
|
||||
<ReferencePackagesBaseDir>$(IntermediatePath)reference-packages/</ReferencePackagesBaseDir>
|
||||
<TextOnlyPackageBaseDir>$(IntermediatePath)text-only-packages/</TextOnlyPackageBaseDir>
|
||||
<ExternalTarballsDir>$(IntermediatePath)external-tarballs/</ExternalTarballsDir>
|
||||
|
@ -159,19 +156,15 @@
|
|||
See corresponding change in build-source-tarball.sh to copy reference-packages & external-tarballs
|
||||
from source-build bin dir to tarball packages/reference dir & packages/archive.
|
||||
-->
|
||||
<ExternalTarballsDir Condition="'$(OfflineBuild)' == 'true'">$(ProjectDir)packages/archive/</ExternalTarballsDir>
|
||||
<ReferencePackagesBaseDir Condition="'$(OfflineBuild)' == 'true'">$(ProjectDir)packages/reference/</ReferencePackagesBaseDir>
|
||||
<TextOnlyPackageBaseDir Condition="'$(OfflineBuild)' == 'true'">$(ProjectDir)packages/text-only/</TextOnlyPackageBaseDir>
|
||||
<ExternalTarballsDir>$(ProjectDir)packages/archive/</ExternalTarballsDir>
|
||||
<ReferencePackagesBaseDir>$(ProjectDir)packages/reference/</ReferencePackagesBaseDir>
|
||||
<TextOnlyPackageBaseDir>$(ProjectDir)packages/text-only/</TextOnlyPackageBaseDir>
|
||||
<ReferencePackagesDir>$(ReferencePackagesBaseDir)packages/</ReferencePackagesDir>
|
||||
<SourceBuiltArtifactsTarballName>Private.SourceBuilt.Artifacts</SourceBuiltArtifactsTarballName>
|
||||
<SourceBuiltArtifactsTarballUrl>https://dotnetcli.azureedge.net/source-built-artifacts/assets/</SourceBuiltArtifactsTarballUrl>
|
||||
<ArchiveArtifactsTextFileName>archiveArtifacts.txt</ArchiveArtifactsTextFileName>
|
||||
<ArchiveArtifactsTextFile>$(ExternalTarballsDir)$(ArchiveArtifactsTextFileName)</ArchiveArtifactsTextFile>
|
||||
<BaselineDataFile>$(ToolsLocalDir)prebuilt-baseline-</BaselineDataFile>
|
||||
<OfflineBaselineDataFile>$(BaselineDataFile)offline.xml</OfflineBaselineDataFile>
|
||||
<OnlineBaselineDataFile>$(BaselineDataFile)online.xml</OnlineBaselineDataFile>
|
||||
<BaselineDataFile Condition="'$(OfflineBuild)' == 'true'">$(OfflineBaselineDataFile)</BaselineDataFile>
|
||||
<BaselineDataFile Condition="'$(OfflineBuild)' != 'true'">$(OnlineBaselineDataFile)</BaselineDataFile>
|
||||
<BaselineDataFile>$(ToolsLocalDir)prebuilt-baseline.xml</BaselineDataFile>
|
||||
<!--Exclude tests that are failing for test enabled projects like - corefx -->
|
||||
<TestExclusionsDir>$(ProjectDir)test/exclusions/</TestExclusionsDir>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -10,47 +10,6 @@
|
|||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="AcquireDarc"
|
||||
Condition="
|
||||
'$(OfflineBuild)' != 'true' and
|
||||
'$(SkipAcquireDarc)' != 'true'"
|
||||
Inputs="$(MSBuildThisFileDirectory)tools-local\acquire-darc\acquire-darc.proj"
|
||||
Outputs="$(CompletedSemaphorePath)AcquireDarc.complete">
|
||||
<MSBuild
|
||||
Projects="$(MSBuildThisFileDirectory)tools-local\acquire-darc\acquire-darc.proj"
|
||||
Targets="AcquireDarcCore" />
|
||||
|
||||
<WriteLinesToFile File="$(CompletedSemaphorePath)AcquireDarc.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GetCommonDarcCloneCommand" DependsOnTargets="AcquireDarc">
|
||||
<PropertyGroup>
|
||||
<IgnoredRepos>$(IgnoredRepos);https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</IgnoredRepos>
|
||||
<IgnoredRepos>$(IgnoredRepos);https://dev.azure.com/devdiv/DevDiv/_git/DotNet-Trusted</IgnoredRepos>
|
||||
<IgnoredRepos>$(IgnoredRepos);https://devdiv.visualstudio.com/DevDiv/_git/DotNet-Trusted</IgnoredRepos>
|
||||
<IgnoredRepos>$(IgnoredRepos);https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-optimization</IgnoredRepos>
|
||||
<IgnoredRepos>$(IgnoredRepos);https://dev.azure.com/dnceng/internal/_git/dotnet-core-setup</IgnoredRepos>
|
||||
<IgnoredRepos>$(IgnoredRepos);https://github.com/dotnet/source-build-reference-packages</IgnoredRepos>
|
||||
|
||||
<DarcCloneReposFolder Condition="'$(DarcCloneReposFolder)' == ''">$(ClonedSubmoduleDirectory)</DarcCloneReposFolder>
|
||||
|
||||
<DarcCloneArguments>$(DarcCloneArguments) --git-dir-folder $(ClonedSubmoduleGitRootDirectory)</DarcCloneArguments>
|
||||
<DarcCloneArguments>$(DarcCloneArguments) --include-toolset</DarcCloneArguments>
|
||||
<DarcCloneArguments>$(DarcCloneArguments) --ignore-repos "$(IgnoredRepos)"</DarcCloneArguments>
|
||||
<DarcCloneArguments>$(DarcCloneArguments) --debug</DarcCloneArguments>
|
||||
|
||||
<!-- required so Darc doesn't throw an error for missing auth -->
|
||||
<AzDoPat Condition="'$(AzDoPat)' == ''">bogus</AzDoPat>
|
||||
<DarcCloneArguments>$(DarcCloneArguments) --azdev-pat $(AzDoPat)</DarcCloneArguments>
|
||||
<DarcCloneArguments>$(DarcCloneArguments) --github-pat bogus</DarcCloneArguments>
|
||||
|
||||
<!-- depth 0 should be sufficient for us since we explictly declare all our dependencies -->
|
||||
<DarcCloneArguments>$(DarcCloneArguments) --depth 0</DarcCloneArguments>
|
||||
|
||||
<DarcCloneCommand>$(DotNetCliToolDir)dotnet $(DarcDll) clone $(DarcCloneArguments)</DarcCloneCommand>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Import Condition="'$(SkipArcadeSdkImport)' != 'true'" Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
||||
|
||||
<Target Name="GetProdConBlobFeedUrl">
|
||||
|
|
|
@ -47,59 +47,6 @@
|
|||
<RemoveDir Directories="$(BaseOutputPath)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="OutputArchiveArtifactsTextFile"
|
||||
AfterTargets="Build"
|
||||
Condition="'$(OfflineBuild)' != 'true' and '$(OS)' != 'Windows_NT'" >
|
||||
|
||||
<ItemGroup>
|
||||
<ArtifactUrls Include="$(ReferencePackagesTarballUrl)$(ReferencePackagesTarballName).$(PrivateSourceBuildReferencePackagesPackageVersion).tar.gz" />
|
||||
<ArtifactUrls Include="$(SourceBuiltArtifactsTarballUrl)$(SourceBuiltArtifactsTarballName).$(PrivateSourceBuiltArtifactsPackageVersion).tar.gz" />
|
||||
</ItemGroup>
|
||||
<WriteLinesToFile
|
||||
File="$(ArchiveArtifactsTextFile)"
|
||||
Lines="@(ArtifactUrls)"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
|
||||
<Target Name="DownloadSourceBuildReferencePackages"
|
||||
AfterTargets="Build"
|
||||
Condition="'$(OfflineBuild)' != 'true' and '$(OS)' != 'Windows_NT' and '$(SkipDownloadingReferencePackages)' != 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)DownloadSourceBuildReferencePackages.complete" >
|
||||
<PropertyGroup Condition="'$(DownloadSourceBuildReferencePackagesTimeoutSeconds)' == ''">
|
||||
<DownloadSourceBuildReferencePackagesTimeoutSeconds>N/A</DownloadSourceBuildReferencePackagesTimeoutSeconds>
|
||||
</PropertyGroup>
|
||||
|
||||
<DownloadFileSB
|
||||
SourceUrl="$(ReferencePackagesTarballUrl)$(ReferencePackagesTarballName).$(PrivateSourceBuildReferencePackagesPackageVersion).tar.gz"
|
||||
DestinationFolder="$(ExternalTarballsDir)"
|
||||
TimeoutSeconds="$(DownloadSourceBuildReferencePackagesTimeoutSeconds)" />
|
||||
|
||||
<WriteLinesToFile File="$(CompletedSemaphorePath)DownloadSourceBuildReferencePackages.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="DownloadSourceBuiltArtifacts"
|
||||
AfterTargets="Build"
|
||||
Condition="
|
||||
'$(OfflineBuild)' != 'true' and
|
||||
'$(OS)' != 'Windows_NT' and
|
||||
'$(SkipDownloadingPreviouslySourceBuiltPackages)' != 'true' and
|
||||
'$(PrivateSourceBuiltArtifactsPackageVersion)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)DownloadSourceBuiltArtifacts.complete" >
|
||||
<PropertyGroup Condition="'$(DownloadSourceBuiltArtifactsTimeoutSeconds)' == ''">
|
||||
<DownloadSourceBuiltArtifactsTimeoutSeconds>N/A</DownloadSourceBuiltArtifactsTimeoutSeconds>
|
||||
</PropertyGroup>
|
||||
|
||||
<DownloadFileSB
|
||||
SourceUrl="$(SourceBuiltArtifactsTarballUrl)$(SourceBuiltArtifactsTarballName).$(PrivateSourceBuiltArtifactsPackageVersion).tar.gz"
|
||||
DestinationFolder="$(ExternalTarballsDir)"
|
||||
TimeoutSeconds="$(DownloadSourceBuiltArtifactsTimeoutSeconds)" />
|
||||
|
||||
<WriteLinesToFile File="$(CompletedSemaphorePath)DownloadSourceBuiltArtifacts.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<!-- After building, generate a prebuilt usage report. -->
|
||||
<Target Name="ReportPrebuiltUsage"
|
||||
AfterTargets="Build"
|
||||
|
@ -119,7 +66,7 @@
|
|||
|
||||
<Target Name="ReportPoisonUsage"
|
||||
AfterTargets="Build"
|
||||
Condition="'$(EnablePoison)' == 'true' and '$(OfflineBuild)' == 'true'"
|
||||
Condition="'$(EnablePoison)' == 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)ReportPoisonUsage.complete" >
|
||||
<ItemGroup>
|
||||
|
@ -137,11 +84,8 @@
|
|||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)GeneratePrebuiltBurndownData.complete" >
|
||||
<WriteUsageBurndownData RootDirectory="$(ProjectDir)"
|
||||
PrebuiltBaselineFile="$(OnlineBaselineDataFile)"
|
||||
OutputFilePath="$(OnlinePrebuiltBurndownDataFile)" />
|
||||
<WriteUsageBurndownData RootDirectory="$(ProjectDir)"
|
||||
PrebuiltBaselineFile="$(OfflineBaselineDataFile)"
|
||||
OutputFilePath="$(OfflinePrebuiltBurndownDataFile)" />
|
||||
PrebuiltBaselineFile="$(BaselineDataFile)"
|
||||
OutputFilePath="$(PrebuiltBurndownDataFile)" />
|
||||
|
||||
<WriteLinesToFile File="$(CompletedSemaphorePath)GeneratePrebuiltBurndownData.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
|
|
@ -5,7 +5,7 @@ IFS=$'\n\t'
|
|||
usage() {
|
||||
echo "usage: $0 [options]"
|
||||
echo "options:"
|
||||
echo " --with-ref-packages <dir> use the specified directory of reference packages"
|
||||
echo " --online build using online sources"
|
||||
echo " --with-packages <dir> use the specified directory of previously-built packages"
|
||||
echo " --with-sdk <dir> use the SDK in the specified directory for bootstrapping"
|
||||
echo "use -- to send the remaining arguments to MSBuild"
|
||||
|
@ -14,7 +14,7 @@ usage() {
|
|||
|
||||
SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)"
|
||||
|
||||
MSBUILD_ARGUMENTS=("/p:OfflineBuild=true" "/flp:v=detailed")
|
||||
MSBUILD_ARGUMENTS=("/flp:v=detailed")
|
||||
CUSTOM_REF_PACKAGES_DIR=''
|
||||
CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR=''
|
||||
alternateTarget=false
|
||||
|
@ -31,6 +31,9 @@ while :; do
|
|||
alternateTarget=true
|
||||
MSBUILD_ARGUMENTS+=( "/t:RunSmokeTest" )
|
||||
;;
|
||||
--online)
|
||||
MSBUILD_ARGUMENTS+=( "/p:BuildWithOnlineSources=true")
|
||||
;;
|
||||
--with-packages)
|
||||
CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR="$(cd -P "$2" && pwd)"
|
||||
if [ ! -d "$CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR" ]; then
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<Project>
|
||||
|
||||
<Target Name="AllowWorkInProgressPrebuilts"
|
||||
BeforeTargets="ForbidPrebuilts">
|
||||
<ItemGroup>
|
||||
<!-- Example: $(TarballPrebuiltPackageDir)microsoft.dotnet.web.itemtemplates.5.0.2.nupkg -->
|
||||
<AllowedPrebuiltPackageFile />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,63 +0,0 @@
|
|||
<Project>
|
||||
|
||||
<!--
|
||||
Below are some destructive cleanup steps that we optionally perform during tarball creation.
|
||||
These are used in CI to avoid filling up disk space, when we have weak build agents. These steps
|
||||
are not generally suitable for dev scenarios because they delete intermediate data that might
|
||||
have taken quite a while to download or create, and Git data that may be in-progress work.
|
||||
-->
|
||||
|
||||
<!--
|
||||
We need to keep artifacts/src/<repo>/.git around for sourcelink metadata but we can delete just
|
||||
about everything else, Darc will pull it from the copy in .git/modules. This list of extensions
|
||||
is everything over 6MB or so.
|
||||
-->
|
||||
<Target Name="DestructiveIntermediateCleanLargeFilesFromClonedSource"
|
||||
BeforeTargets="AddTarballSource">
|
||||
<ItemGroup>
|
||||
<LargeSrcFileExtension Include="
|
||||
.dll;
|
||||
.exe;
|
||||
.pdb;
|
||||
.mdb;
|
||||
.zip;
|
||||
.so;
|
||||
.o;
|
||||
.a;
|
||||
.tar.gz;
|
||||
.vb;
|
||||
.il;
|
||||
.xlf;
|
||||
.cpp;
|
||||
.txt;
|
||||
.map;
|
||||
.md;
|
||||
.fs;
|
||||
.h;
|
||||
.c;
|
||||
.js;
|
||||
.json;
|
||||
.ildump;
|
||||
.resx;
|
||||
.xml;
|
||||
.css;
|
||||
.nupkg" />
|
||||
|
||||
<LargeSrcFiles Include="$(ClonedSubmoduleDirectory)*%(LargeSrcFileExtension.Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Message Importance="High" Text="Removing large and unnecessary source files from $(ClonedSubmoduleDirectory)" />
|
||||
|
||||
<Delete Files="@(LargeSrcFiles)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="DestructiveIntermediateCleanTarballSource"
|
||||
AfterTargets="AddTarballSource">
|
||||
<!-- Now we don't need .git/modules/src anymore. -->
|
||||
<RemoveDir Directories="$(ClonedSubmoduleGitRootDirectory)" />
|
||||
|
||||
<!-- we don't build CoreCLR tests right now and they have a lot of them - ~380MB -->
|
||||
<Exec Command="rm -rf '$(TarballSourceDir)coreclr.'*'/tests'" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,136 +0,0 @@
|
|||
<Project>
|
||||
|
||||
<!--
|
||||
Remove a list of packages that end up in the tarball's prebuilts folder but are not actually
|
||||
needed. This is typically because part of the build are turned off for DotNetBuildOffline but
|
||||
not DotNetBuildFromSource.
|
||||
-->
|
||||
<Target Name="RemoveTarballKnownExtraPrebuilts"
|
||||
DependsOnTargets="GetTarballDirProps">
|
||||
<ItemGroup>
|
||||
<KnownExtraPrebuiltFile Include="
|
||||
$(TarballPrebuiltPackageDir)microbuild.core.0.2.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microbuild.core.sentinel.1.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.bcl.asyncinterfaces.1.1.1.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.bcl.asyncinterfaces.5.0.0-rc.1.20451.14.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.build.framework.15.3.409.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.build.framework.15.4.8.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.build.tasks.core.15.3.409.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.build.utilities.core.15.3.409.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.build.utilities.core.15.4.8.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.analyzers.2.6.1.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.analyzers.2.9.6.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.analyzers.3.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.bannedapianalyzers.3.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.common.2.9.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.common.3.4.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.common.3.8.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.csharp.2.9.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.csharp.3.4.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.csharp.3.8.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.csharp.codestyle.3.8.0-2.20414.4.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.csharp.codestyle.3.8.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.visualbasic.codestyle.3.8.0-2.20414.4.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.codeanalysis.visualbasic.codestyle.3.8.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.dotnet.arcade.sdk.5.0.0-beta.20426.4.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.dotnet.signtool.5.0.0-beta.20426.4.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.extensions.dependencymodel.3.1.6.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.extensions.dependencyinjection.5.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.netcore.app.host.linux-x64.3.1.7.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.symboluploader.build.task.1.1.141804.nupkg;
|
||||
$(TarballPrebuiltPackageDir)netstandard.library.1.6.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.commands.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.common.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.configuration.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.credentials.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.dependencyresolver.core.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.frameworks.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.librarymodel.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.packaging.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.projectmodel.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.protocol.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)nuget.versioning.5.6.0-preview.2.6489.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.4.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.data.sqlclient.sni.4.7.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.io.compression.4.1.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.io.compression.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.net.http.4.0.1.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.net.http.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.net.security.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.security.cryptography.4.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.security.cryptography.apple.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)sn.1.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.collections.immutable.5.0.0-preview.8.20407.11.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.composition.1.0.31.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.composition.attributedmodel.1.0.31.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.composition.convention.1.0.31.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.composition.hosting.1.0.31.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.composition.runtime.1.0.31.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.composition.typedparts.1.0.31.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.io.pipelines.5.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.reflection.metadata.5.0.0-preview.8.20407.11.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.runtime.compilerservices.unsafe.5.0.0-rc.1.20451.14.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.security.cryptography.pkcs.5.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.text.encodings.web.4.7.1.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.text.encodings.web.5.0.0-rc.1.20451.14.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.text.json.4.7.2.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.text.json.5.0.0-rc.1.20451.14.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.text.json.5.0.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.valuetuple.4.3.0.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.xml.xpath.xmldocument.4.0.1.nupkg;
|
||||
$(TarballPrebuiltPackageDir)vswhere.2.6.7.nupkg;
|
||||
$(TarballPrebuiltPackageDir)xlifftasks.1.0.0-beta.20420.1.nupkg;
|
||||
" />
|
||||
<!--
|
||||
Remove source-link packages to throw away tooling that Arcade imports unconditionally in the
|
||||
production build.
|
||||
-->
|
||||
<KnownExtraPrebuiltFile Include="
|
||||
$(TarballPrebuiltPackageDir)microsoft.build.tasks.git.1.0.0-beta2-*.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.sourcelink.common.1.0.0-beta2-*.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.sourcelink.github.1.0.0-beta2-*.nupkg;
|
||||
$(TarballPrebuiltPackageDir)microsoft.sourcelink.vsts.git.1.0.0-beta2-*.nupkg;
|
||||
" />
|
||||
<!--
|
||||
Remove packages that show up when dotnet/sdk restores Microsoft.Build/15.7.179 in net472
|
||||
configuration. These are not present in the source-build-reference-packages version of
|
||||
Microsoft.Build/15.7.179, so we know it's safe to ignore. In the production build, we aren't
|
||||
using SBRP yet, so we need to remove them here.
|
||||
-->
|
||||
<KnownExtraPrebuiltFile Include="
|
||||
$(TarballPrebuiltPackageDir)microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg;
|
||||
$(TarballPrebuiltPackageDir)system.threading.tasks.dataflow.4.5.24.nupkg;
|
||||
" />
|
||||
</ItemGroup>
|
||||
|
||||
<Delete Files="@(KnownExtraPrebuiltFile)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,99 +0,0 @@
|
|||
<Project>
|
||||
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceTextInFile" />
|
||||
|
||||
<!--
|
||||
Find text-only nupkgs and decompose them into text files to include in the tarball as source
|
||||
code. This simplifies maintenance by removing the need to put a new version of these files in
|
||||
dotnet/source-build-reference-packages for potentially every single servicing release.
|
||||
|
||||
'dotnet new' template packages are a prominent example of text-only packages that change often.
|
||||
-->
|
||||
<Target Name="AddAllUnpackedTextOnlyPackageSource"
|
||||
DependsOnTargets="GetTarballDirProps"
|
||||
BeforeTargets="AddTarballPackages">
|
||||
<PropertyGroup>
|
||||
<TarballUnpackedTextOnlyPackageSourceDir>$([MSBuild]::NormalizeDirectory('$(TarballRootDir)', 'packages', 'text-only'))</TarballUnpackedTextOnlyPackageSourceDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
Find .nupkg files in package cache in order to locate the extraction directory, then filter
|
||||
which files are copied to the tarball to exclude the nupkg itself and unnecessary metadata.
|
||||
-->
|
||||
<ItemGroup>
|
||||
<TextOnlyPrebuiltNupkgFile Include="
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.itemtemplates.2.1.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.projecttemplates.2.1.2.1.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.spa.projecttemplates.2.1.2.1.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.common.itemtemplates.3.1.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.itemtemplates.3.1.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.projecttemplates.3.1.3.1.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.spa.projecttemplates.3.1.3.1.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.itemtemplates.5.0.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.projecttemplates.5.0.5.0.*.nupkg;
|
||||
$(ProjectDir)packages\restored\**\microsoft.dotnet.web.spa.projecttemplates.5.0.5.0.*.nupkg;
|
||||
" />
|
||||
|
||||
<!-- Make prebuilt nupkg copy logic ignore these text-only nupkgs. -->
|
||||
<RefOnlyPackageFilename Include="@(TextOnlyPrebuiltNupkgFile->'%(Filename)')" />
|
||||
|
||||
<TextOnlyPrebuiltNupkgProject
|
||||
Include="$(MSBuildProjectFullPath)"
|
||||
Properties="
|
||||
TextOnlyPackageRootDir=%(TextOnlyPrebuiltNupkgFile.RootDir)%(TextOnlyPrebuiltNupkgFile.Directory)" />
|
||||
</ItemGroup>
|
||||
|
||||
<MSBuild
|
||||
Projects="@(TextOnlyPrebuiltNupkgProject)"
|
||||
Targets="AddUnpackedTextOnlyPackageSource">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="TarballCopyFile" />
|
||||
</MSBuild>
|
||||
</Target>
|
||||
|
||||
<Target Name="AddUnpackedTextOnlyPackageSource"
|
||||
DependsOnTargets="GetTarballDirProps"
|
||||
Returns="@(TarballCopyFile)">
|
||||
<PropertyGroup>
|
||||
<PackageVersionDirFile>$([System.IO.Path]::GetDirectoryName('$(TextOnlyPackageRootDir)'))</PackageVersionDirFile>
|
||||
<PackageIdDirFile>$([System.IO.Path]::GetDirectoryName('$(PackageVersionDirFile)'))</PackageIdDirFile>
|
||||
<PackageVersion>$([System.IO.Path]::GetFileName('$(PackageVersionDirFile)'))</PackageVersion>
|
||||
<PackageId>$([System.IO.Path]::GetFileName('$(PackageIdDirFile)'))</PackageId>
|
||||
|
||||
<PackageIntermediateDir>$([MSBuild]::NormalizeDirectory('$(TextOnlyPackageBaseDir)', '$(PackageId)', '$(PackageVersion)'))</PackageIntermediateDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(PackageIntermediateDir)" />
|
||||
|
||||
<ItemGroup>
|
||||
<NuspecFile Include="$(TextOnlyPackageRootDir)*.nuspec" />
|
||||
<PackableNuspecFile Include="@(NuspecFile->'$(PackageIntermediateDir)%(Filename)%(Extension)')" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Condition="@(NuspecFile->Count()) != 1" Text="Expected exactly one nuspec file in $(TextOnlyPackageRootDir)" />
|
||||
|
||||
<Copy SourceFiles="@(NuspecFile)" DestinationFiles="@(PackableNuspecFile)" />
|
||||
|
||||
<ReplaceTextInFile
|
||||
InputFile="@(PackableNuspecFile)"
|
||||
OldText="</package>"
|
||||
NewText="<files><file src=".\**\*"/></files></package>" />
|
||||
|
||||
<ItemGroup>
|
||||
<TextOnlyPackageContentFile
|
||||
Include="
|
||||
$(TextOnlyPackageRootDir)**;
|
||||
$(PackageIntermediateDir)**"
|
||||
Exclude="
|
||||
@(NuspecFile);
|
||||
$(TextOnlyPackageRootDir)**\.nupkg.metadata;
|
||||
$(TextOnlyPackageRootDir)**\.signature.p7s;
|
||||
$(TextOnlyPackageRootDir)**\*.nupkg;
|
||||
$(TextOnlyPackageRootDir)**\*.nupkg.sha512" />
|
||||
|
||||
<TarballCopyFile
|
||||
Include="@(TextOnlyPackageContentFile)"
|
||||
RelativeDestination="packages\text-only\$(PackageId)\$(PackageVersion)\%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -1,386 +0,0 @@
|
|||
<Project>
|
||||
|
||||
<Target Name="PackSourceBuildTarball"
|
||||
Condition="'$(PackSourceBuildTarball)' == 'true'"
|
||||
DependsOnTargets="
|
||||
GetTarballDirProps;
|
||||
AddTarballSource;
|
||||
AddTarballSourcelinkMetadata;
|
||||
AddTarballTools;
|
||||
AddTarballPackages;
|
||||
AddTarballExternalTarballs;
|
||||
AddTarballCommitInfo;
|
||||
AddTarballLeakDetection;
|
||||
CopyTarballFiles;
|
||||
RemoveTarballKnownExtraPrebuilts;
|
||||
ForbidPrebuilts;
|
||||
"
|
||||
AfterTargets="Execute" />
|
||||
|
||||
<Import Project="SourceBuild.Tarball.KnownExtraPrebuilts.targets" />
|
||||
<Import Project="SourceBuild.Tarball.AllowedPrebuilts.targets" />
|
||||
<Import Project="SourceBuild.Tarball.TextOnlyPrebuilts.targets" />
|
||||
|
||||
<Import
|
||||
Project="SourceBuild.Tarball.DestructiveCleanup.targets"
|
||||
Condition="'$(DestructiveIntermediateClean)' == 'true'"/>
|
||||
|
||||
<Target Name="GetTarballDirProps">
|
||||
<PropertyGroup>
|
||||
<TarballRootDir>$([MSBuild]::NormalizeDirectory('$(TarballRoot)'))</TarballRootDir>
|
||||
<TarballSourceDir>$([MSBuild]::NormalizeDirectory('$(TarballRootDir)', 'src'))</TarballSourceDir>
|
||||
<TarballPrebuiltPackageDir>$([MSBuild]::NormalizeDirectory('$(TarballRootDir)', 'packages', 'prebuilt'))</TarballPrebuiltPackageDir>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="AddTarballSource"
|
||||
DependsOnTargets="
|
||||
GetTarballDirProps;
|
||||
GetCommonDarcCloneCommand"
|
||||
Condition="'$(SkipAddTarballSource)' != 'true'">
|
||||
<!--
|
||||
Use Git to put sources in the tarball. This ensure it's fresh, without having to clean and
|
||||
reset the working dir. This helps preserve diagnostic information if the tarball build doesn't
|
||||
work.
|
||||
-->
|
||||
<Exec
|
||||
Command="git --work-tree="$(TarballRootDir)" checkout HEAD -- src"
|
||||
WorkingDirectory="$(ProjectDir)" />
|
||||
|
||||
<!--
|
||||
Now re-uberclone into the tarball src directory. Since we reuse the .gitdirs, this shouldn't
|
||||
hit the network at all.
|
||||
-->
|
||||
<Exec
|
||||
Command="$(DarcCloneCommand) --repos-folder $(TarballSourceDir)"
|
||||
WorkingDirectory="$(ProjectDir)" />
|
||||
|
||||
<Message Importance="High" Text="Darc clone into tarball complete." />
|
||||
|
||||
<ItemGroup>
|
||||
<TarballSrcBinaryExtension Include="
|
||||
.dll;
|
||||
.Dll;
|
||||
.exe;
|
||||
.pdb;
|
||||
.mdb;
|
||||
.zip;
|
||||
.nupkg" />
|
||||
|
||||
<TarballSrcBinaryToRemove Include="$(TarballSourceDir)**\*%(TarballSrcBinaryExtension.Identity)" />
|
||||
|
||||
<!-- Runtime coreclr and installer parts have empty placeholder PDB files. Keep them. -->
|
||||
<TarballSrcBinaryToRemove Remove="
|
||||
$(TarballSourceDir)runtime*\src\coreclr\src\.nuget\**\*%(TarballSrcBinaryExtension.Identity);
|
||||
$(TarballSourceDir)runtime*\src\installer\pkg\**\*%(TarballSrcBinaryExtension.Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Delete Files="@(TarballSrcBinaryToRemove)" />
|
||||
|
||||
<ItemGroup>
|
||||
<MasterRepositoryDirToRemove
|
||||
Include="$([System.IO.Directory]::GetDirectories('$(TarballSourceDir)'))" />
|
||||
|
||||
<!-- Keep known source dirs and non-master repo dirs. -->
|
||||
<MasterRepositoryDirToRemove Remove="$(TarballSourceDir)reference-assemblies" />
|
||||
<MasterRepositoryDirToRemove Remove="$(TarballSourceDir)netcorecli-fsc" />
|
||||
<MasterRepositoryDirToRemove Remove="$(TarballSourceDir)package-source-build" />
|
||||
<MasterRepositoryDirToRemove
|
||||
Remove="@(MasterRepositoryDirToRemove)"
|
||||
Condition="
|
||||
$([System.Text.RegularExpressions.Regex]::IsMatch(
|
||||
'%(Identity)',
|
||||
'\.[A-Fa-f0-9]{40}$'))" />
|
||||
</ItemGroup>
|
||||
|
||||
<RemoveDir Directories="@(MasterRepositoryDirToRemove)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="AddTarballSourcelinkMetadata">
|
||||
<ItemGroup>
|
||||
<ArtifactsGitDir Include="$(ClonedSubmoduleDirectory)**\.git\**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy
|
||||
SourceFiles="@(ArtifactsGitDir)"
|
||||
DestinationFiles="@(ArtifactsGitDir -> '$(TarballSourceDir)%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="AddTarballTools">
|
||||
<ItemGroup>
|
||||
<TarballRootToolFile
|
||||
Include="
|
||||
$(ProjectDir)*.proj;
|
||||
$(ProjectDir)*.props;
|
||||
$(ProjectDir)*.targets;
|
||||
$(ProjectDir)global.json;
|
||||
$(ProjectDir)DarcVersion.txt;
|
||||
$(ProjectDir)ProdConFeed.txt;
|
||||
$(ProjectDir)smoke-test*;
|
||||
$(ProjectDir)eng\**;
|
||||
$(ProjectDir)keys\**;
|
||||
$(ProjectDir)patches\**;
|
||||
$(ProjectDir)scripts\**;
|
||||
$(ProjectDir)repos\**;
|
||||
$(ProjectDir)tools-local\**;
|
||||
"
|
||||
Exclude="
|
||||
$(ProjectDir)tools-local\arcade-services\**;
|
||||
$(ProjectDir)tools-local\tasks\*\bin\**;
|
||||
$(ProjectDir)tools-local\tasks\*\obj\**;
|
||||
" />
|
||||
|
||||
<TarballRootToolFile
|
||||
Include="$(DotNetCliToolDir)**"
|
||||
Exclude="
|
||||
$(DotNetCliToolDir)shared\2.1.0\**;
|
||||
$(DotNetCliToolDir)tools\**;
|
||||
"
|
||||
Condition=" '$(CustomDotNetSdkDir)' == '' AND '$(PackBaseTarball)' != 'true' "/>
|
||||
|
||||
<TarballCopyFile
|
||||
Include="@(TarballRootToolFile)"
|
||||
RelativeDestination="$([MSBuild]::MakeRelative('$(ProjectDir)', '%(Identity)'))" />
|
||||
|
||||
<TarballGitInfoFile Include="$(ProjectDir)artifacts\git-info\**" />
|
||||
<TarballCopyFile
|
||||
Include="@(TarballGitInfoFile)"
|
||||
RelativeDestination="git-info\%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
|
||||
<TarballBootstrappingToolFile Include="$(ProjectDir)support\tarball\tool-bootstrapping/**;" />
|
||||
<TarballCopyFile
|
||||
Include="@(TarballBootstrappingToolFile)"
|
||||
RelativeDestination="tool-bootstrapping\%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
|
||||
<TarballCopyFile
|
||||
Include="$(ProjectDir)support/tarball/build.sh"
|
||||
RelativeDestination="build.sh" />
|
||||
|
||||
<TarballCopyFile
|
||||
Condition=" '$(PackBaseTarball)' == 'true' "
|
||||
Include="$(ProjectDir)support/tarball/prep.sh"
|
||||
RelativeDestination="prep.sh" />
|
||||
|
||||
<!--
|
||||
When building an internal build, the main smoke-test nuget config has authenticated sources
|
||||
in it to generate a full set of smoke-test-prereqs. This isn't necessary in the tarball
|
||||
because we have those smoke-test-prereqs, but we hit authentication errors nonetheless. Copy
|
||||
a trimmed down nuget.config in this case.
|
||||
TODO: Automatically trim down the main nuget.config.
|
||||
-->
|
||||
<TarballCopyFile
|
||||
Condition="Exists('$(ProjectDir)support\tarball\smoke-testNuGet.Config')"
|
||||
Include="$(ProjectDir)support\tarball\smoke-testNuGet.Config"
|
||||
RelativeDestination="smoke-testNuGet.Config" />
|
||||
|
||||
<!-- Setup package version props to include both source-built and running PackageVersions.props -->
|
||||
<TarballCopyFile
|
||||
Include="$(ProjectDir)support\tarball\PackageVersions.props"
|
||||
RelativeRoot="artifacts/obj/$(Platform)/Release/" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="AddTarballPackages">
|
||||
<!-- Find reference-packages to exclude from tarball prebuilts...-->
|
||||
<ItemGroup Condition="'$(CustomRefPackagesDir)' != ''">
|
||||
<SourceBuildReferencePackageFile Include="$(CustomRefPackagesDir)**\*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<Exec
|
||||
Command="tar -tf $(ExternalTarballsDir)Private.SourceBuild.ReferencePackages.*.tar.gz | tr '[:upper:]' '[:lower:]'"
|
||||
ConsoleToMsBuild="true"
|
||||
StandardOutputImportance="low"
|
||||
Condition="'$(CustomRefPackagesDir)' == ''">
|
||||
<Output TaskParameter="ConsoleOutput" ItemName="SourceBuildReferencePackageFile" />
|
||||
</Exec>
|
||||
|
||||
<ItemGroup>
|
||||
<SourceBuildReferencePackageFilename Include="@(SourceBuildReferencePackageFile -> '%(Filename)')" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Find previously source-built packages to exclude from tarball prebuilts... -->
|
||||
<ItemGroup Condition="'$(CustomPreviouslySourceBuiltPackagesDir)' != ''">
|
||||
<PreviouslySourceBuiltPackageFile Include="$(CustomPreviouslySourceBuiltPackagesDir)**\*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Use a downloaded previously source built artifacts tar.gz if specified. -->
|
||||
<PrivateSourceBuiltArtifactsTarGzFile
|
||||
Condition="'$(PrivateSourceBuiltArtifactsPackageVersion)' != ''"
|
||||
Include="$(ExternalTarballsDir)Private.SourceBuilt.Artifacts.*.tar.gz" />
|
||||
|
||||
<!-- If not using previously source built artifacts tar.gz, use Production build output. -->
|
||||
<PrivateSourceBuiltArtifactsTarGzFile
|
||||
Condition="'$(PrivateSourceBuiltArtifactsPackageVersion)' == ''"
|
||||
Include="$(OutputPath)$(SourceBuiltArtifactsTarballName).*.tar.gz" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error
|
||||
Text="Expected one PrivateSourceBuiltArtifactsTarGzFile item, got @(PrivateSourceBuiltArtifactsTarGzFile->Count())"
|
||||
Condition="@(PrivateSourceBuiltArtifactsTarGzFile->Count()) != 1" />
|
||||
|
||||
<Exec
|
||||
Command="tar -tf @(PrivateSourceBuiltArtifactsTarGzFile) | tr '[:upper:]' '[:lower:]'"
|
||||
ConsoleToMsBuild="true"
|
||||
StandardOutputImportance="low"
|
||||
Condition="'$(CustomPreviouslySourceBuiltPackagesDir)' == ''">
|
||||
<Output TaskParameter="ConsoleOutput" ItemName="PreviouslySourceBuiltPackageFile" />
|
||||
</Exec>
|
||||
|
||||
<ItemGroup>
|
||||
<PreviouslySourceBuiltPackageFilename Include="@(PreviouslySourceBuiltPackageFile -> '%(Filename)')" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Find source-built packages to exclude from tarball prebuilts... -->
|
||||
<SourceBuiltPackageFile Include="$(SourceBuiltPackagesPath)**\*.nupkg" />
|
||||
<SourceBuiltPackageFilename Include="@(SourceBuiltPackageFile -> '%(Filename)')" />
|
||||
|
||||
<!-- Find prebuilts and smoke-test prebuilts to copy (with exclusions). -->
|
||||
<PrebuiltPackageFile
|
||||
Include="
|
||||
$(ProjectDir)packages\restored\**\*.nupkg;
|
||||
$(LocalNuGetPackagesRoot)**\*.nupkg;
|
||||
" />
|
||||
<PrebuiltPackageFile
|
||||
RelativeDestination="packages\prebuilt\%(Filename)%(Extension)" />
|
||||
|
||||
<SmokeTestPackageFile
|
||||
Include="$(ProjectDir)testing-smoke\smoke-test-packages\**\*.nupkg"
|
||||
RelativeRoot="packages\smoke-test-packages\" />
|
||||
|
||||
<!--
|
||||
Set up filename-based items, in order to filter out some packages that aren't necessary as
|
||||
prebuilts, or are generated/acquired another way.
|
||||
-->
|
||||
<IncludedPrebuiltPackageCandidate Include="@(PrebuiltPackageFile)" />
|
||||
|
||||
<!--
|
||||
For internal builds, all smoke-test packages should be kept. For external builds, they can
|
||||
be restored during smoke-test execution from public sources, so can be pruned.
|
||||
-->
|
||||
<IncludedPrebuiltPackageFile Include="@(SmokeTestPackageFile)" Condition="'$(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)' != ''" />
|
||||
<IncludedPrebuiltPackageCandidate Include="@(SmokeTestPackageFile)" Condition="'$(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)' == ''" />
|
||||
|
||||
<IncludedPrebuiltPackageFilename
|
||||
Include="@(IncludedPrebuiltPackageCandidate -> '%(Filename)')"
|
||||
OriginalIdentity="%(Identity)" />
|
||||
|
||||
<IncludedPrebuiltPackageFilename Remove="
|
||||
@(SourceBuiltPackageFilename);
|
||||
@(SourceBuildReferencePackageFilename);
|
||||
@(PreviouslySourceBuiltPackageFilename);
|
||||
@(RefOnlyPackageFilename);
|
||||
" />
|
||||
|
||||
<IncludedPrebuiltPackageFile
|
||||
Include="@(IncludedPrebuiltPackageFilename -> '%(OriginalIdentity)')" />
|
||||
|
||||
<!-- Add prebuilt packages to tarball. -->
|
||||
<TarballCopyFile Include="@(IncludedPrebuiltPackageFile)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="AddTarballExternalTarballs"
|
||||
DependsOnTargets="AddTarballPackages">
|
||||
<ItemGroup>
|
||||
<ExternalTarballFile
|
||||
Condition=" '$(PackBaseTarball)' != 'true' "
|
||||
Include="$(ExternalTarballsDir)*.tar.gz"
|
||||
RelativeRoot="packages\archive\" />
|
||||
|
||||
<!-- If not using previously source built artifacts tar.gz, use Production build output. -->
|
||||
<ExternalTarballFile
|
||||
Condition=" '$(PrivateSourceBuiltArtifactsPackageVersion)' == '' AND '$(PackBaseTarball)' != 'true' "
|
||||
Include="@(PrivateSourceBuiltArtifactsTarGzFile)"
|
||||
RelativeRoot="packages\archive\" />
|
||||
|
||||
<ExternalTarballFile
|
||||
Condition=" '$(PackBaseTarball)' == 'true' "
|
||||
Include="$(ArchiveArtifactsTextFile)"
|
||||
RelativeRoot="packages\archive\" />
|
||||
|
||||
<TarballCopyFile Include="@(ExternalTarballFile);" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Record commits for the source-build repo and all submodules, to aid in reproducibility...
|
||||
-->
|
||||
<Target Name="AddTarballCommitInfo"
|
||||
Condition="'$(SkipAddTarballCommitInfo)' != 'true'">
|
||||
<PropertyGroup>
|
||||
<SourceBuildInfoFile>$(TarballRootDir)source-build-info.txt</SourceBuildInfoFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec
|
||||
Command="(
|
||||
echo 'source-build:';
|
||||
echo ' '%24(git rev-parse HEAD)' . ('%24(git describe --always HEAD)')';
|
||||
echo ''
|
||||
echo 'submodules:'
|
||||
echo %24(git submodule status --recursive)
|
||||
) > $(SourceBuildInfoFile)"
|
||||
WorkingDirectory="$(ProjectDir)"
|
||||
StandardOutputImportance="low" />
|
||||
</Target>
|
||||
|
||||
<Target Name="AddTarballLeakDetection"
|
||||
Condition="'$(IncludeLeakDetection)' == 'true'"
|
||||
DependsOnTargets="CopyTarballFiles">
|
||||
<PropertyGroup>
|
||||
<LeakDetectionProjectFile>$(ProjectDir)tools-local\tasks\Microsoft.DotNet.SourceBuild.Tasks.LeakDetection\Microsoft.DotNet.SourceBuild.Tasks.LeakDetection.csproj</LeakDetectionProjectFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<MSBuild
|
||||
Projects="$(LeakDetectionProjectFile)"
|
||||
Targets="Restore"
|
||||
Properties="
|
||||
RestoreSources=$(SourceBuiltPackagesPath)%3B$(TarballRootDir)packages/prebuilt%3bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json;
|
||||
DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)"/>
|
||||
|
||||
<MSBuild
|
||||
Projects="$(LeakDetectionProjectFile)"
|
||||
Targets="Publish"
|
||||
Properties="
|
||||
OutputPath=$(TarballRootDir)tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.LeakDetection/;
|
||||
DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyTarballFiles">
|
||||
<ItemGroup>
|
||||
<TarballCopyFile
|
||||
Condition="
|
||||
'%(TarballCopyFile.RelativeDestination)' == '' and
|
||||
'%(TarballCopyFile.RelativeRoot)' != ''"
|
||||
RelativeDestination="%(TarballCopyFile.RelativeRoot)%(TarballCopyFile.RecursiveDir)%(Filename)%(Extension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy
|
||||
SourceFiles="@(TarballCopyFile)"
|
||||
DestinationFiles="@(TarballCopyFile -> '$(TarballRootDir)%(RelativeDestination)')" />
|
||||
</Target>
|
||||
|
||||
<!-- Check for any remaining prebuilts... -->
|
||||
<Target Name="ForbidPrebuilts"
|
||||
Condition="'$(SkipPrebuiltEnforcement)' != 'true'">
|
||||
<ItemGroup>
|
||||
<!--
|
||||
'Exclude' is an escape hatch for prebuilts, but none are allowed as of writing this target.
|
||||
If necessary, define a target in a separate targets file (to avoid clutter) that sets up the
|
||||
exclusion items and runs with BeforeTargets="ForbidPrebuilts".
|
||||
-->
|
||||
<ForbiddenPrebuiltPackageFile
|
||||
Include="$(TarballPrebuiltPackageDir)**\*.nupkg"
|
||||
Exclude="@(AllowedPrebuiltPackageFile)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'@(ForbiddenPrebuiltPackageFile)' != ''">
|
||||
<PrebuiltErrorText>Detected forbidden prebuilts. They must be removed, or explicitly allowed (see target for details):</PrebuiltErrorText>
|
||||
<PrebuiltErrorText>$(PrebuiltErrorText)%0A@(ForbiddenPrebuiltPackageFile -> '%(Identity)', '%0A')</PrebuiltErrorText>
|
||||
</PropertyGroup>
|
||||
|
||||
<Error Text="$(PrebuiltErrorText)" Condition="'$(PrebuiltErrorText)' != ''" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -11,8 +11,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<SourceDirectory Condition="'$(SourceDirectory)' == ''">$(RepositoryName)</SourceDirectory>
|
||||
<ProjectDirectory Condition="'$(ProjectDirectory)' == '' and '$(OfflineBuild)' != 'true'">$(ClonedSubmoduleDirectory)$(SourceDirectory).$(GitCommitHash)/</ProjectDirectory>
|
||||
<ProjectDirectory Condition="'$(ProjectDirectory)' == '' and '$(OfflineBuild)' == 'true'">$(SubmoduleDirectory)$(SourceDirectory).$(GitCommitHash)/</ProjectDirectory>
|
||||
<ProjectDirectory Condition="'$(ProjectDirectory)' == ''">$(SubmoduleDirectory)$(SourceDirectory).$(GitCommitHash)/</ProjectDirectory>
|
||||
<MinimalConsoleLogOutput Condition="'$(MinimalConsoleLogOutput)' == ''">true</MinimalConsoleLogOutput>
|
||||
<RepoConsoleLogFile>$(LoggingDir)$(RepositoryName).log</RepoConsoleLogFile>
|
||||
<RedirectRepoOutputToLog Condition="'$(MinimalConsoleLogOutput)' == 'true'">>> $(RepoConsoleLogFile) 2>&1</RedirectRepoOutputToLog>
|
||||
|
@ -41,19 +40,17 @@
|
|||
|
||||
<!-- A human-readable description of what's building and why. -->
|
||||
<PropertyGroup>
|
||||
<ProjectBuildReason>'$(RepositoryName)'</ProjectBuildReason>
|
||||
<ProjectBuildReason Condition="'$(OfflineBuild)' != 'true' AND '$(ArchiveDownloadedPackages)' == 'true'">$(ProjectBuildReason) to produce tarball</ProjectBuildReason>
|
||||
<ProjectBuildReason Condition="'$(OfflineBuild)' == 'true'">$(ProjectBuildReason) in tarball</ProjectBuildReason>
|
||||
<ProjectBuildReason>'$(RepositoryName) in tarball'</ProjectBuildReason>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="DotNetBuildFromSource=true" />
|
||||
<EnvironmentVariables Include="DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)" />
|
||||
<EnvironmentVariables Include="DotNetRestorePackagesPath=$(PackagesDir)" />
|
||||
<EnvironmentVariables Include="DotNetBuildOffline=true" Condition="'$(OfflineBuild)' == 'true'" />
|
||||
<EnvironmentVariables Include="DotNetBuildOffline=true" />
|
||||
|
||||
<!-- Ensure the SDK (Core-SDK/Installer) doesn't add an online source. -->
|
||||
<EnvironmentVariables Include="AddDotnetfeedProjectSource=false" Condition="'$(OfflineBuild)' == 'true'" />
|
||||
<EnvironmentVariables Include="AddDotnetfeedProjectSource=false" />
|
||||
|
||||
<!-- Arcade tools.sh picks up DotNetCoreSdkDir, but we can pass DOTNET_INSTALL_DIR directly. -->
|
||||
<EnvironmentVariables Include="DOTNET_INSTALL_DIR=$(DotNetCliToolDir)" />
|
||||
|
@ -134,8 +131,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ArcadeBootstrapDir Condition="'$(OfflineBuild)' != 'true'">$(PackagesDir)</ArcadeBootstrapDir>
|
||||
<ArcadeBootstrapDir Condition="'$(OfflineBuild)' == 'true'">$(ArcadeBootstrapPackageDir)</ArcadeBootstrapDir>
|
||||
<ArcadeBootstrapDir>$(ArcadeBootstrapPackageDir)</ArcadeBootstrapDir>
|
||||
<ArcadeBootstrapVersion>$(ARCADE_BOOTSTRAP_VERSION)</ArcadeBootstrapVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Project InitialTargets="SetNuGetPackagesEnvironment">
|
||||
|
||||
<ItemGroup Condition="'$(OfflineBuild)' == 'true'">
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="LatestCommit=$(GitCommitHash)" />
|
||||
<EnvironmentVariables Include="OfficialBuildId=$(OfficialBuildId)" />
|
||||
</ItemGroup>
|
||||
|
@ -54,7 +54,7 @@
|
|||
<!-- Source override arguments -->
|
||||
<PropertyGroup Condition="'$(SourceOverrideRepoApiImplemented)' == 'true'">
|
||||
<RepoApiArgs>$(RepoApiArgs) /p:DotNetRestoreSourcePropsPath=$(RestoreSourcePropsPath)</RepoApiArgs>
|
||||
<RepoApiArgs Condition="'$(OfflineBuild)' == 'true'">$(RepoApiArgs) /p:DotNetBuildOffline=true</RepoApiArgs>
|
||||
<RepoApiArgs>$(RepoApiArgs) /p:DotNetBuildOffline=true</RepoApiArgs>
|
||||
</PropertyGroup>
|
||||
<!-- Output placement arguments -->
|
||||
<PropertyGroup Condition="'$(OutputPlacementRepoApiImplemented)' == 'true'">
|
||||
|
@ -165,28 +165,25 @@
|
|||
<NuGetConfigFiles Include="$(NuGetConfigFile)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- TODO: Don't remove these sources now. Need a switch for building to check prebuilts.
|
||||
Currently, tarball build allows online restore sources.
|
||||
See https://github.com/dotnet/source-build/issues/2255 -->
|
||||
<!-- RemoveInternetSourcesFromNuGetConfig
|
||||
<RemoveInternetSourcesFromNuGetConfig
|
||||
NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
OfflineBuild="$(OfflineBuild)"
|
||||
KeepFeedPrefixes="@(KeepFeedPrefixes)" /-->
|
||||
BuildWithOnlineSources="$(BuildWithOnlineSources)"
|
||||
KeepFeedPrefixes="@(KeepFeedPrefixes)" />
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="prebuilt"
|
||||
SourcePath="$(PrebuiltPackagesPath)"
|
||||
Condition="'$(OfflineBuild)' == 'true'" />
|
||||
/>
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="previously-source-built"
|
||||
SourcePath="$(PrebuiltSourceBuiltPackagesPath)"
|
||||
Condition="'$(OfflineBuild)' == 'true'" />
|
||||
/>
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="reference-packages"
|
||||
SourcePath="$(ReferencePackagesDir)"
|
||||
Condition="'$(OfflineBuild)' == 'true'" />
|
||||
/>
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="source-built"
|
||||
|
@ -362,9 +359,9 @@
|
|||
<ItemGroup>
|
||||
<_DotNetRestoreSources Include="$(ExtraRestoreSourcePath)" Condition="'$(ExtraRestoreSourcePath)' != ''"/>
|
||||
<_DotNetRestoreSources Include="$(SourceBuiltPackagesPath)" />
|
||||
<_DotNetRestoreSources Include="$(ReferencePackagesDir)" Condition="'$(OfflineBuild)' == 'true'"/>
|
||||
<_DotNetRestoreSources Include="$(PrebuiltPackagesPath)" Condition="'$(OfflineBuild)' == 'true'"/>
|
||||
<_DotNetRestoreSources Include="$(PrebuiltSourceBuiltPackagesPath)" Condition="'$(OfflineBuild)' == 'true'"/>
|
||||
<_DotNetRestoreSources Include="$(ReferencePackagesDir)"/>
|
||||
<_DotNetRestoreSources Include="$(PrebuiltPackagesPath)"/>
|
||||
<_DotNetRestoreSources Include="$(PrebuiltSourceBuiltPackagesPath)"/>
|
||||
<PreviouslySourceBuiltPackages Include="$(SourceBuiltPackagesPath)*.nupkg"
|
||||
Exclude="$(SourceBuiltPackagesPath)*.symbols.nupkg" />
|
||||
<_AdditionalAssetDirs Include="$(SourceBuiltToolsetDir)" Condition="Exists('$(SourceBuiltToolsetDir)')" />
|
||||
|
@ -696,7 +693,7 @@
|
|||
|
||||
<SourceBuiltPackageFiles Include="$(SourceBuiltBlobFeedDir)**/*.nupkg" />
|
||||
<SourceBuiltPackageFiles Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
|
||||
<ReferencePackageFiles Condition="'$(OfflineBuild)' == 'true'" Include="$(ReferencePackagesDir)**/*.nupkg" />
|
||||
<ReferencePackageFiles Include="$(ReferencePackagesDir)**/*.nupkg" />
|
||||
|
||||
<!-- Check all RIDs from all restored Microsoft.NETCore.Platforms packages. -->
|
||||
<PlatformsRuntimeJsonFiles Include="$(LocalNuGetPackagesRoot)*/microsoft.netcore.platforms/*/runtime.json" />
|
||||
|
@ -710,8 +707,7 @@
|
|||
|
||||
<ItemGroup>
|
||||
<!-- This file is a resource tracked by Git, not generated by restore. Ignore false positive. -->
|
||||
<IgnoredProjectAssetsJsonFiles Include="$(ClonedSubmoduleDirectory)nuget.client*/test/NuGet.Core.Tests/NuGet.Build.Tasks.Pack.Test/compiler/resources/project.assets.json" Condition="'$(OfflineBuild)' != 'true'" />
|
||||
<IgnoredProjectAssetsJsonFiles Include="$(SubmoduleDirectory)nuget.client*/test/NuGet.Core.Tests/NuGet.Build.Tasks.Pack.Test/compiler/resources/project.assets.json" Condition="'$(OfflineBuild)' == 'true'" />
|
||||
<IgnoredProjectAssetsJsonFiles Include="$(SubmoduleDirectory)nuget.client*/test/NuGet.Core.Tests/NuGet.Build.Tasks.Pack.Test/compiler/resources/project.assets.json"/>
|
||||
</ItemGroup>
|
||||
|
||||
<WritePackageUsageData
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
and packaged into source-built artifacts for 6.0.
|
||||
See https://github.com/dotnet/source-build/issues/2285 -->
|
||||
<Target Name="UsePreviouslySourceBuiltNuGet"
|
||||
Condition="'$(OfflineBuild)' == 'true' AND 'true' == 'false' "
|
||||
Condition=" 'true' == 'false' "
|
||||
BeforeTargets="RepoBuild">
|
||||
<ItemGroup>
|
||||
<PreviouslySourceBuiltNuGetPackageFile Include="$(PrebuiltSourceBuiltPackagesPath)NuGet.Packaging.*.nupkg" />
|
||||
|
|
|
@ -39,8 +39,8 @@
|
|||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
|
||||
<EnvironmentRestoreSources>$(SourceBuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' == 'true'">$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' != 'true'">$(EnvironmentRestoreSources)%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources>$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(BuildWithOnlineSources)' == 'true'">$(EnvironmentRestoreSources)%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json</EnvironmentRestoreSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
|
||||
|
||||
<EnvironmentExternalRestoreSources>$(SourceBuiltPackagesPath)</EnvironmentExternalRestoreSources>
|
||||
<EnvironmentExternalRestoreSources Condition="'$(OfflineBuild)' == 'true'">$(EnvironmentExternalRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentExternalRestoreSources>
|
||||
<EnvironmentExternalRestoreSources>$(EnvironmentExternalRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentExternalRestoreSources>
|
||||
|
||||
<!-- This project builds zips, not NuGet packages. -->
|
||||
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
|
||||
|
|
|
@ -35,8 +35,8 @@
|
|||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
|
||||
<EnvironmentRestoreSources>$(SourceBuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' == 'true'">$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' != 'true'">$(EnvironmentRestoreSources)%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources>$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(BuildWithOnlineSources)' == 'true'">$(EnvironmentRestoreSources)%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json</EnvironmentRestoreSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -68,14 +68,13 @@
|
|||
but the NuGet resolver seems flaky so we're using our resolver instead. We only have access to
|
||||
the nupkg ahead of time when building a tarball, so only enable this workaround then.
|
||||
-->
|
||||
<ItemGroup Condition="'$(OfflineBuild)' == 'true'">
|
||||
<ItemGroup>
|
||||
<CentralPackageVersionsSdkOverride Include="Microsoft.Build.CentralPackageVersions" Group="CENTRAL_PACKAGE_VERSIONS" />
|
||||
<UseSourceBuiltSdkOverride Include="@(CentralPackageVersionsSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="ExtractCentralPackageVersionsSdkPackage"
|
||||
BeforeTargets="SetSourceBuiltSdkOverrides"
|
||||
Condition="'$(OfflineBuild)' == 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)ExtractCentralPackageVersionsSdkPackage.complete">
|
||||
<ItemGroup>
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<ProjectDirectory>$(SubmoduleDirectory)$(RepositoryName)/</ProjectDirectory>
|
||||
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
|
||||
<IncludedPackageVersionPropsFile Condition="'$(OfflineBuild)' != 'true'">$(PackageVersionPropsPath)</IncludedPackageVersionPropsFile>
|
||||
<IncludedPackageVersionPropsFile Condition="'$(OfflineBuild)' == 'true'">$(GennedPackageVersionPropsPath)</IncludedPackageVersionPropsFile>
|
||||
<IncludedPackageVersionPropsFile>$(GennedPackageVersionPropsPath)</IncludedPackageVersionPropsFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -63,8 +63,8 @@
|
|||
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:BuildAllOOBPackages=true</LibrariesBuildArguments>
|
||||
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:KeepNativeSymbols=true</LibrariesBuildArguments>
|
||||
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:BuiltSdkPackageOverride=""</LibrariesBuildArguments> <!-- Clear PackageOverride for Libraries - it only applies to coreclr -->
|
||||
<LibrariesBuildArguments Condition="'$(OfflineBuild)' == 'true'">$(LibrariesBuildArguments) /p:MicrosoftNETCoreDotNetHostPackageVersion=$(DOTNET_HOST_BOOTSTRAP_VERSION)</LibrariesBuildArguments>
|
||||
<LibrariesBuildArguments Condition="'$(OfflineBuild)' == 'true'">$(LibrariesBuildArguments) /p:MicrosoftNETCoreDotNetHostPolicyPackageVersion=$(DOTNET_HOST_BOOTSTRAP_VERSION)</LibrariesBuildArguments>
|
||||
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:MicrosoftNETCoreDotNetHostPackageVersion=$(DOTNET_HOST_BOOTSTRAP_VERSION)</LibrariesBuildArguments>
|
||||
<LibrariesBuildArguments>$(LibrariesBuildArguments) /p:MicrosoftNETCoreDotNetHostPolicyPackageVersion=$(DOTNET_HOST_BOOTSTRAP_VERSION)</LibrariesBuildArguments>
|
||||
|
||||
|
||||
<!-- installer -->
|
||||
|
@ -120,8 +120,8 @@
|
|||
<EnvironmentRestoreSources>$(SourceBuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources>$(EnvironmentRestoreSources)%3B$(ShippingPackagesOutput)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources>$(EnvironmentRestoreSources)%3B$(NonShippingPackagesOutput)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' == 'true'">$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' != 'true'">$(EnvironmentRestoreSources)%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources>$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(BuildWithOnlineSources)' == 'true'">$(EnvironmentRestoreSources)%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json</EnvironmentRestoreSources>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
|
||||
<EnvironmentRestoreSources>$(SourceBuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' == 'true'">$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(OfflineBuild)' != 'true'">$(EnvironmentRestoreSources)%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources>$(EnvironmentRestoreSources)%3B$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</EnvironmentRestoreSources>
|
||||
<EnvironmentRestoreSources Condition="'$(BuildWithOnlineSources)' == 'true'">$(EnvironmentRestoreSources)%3Bhttps://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json</EnvironmentRestoreSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<Target Name="AcquireDarcCore">
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Installing Darc." />
|
||||
<Exec Command="$(RepositoryEngineeringDir)common/darc-init.sh --darcversion $(DarcVersion) --toolpath $(DarcInstallDir)" />
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Done installing Darc." />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
<Import Project="$(OfflineAllRepoPropsFile)" Condition="Exists('$(OfflineAllRepoPropsFile)')" />
|
||||
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteSourceRepoProperties" />
|
||||
<UsingTask AssemblyFile="$(LeakDetectionTasksAssembly)" TaskName="MarkAndCatalogPackages" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="NuGetPack" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ZipFileExtractToDirectory" />
|
||||
|
@ -15,10 +14,7 @@
|
|||
<BuildTasksTarget Include="Restore;Build;InstallResolver" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- TODO: Don't setup these sources now. Need a switch for building to check prebuilts.
|
||||
Currently, tarball build allows online restore sources.
|
||||
See https://github.com/dotnet/source-build/issues/2255 -->
|
||||
<PropertyGroup Condition="'$(OfflineBuild)' == 'true' AND 'false' == 'true' ">
|
||||
<PropertyGroup Condition=" '$(BuildWithOnlineSources)' != 'true' ">
|
||||
<BuildTasksOfflineSources>$(ReferencePackagesDir)%3B$(PrebuiltPackagesPath)</BuildTasksOfflineSources>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -42,7 +38,6 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="UnpackTarballs"
|
||||
Condition="'$(OfflineBuild)' == 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)UnpackTarballs.complete" >
|
||||
|
||||
|
@ -115,7 +110,6 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="BuildTextOnlyPackages"
|
||||
Condition="'$(OfflineBuild)' == 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)BuildTextOnlyPackages.complete">
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Packing text-only packages." />
|
||||
|
@ -136,7 +130,6 @@
|
|||
|
||||
<Target Name="ExtractToolPackage"
|
||||
DependsOnTargets="UnpackTarballs;BuildXPlatTasks"
|
||||
Condition="'$(OfflineBuild)' == 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)ExtractToolPackage.complete">
|
||||
<ZipFileExtractToDirectory SourceArchive="$(PrebuiltSourceBuiltPackagesPath)Microsoft.DotNet.Arcade.Sdk.$(ARCADE_BOOTSTRAP_VERSION).nupkg"
|
||||
|
@ -166,7 +159,7 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="PoisonPrebuiltPackages"
|
||||
Condition="'$(EnablePoison)' == 'true' and '$(OfflineBuild)' == 'true'"
|
||||
Condition="'$(EnablePoison)' == 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)PoisonPrebuiltPackages.complete">
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
<UsageData>
|
||||
<CreatedByRid>centos.7-x64</CreatedByRid>
|
||||
<ProjectDirectories>
|
||||
<Dir>src/ApplicationInsights-dotnet.53b80940842204f78708a538628288ff5d741a1d/</Dir>
|
||||
<Dir>src/arcade.6eec4404c2df5bfa46e5da52383c881c5cca3a9f/</Dir>
|
||||
<Dir>src/xdt.c01a538851a8ab1a1fbeb2e6243f391fff7587b4/</Dir>
|
||||
<Dir>src/dotnet-aspnetcore.2670c128d522473e146ff9f8159bfffdfe694cd9/</Dir>
|
||||
<Dir>src/cliCommandLineParser.0e89c2116ad28e404ba56c14d1c3f938caa25a01/</Dir>
|
||||
<Dir>src/command-line-api.afd010ba8cb3cbd714c734465d1a5de1ee133e2d/</Dir>
|
||||
<Dir>src/common.6e37cdfe96ac8b06a923242120169fafacd720e6/</Dir>
|
||||
<Dir>src/cssparser.d6d86bcd8c162b1ae22ef00955ff748d028dd0ee/</Dir>
|
||||
<Dir>src/diagnostics.47296ca69bb66180c132f3b16667f904dfc7c6c7/</Dir>
|
||||
<Dir>src/fsharp.da6be68280c89131cdba2045525b80890401defd/</Dir>
|
||||
<Dir>src/Humanizer.b30550eed103a6970d8465fe7c5c16300b70be81/</Dir>
|
||||
<Dir>src/dotnet-installer.71365b4d424b0860ceb9ad8ee47f7cd08c55c362/</Dir>
|
||||
<Dir>src/known-good-tests./</Dir>
|
||||
<Dir>src/known-good./</Dir>
|
||||
<Dir>src/linker.25604250cf2663aed6630e305cc0538aeebda80a/</Dir>
|
||||
<Dir>src/msbuild.39993bd9d02917993b6147a9973dc3aa6e9b00c7/</Dir>
|
||||
<Dir>src/netcorecli-fsc/</Dir>
|
||||
<Dir>src/Newtonsoft.Json.cac0690ad133c5e166ce5642dc71175791404fad/</Dir>
|
||||
<Dir>src/Newtonsoft.Json.e43dae94c26f0c30e9095327a3a9eac87193923d/</Dir>
|
||||
<Dir>src/NuGet.Client.830c8be45dbbccd411ecf6080abff0c2c98079cf/</Dir>
|
||||
<Dir>src/package-source-build/</Dir>
|
||||
<Dir>src/roslyn-analyzers.77b259353aa44ec1510951a75c6e7ed6e662a001/</Dir>
|
||||
<Dir>src/roslyn.9ed4b774d20940880de8df1ca8b07508aa01c8cd/</Dir>
|
||||
<Dir>src/dotnet-runtime.cb5f173b9696d9d00a544b953d95190ab3b56df2/</Dir>
|
||||
<Dir>src/dotnet-runtime.cb5f173b9696d9d00a544b953d95190ab3b56df2/</Dir>
|
||||
<Dir>src/dotnet-sdk.ef14c79a16171496e2d972edd9a7874d596f624d/</Dir>
|
||||
<Dir>src/sourcelink.f175b06862f889474b689a57527e489101c774cc/</Dir>
|
||||
<Dir>src/symreader.f8a3ba85aed339fb8d08ca26f3876b28c32d58ee/</Dir>
|
||||
<Dir>src/templating.568c09b99075179607c572f7b9f3ad3d706f1fc3/</Dir>
|
||||
<Dir>src/test-templates.956e14dedd3a3ac981b320d66c6d389387a2954a/</Dir>
|
||||
<Dir>src/vstest.212656d7b384a506aa714999f678b3ace82d114e/</Dir>
|
||||
<Dir>src/xliff-tasks.a52f3d7fb58470749ee4035fbbcb7e63c78b0459/</Dir>
|
||||
<Dir>Tools/</Dir>
|
||||
<Dir>tools-local/tasks/</Dir>
|
||||
<Dir>artifacts/obj/</Dir>
|
||||
<Dir></Dir>
|
||||
</ProjectDirectories>
|
||||
<Usages>
|
||||
<Usage Id="Microsoft.DotNet.Web.ItemTemplates" Version="5.0.2" />
|
||||
<Usage Id="Microsoft.DotNet.Web.ProjectTemplates.5.0" Version="5.0.2" />
|
||||
<Usage Id="Microsoft.DotNet.Web.Spa.ProjectTemplates.5.0" Version="5.0.2" />
|
||||
</Usages>
|
||||
</UsageData>
|
|
@ -1,457 +0,0 @@
|
|||
<UsageData>
|
||||
<CreatedByRid>centos.7-x64</CreatedByRid>
|
||||
<ProjectDirectories>
|
||||
<Dir>artifacts/src/ApplicationInsights-dotnet.53b80940842204f78708a538628288ff5d741a1d/</Dir>
|
||||
<Dir>artifacts/src/arcade.6eec4404c2df5bfa46e5da52383c881c5cca3a9f/</Dir>
|
||||
<Dir>artifacts/src/xdt.c01a538851a8ab1a1fbeb2e6243f391fff7587b4/</Dir>
|
||||
<Dir>artifacts/src/dotnet-aspnetcore.b7a2ec8c7ed6b48857af0a69688a73e8c14fe6cb/</Dir>
|
||||
<Dir>artifacts/src/CliCommandLineParser.0e89c2116ad28e404ba56c14d1c3f938caa25a01/</Dir>
|
||||
<Dir>artifacts/src/command-line-api.6ddde11ed45e3f4b9d80c97670f347dbfda15c3f/</Dir>
|
||||
<Dir>artifacts/src/common.6e37cdfe96ac8b06a923242120169fafacd720e6/</Dir>
|
||||
<Dir>artifacts/src/cssparser.d6d86bcd8c162b1ae22ef00955ff748d028dd0ee/</Dir>
|
||||
<Dir>artifacts/src/diagnostics.47296ca69bb66180c132f3b16667f904dfc7c6c7/</Dir>
|
||||
<Dir>artifacts/src/fsharp.7ce7132f1459095e635194d09d6f73265352029a/</Dir>
|
||||
<Dir>artifacts/src/Humanizer.b30550eed103a6970d8465fe7c5c16300b70be81/</Dir>
|
||||
<Dir>artifacts/src/dotnet-installer.db7cc87d512335808e3806067f2bf9b31379e1db/</Dir>
|
||||
<Dir>artifacts/src/known-good-tests./</Dir>
|
||||
<Dir>artifacts/src/known-good./</Dir>
|
||||
<Dir>artifacts/src/linker.c43f981eec336c1dc4fd0ead84b5e09db9377d9e/</Dir>
|
||||
<Dir>artifacts/src/msbuild.5e4b48a27efce55a613664b58d353ab4c8d1f6c1/</Dir>
|
||||
<Dir>src/netcorecli-fsc/</Dir>
|
||||
<Dir>artifacts/src/Newtonsoft.Json.cac0690ad133c5e166ce5642dc71175791404fad/</Dir>
|
||||
<Dir>artifacts/src/Newtonsoft.Json.e43dae94c26f0c30e9095327a3a9eac87193923d/</Dir>
|
||||
<Dir>artifacts/src/nuget.client.d525b0e670f3b6cbd5c73a35f04730a9f658c852/</Dir>
|
||||
<Dir>src/package-source-build/</Dir>
|
||||
<Dir>artifacts/src/roslyn-analyzers.ce71b27be743710012c0460071da188b2f05959c/</Dir>
|
||||
<Dir>artifacts/src/roslyn.59eedc33d35754759994155ea2f4e1012a9951e3/</Dir>
|
||||
<Dir>artifacts/src/dotnet-runtime.2f740adc1457e8a28c1c072993b66f515977eb51/</Dir>
|
||||
<Dir>artifacts/src/dotnet-runtime.2f740adc1457e8a28c1c072993b66f515977eb51/</Dir>
|
||||
<Dir>artifacts/src/dotnet-sdk.51369266643769f9f0c1184e89715cd1045126d0/</Dir>
|
||||
<Dir>artifacts/src/sourcelink.f175b06862f889474b689a57527e489101c774cc/</Dir>
|
||||
<Dir>artifacts/src/symreader.f8a3ba85aed339fb8d08ca26f3876b28c32d58ee/</Dir>
|
||||
<Dir>artifacts/src/templating.8470ff317250d761c72f920b8ea1c0700b230eb3/</Dir>
|
||||
<Dir>artifacts/src/test-templates.956e14dedd3a3ac981b320d66c6d389387a2954a/</Dir>
|
||||
<Dir>artifacts/src/vstest.99b911a57a02fc5d2eeef23e9ab8cbea4505678b/</Dir>
|
||||
<Dir>artifacts/src/xliff-tasks.a52f3d7fb58470749ee4035fbbcb7e63c78b0459/</Dir>
|
||||
<Dir>Tools/</Dir>
|
||||
<Dir>tools-local/tasks/</Dir>
|
||||
<Dir>artifacts/obj/</Dir>
|
||||
<Dir></Dir>
|
||||
</ProjectDirectories>
|
||||
<Usages>
|
||||
<!-- OSX-only prebuilts. please do not remove these when updating this baseline, except for updating versions when necessary -->
|
||||
<Usage Id="Microsoft.AspNetCore.App.Runtime.linux-x64" Version="5.0.0-rc.1.20451.17" />
|
||||
<Usage Id="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="4.8.1-servicing.19605.5" />
|
||||
<Usage Id="Microsoft.Dotnet.WinForms.ProjectTemplates" Version="5.0.0-rc.1.20451.14" />
|
||||
<Usage Id="Microsoft.NETCore.App.Host.linux-x64" Version="5.0.0-rc.1.20451.14" />
|
||||
<!-- End OSX-only prebuilts -->
|
||||
<Usage Id="MicroBuild.Core" Version="0.2.0" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="MicroBuild.Core" Version="0.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="MicroBuild.Core.Sentinel" Version="1.0.0" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.AspNetCore.App.Ref" Version="3.0.1" />
|
||||
<Usage Id="Microsoft.AspNetCore.App.Ref" Version="3.1.10" />
|
||||
<Usage Id="Microsoft.AspNetCore.App.Ref" Version="5.0.0" />
|
||||
<Usage Id="Microsoft.AspNetCore.Components.WebAssembly.Templates" Version="3.2.1" />
|
||||
<Usage Id="Microsoft.Bcl.AsyncInterfaces" Version="1.1.0" />
|
||||
<Usage Id="Microsoft.Bcl.AsyncInterfaces" Version="5.0.0-rc.1.20451.14" />
|
||||
<Usage Id="Microsoft.Build" Version="15.7.179" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.CentralPackageVersions" Version="2.0.1" />
|
||||
<Usage Id="Microsoft.Build.Framework" Version="15.1.1012" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Framework" Version="15.3.409" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Framework" Version="15.4.8" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Framework" Version="15.7.179" />
|
||||
<Usage Id="Microsoft.Build.Tasks.Core" Version="15.3.409" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Tasks.Core" Version="15.7.179" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Traversal" Version="2.1.1" />
|
||||
<Usage Id="Microsoft.Build.Utilities.Core" Version="15.1.1012" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Utilities.Core" Version="15.3.409" />
|
||||
<Usage Id="Microsoft.Build.Utilities.Core" Version="15.4.8" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Utilities.Core" Version="15.7.179" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Analyzers" Version="2.6.1" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Analyzers" Version="2.9.6" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Analyzers" Version="3.0.0" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Common" Version="2.9.0" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Common" Version="3.4.0" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Common" Version="3.8.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.CSharp" Version="2.9.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.CSharp" Version="3.4.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.CSharp.CodeStyle" Version="3.8.0-5.20519.18" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.CSharp.CodeStyle" Version="3.8.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.VisualBasic.CodeStyle" Version="3.8.0-5.20519.18" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.VisualBasic.CodeStyle" Version="3.8.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CSharp" Version="4.0.1" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CSharp" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Docker.Sdk" Version="1.1.0" />
|
||||
<Usage Id="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20426.4" />
|
||||
<Usage Id="Microsoft.DotNet.Common.ItemTemplates" Version="1.0.2-beta3" />
|
||||
<Usage Id="Microsoft.DotNet.Common.ItemTemplates" Version="2.0.0-preview8.19373.1" />
|
||||
<Usage Id="Microsoft.DotNet.Common.ItemTemplates" Version="3.1.10" />
|
||||
<Usage Id="Microsoft.DotNet.PlatformAbstractions" Version="2.1.0" />
|
||||
<Usage Id="Microsoft.DotNet.SignTool" Version="5.0.0-beta.20426.4" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="microsoft.dotnet.templateLocator" Version="5.0.100-rc.1.20421.19" />
|
||||
<Usage Id="Microsoft.DotNet.Web.ItemTemplates" Version="2.1.27" />
|
||||
<Usage Id="Microsoft.DotNet.Web.ItemTemplates" Version="3.0.1" />
|
||||
<Usage Id="Microsoft.DotNet.Web.ItemTemplates" Version="3.1.14" />
|
||||
<Usage Id="Microsoft.DotNet.Web.ProjectTemplates.2.1" Version="2.1.27" />
|
||||
<Usage Id="Microsoft.DotNet.Web.ProjectTemplates.3.0" Version="3.0.1" />
|
||||
<Usage Id="Microsoft.DotNet.Web.ProjectTemplates.3.1" Version="3.1.14" />
|
||||
<Usage Id="Microsoft.DotNet.Web.Spa.ProjectTemplates.2.1" Version="2.1.27" />
|
||||
<Usage Id="Microsoft.DotNet.Web.Spa.ProjectTemplates.3.0" Version="3.0.1" />
|
||||
<Usage Id="Microsoft.DotNet.Web.Spa.ProjectTemplates.3.1" Version="3.1.14" />
|
||||
<Usage Id="Microsoft.Extensions.DependencyInjection" Version="5.0.0" />
|
||||
<Usage Id="Microsoft.Extensions.DependencyModel" Version="2.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Extensions.DependencyModel" Version="3.1.6" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.FSharp.Compiler" Version="11.3.2-beta.21102.9" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.NET.Sdk.IL" Version="5.0.0-preview.8.20359.4" />
|
||||
<Usage Id="Microsoft.NETCore.App" Version="2.0.0" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.NETCore.App" Version="2.1.0" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.NETCore.App.Ref" Version="3.0.0" />
|
||||
<Usage Id="Microsoft.NETCore.App.Ref" Version="3.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.App.Ref" Version="5.0.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetAppHost" Version="2.0.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetAppHost" Version="2.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetHostPolicy" Version="2.0.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetHostPolicy" Version="2.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetHostResolver" Version="2.0.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetHostResolver" Version="2.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.Platforms" Version="1.0.1" />
|
||||
<Usage Id="Microsoft.NETCore.Platforms" Version="1.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.Platforms" Version="1.1.1" />
|
||||
<Usage Id="Microsoft.NETCore.Platforms" Version="2.0.0" />
|
||||
<Usage Id="Microsoft.NETCore.Platforms" Version="2.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.NETCore.Platforms" Version="2.1.2" />
|
||||
<Usage Id="Microsoft.NETCore.Platforms" Version="3.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.Targets" Version="1.0.1" />
|
||||
<Usage Id="Microsoft.NETCore.Targets" Version="1.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.Targets" Version="1.1.3" />
|
||||
<Usage Id="Microsoft.NETCore.Targets" Version="2.1.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0-preview.2" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net20" Version="1.0.0-preview.2" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net45" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net46" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net461" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net462" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net47" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.0-preview.2" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net48" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.SymbolUploader.Build.Task" Version="1.1.141804" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="1.16.30" />
|
||||
<Usage Id="Microsoft.Win32.Primitives" Version="4.0.1" />
|
||||
<Usage Id="Microsoft.Win32.Primitives" Version="4.3.0" />
|
||||
<Usage Id="Microsoft.Win32.Registry" Version="4.0.0" />
|
||||
<Usage Id="Microsoft.Win32.Registry" Version="4.3.0" />
|
||||
<Usage Id="Microsoft.Win32.Registry" Version="4.7.0" />
|
||||
<Usage Id="Microsoft.Win32.SystemEvents" Version="4.7.0" />
|
||||
<Usage Id="NETStandard.Library" Version="1.6.0" />
|
||||
<Usage Id="NETStandard.Library" Version="1.6.1" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="NETStandard.Library" Version="2.0.0" />
|
||||
<Usage Id="NETStandard.Library" Version="2.0.3" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="NETStandard.Library" Version="2.2.0-prerelease.19564.1" />
|
||||
<Usage Id="NETStandard.Library.NETFramework" Version="2.0.1-servicing-26011-01" IsDirectDependency="true" />
|
||||
<Usage Id="NETStandard.Library.Ref" Version="2.1.0" />
|
||||
<Usage Id="NuGet.Commands" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Common" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.Common" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Configuration" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.Configuration" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Credentials" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.DependencyResolver.Core" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.DependencyResolver.Core" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Frameworks" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.Frameworks" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.LibraryModel" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.LibraryModel" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Packaging" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.Packaging" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.ProjectModel" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.ProjectModel" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Protocol" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.Protocol" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Versioning" Version="4.4.0" IsDirectDependency="true" />
|
||||
<Usage Id="NuGet.Versioning" Version="5.1.0+08414feaac77473f29f6ac182ab4c390ecd3542f" />
|
||||
<Usage Id="NuGet.Versioning" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NUnit3.DotNetNew.Template" Version="1.5.3" />
|
||||
<Usage Id="NUnit3.DotNetNew.Template" Version="1.6.5" />
|
||||
<Usage Id="NUnit3.DotNetNew.Template" Version="1.7.2" />
|
||||
<Usage Id="NUnit3.DotNetNew.Template" Version="1.8.1" />
|
||||
<Usage Id="runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="debian.8-x64" />
|
||||
<Usage Id="runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="debian.8-x64" />
|
||||
<Usage Id="runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="fedora.23-x64" />
|
||||
<Usage Id="runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="fedora.23-x64" />
|
||||
<Usage Id="runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="fedora.24-x64" />
|
||||
<Usage Id="runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="fedora.24-x64" />
|
||||
<Usage Id="runtime.native.System" Version="4.0.0" />
|
||||
<Usage Id="runtime.native.System" Version="4.3.0" />
|
||||
<Usage Id="runtime.native.System.Data.SqlClient.sni" Version="4.7.0" />
|
||||
<Usage Id="runtime.native.System.IO.Compression" Version="4.1.0" />
|
||||
<Usage Id="runtime.native.System.IO.Compression" Version="4.3.0" />
|
||||
<Usage Id="runtime.native.System.Net.Http" Version="4.0.1" />
|
||||
<Usage Id="runtime.native.System.Net.Http" Version="4.3.0" />
|
||||
<Usage Id="runtime.native.System.Net.Security" Version="4.3.0" />
|
||||
<Usage Id="runtime.native.System.Security.Cryptography" Version="4.0.0" />
|
||||
<Usage Id="runtime.native.System.Security.Cryptography.Apple" Version="4.3.0" />
|
||||
<Usage Id="runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" />
|
||||
<Usage Id="runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" />
|
||||
<Usage Id="runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="opensuse.13.2-x64" />
|
||||
<Usage Id="runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="opensuse.13.2-x64" />
|
||||
<Usage Id="runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="opensuse.42.1-x64" />
|
||||
<Usage Id="runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="opensuse.42.1-x64" />
|
||||
<Usage Id="runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple" Version="4.3.0" Rid="osx.10.10-x64" />
|
||||
<Usage Id="runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="osx.10.10-x64" />
|
||||
<Usage Id="runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="osx.10.10-x64" />
|
||||
<Usage Id="runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="rhel.7-x64" />
|
||||
<Usage Id="runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="rhel.7-x64" />
|
||||
<Usage Id="runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="ubuntu.14.04-x64" />
|
||||
<Usage Id="runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="ubuntu.14.04-x64" />
|
||||
<Usage Id="runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="ubuntu.16.04-x64" />
|
||||
<Usage Id="runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="ubuntu.16.04-x64" />
|
||||
<Usage Id="runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.0" Rid="ubuntu.16.10-x64" />
|
||||
<Usage Id="runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl" Version="4.3.2" Rid="ubuntu.16.10-x64" />
|
||||
<Usage Id="runtime.win-arm64.runtime.native.System.Data.SqlClient.sni" Version="4.4.0" Rid="win-arm64" />
|
||||
<Usage Id="runtime.win-x64.runtime.native.System.Data.SqlClient.sni" Version="4.4.0" Rid="win-x64" />
|
||||
<Usage Id="runtime.win-x86.runtime.native.System.Data.SqlClient.sni" Version="4.4.0" Rid="win-x86" />
|
||||
<Usage Id="sn" Version="1.0.0" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="System.AppContext" Version="4.1.0" />
|
||||
<Usage Id="System.AppContext" Version="4.3.0" />
|
||||
<Usage Id="System.Buffers" Version="4.0.0" />
|
||||
<Usage Id="System.Buffers" Version="4.3.0" />
|
||||
<Usage Id="System.Buffers" Version="4.4.0" />
|
||||
<Usage Id="System.Buffers" Version="4.5.0" />
|
||||
<Usage Id="System.Buffers" Version="4.5.1" />
|
||||
<Usage Id="System.CodeDom" Version="4.4.0" />
|
||||
<Usage Id="System.Collections" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Collections" Version="4.3.0" />
|
||||
<Usage Id="System.Collections.Concurrent" Version="4.0.12" />
|
||||
<Usage Id="System.Collections.Concurrent" Version="4.3.0" />
|
||||
<Usage Id="System.Collections.Immutable" Version="1.2.0" />
|
||||
<Usage Id="System.Collections.Immutable" Version="1.3.0" />
|
||||
<Usage Id="System.Collections.Immutable" Version="1.3.1" />
|
||||
<Usage Id="System.Collections.Immutable" Version="1.4.0" />
|
||||
<Usage Id="System.Collections.Immutable" Version="1.5.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Collections.Immutable" Version="1.6.0" />
|
||||
<Usage Id="System.Collections.Immutable" Version="1.7.0" />
|
||||
<Usage Id="System.Collections.Immutable" Version="1.7.1" />
|
||||
<Usage Id="System.Collections.NonGeneric" Version="4.0.1" />
|
||||
<Usage Id="System.Collections.NonGeneric" Version="4.3.0" />
|
||||
<Usage Id="System.Collections.Specialized" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.ComponentModel" Version="4.3.0" />
|
||||
<Usage Id="System.ComponentModel.Annotations" Version="4.7.0" />
|
||||
<Usage Id="System.ComponentModel.Composition" Version="4.5.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.ComponentModel.Primitives" Version="4.3.0" />
|
||||
<Usage Id="System.ComponentModel.TypeConverter" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Composition" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.AttributedModel" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.Convention" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.Hosting" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.Runtime" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.TypedParts" Version="1.0.31" />
|
||||
<Usage Id="System.Console" Version="4.0.0" />
|
||||
<Usage Id="System.Console" Version="4.3.0" />
|
||||
<Usage Id="System.Data.SqlClient" Version="4.8.1" IsDirectDependency="true" />
|
||||
<Usage Id="System.Diagnostics.Contracts" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Diagnostics.Debug" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Diagnostics.Debug" Version="4.3.0" />
|
||||
<Usage Id="System.Diagnostics.DiagnosticSource" Version="4.3.0" />
|
||||
<Usage Id="System.Diagnostics.DiagnosticSource" Version="4.4.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Diagnostics.FileVersionInfo" Version="4.0.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Diagnostics.FileVersionInfo" Version="4.3.0" />
|
||||
<Usage Id="System.Diagnostics.Process" Version="4.1.0" />
|
||||
<Usage Id="System.Diagnostics.Process" Version="4.3.0" />
|
||||
<Usage Id="System.Diagnostics.StackTrace" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Diagnostics.Tools" Version="4.0.1" />
|
||||
<Usage Id="System.Diagnostics.Tools" Version="4.3.0" />
|
||||
<Usage Id="System.Diagnostics.TraceSource" Version="4.0.0" />
|
||||
<Usage Id="System.Diagnostics.TraceSource" Version="4.3.0" />
|
||||
<Usage Id="System.Diagnostics.Tracing" Version="4.1.0" />
|
||||
<Usage Id="System.Diagnostics.Tracing" Version="4.3.0" />
|
||||
<Usage Id="System.Drawing.Common" Version="4.7.0" />
|
||||
<Usage Id="System.Dynamic.Runtime" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Dynamic.Runtime" Version="4.3.0" />
|
||||
<Usage Id="System.Globalization" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Globalization" Version="4.3.0" />
|
||||
<Usage Id="System.Globalization.Calendars" Version="4.0.1" />
|
||||
<Usage Id="System.Globalization.Calendars" Version="4.3.0" />
|
||||
<Usage Id="System.Globalization.Extensions" Version="4.0.1" />
|
||||
<Usage Id="System.Globalization.Extensions" Version="4.3.0" />
|
||||
<Usage Id="System.IO" Version="4.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.IO" Version="4.3.0" />
|
||||
<Usage Id="System.IO.Compression" Version="4.1.0" />
|
||||
<Usage Id="System.IO.Compression" Version="4.3.0" />
|
||||
<Usage Id="System.IO.Compression.ZipFile" Version="4.0.1" />
|
||||
<Usage Id="System.IO.Compression.ZipFile" Version="4.3.0" />
|
||||
<Usage Id="System.IO.FileSystem" Version="4.0.1" />
|
||||
<Usage Id="System.IO.FileSystem" Version="4.3.0" />
|
||||
<Usage Id="System.IO.FileSystem.Primitives" Version="4.0.1" />
|
||||
<Usage Id="System.IO.FileSystem.Primitives" Version="4.3.0" />
|
||||
<Usage Id="System.IO.MemoryMappedFiles" Version="4.3.0" />
|
||||
<Usage Id="System.IO.Pipelines" Version="5.0.0" />
|
||||
<Usage Id="System.IO.Pipes" Version="4.3.0" />
|
||||
<Usage Id="System.IO.Pipes.AccessControl" Version="4.3.0" />
|
||||
<Usage Id="System.IO.Pipes.AccessControl" Version="4.5.1" IsDirectDependency="true" />
|
||||
<Usage Id="System.IO.UnmanagedMemoryStream" Version="4.3.0" />
|
||||
<Usage Id="System.Linq" Version="4.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Linq" Version="4.3.0" />
|
||||
<Usage Id="System.Linq.Expressions" Version="4.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Linq.Expressions" Version="4.3.0" />
|
||||
<Usage Id="System.Linq.Parallel" Version="4.0.1" />
|
||||
<Usage Id="System.Linq.Queryable" Version="4.3.0" />
|
||||
<Usage Id="System.Memory" Version="4.5.3" />
|
||||
<Usage Id="System.Memory" Version="4.5.4" />
|
||||
<Usage Id="System.Net.Http" Version="4.1.0" />
|
||||
<Usage Id="System.Net.Http" Version="4.3.0" />
|
||||
<Usage Id="System.Net.Http" Version="4.3.4" IsDirectDependency="true" />
|
||||
<Usage Id="System.Net.Primitives" Version="4.0.11" />
|
||||
<Usage Id="System.Net.Primitives" Version="4.3.0" />
|
||||
<Usage Id="System.Net.Requests" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Net.Requests" Version="4.3.0" />
|
||||
<Usage Id="System.Net.Security" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Net.Sockets" Version="4.1.0" />
|
||||
<Usage Id="System.Net.Sockets" Version="4.3.0" />
|
||||
<Usage Id="System.Net.WebHeaderCollection" Version="4.0.1" />
|
||||
<Usage Id="System.Net.WebHeaderCollection" Version="4.3.0" />
|
||||
<Usage Id="System.Numerics.Vectors" Version="4.4.0" />
|
||||
<Usage Id="System.Numerics.Vectors" Version="4.5.0" />
|
||||
<Usage Id="System.ObjectModel" Version="4.0.12" IsDirectDependency="true" />
|
||||
<Usage Id="System.ObjectModel" Version="4.3.0" />
|
||||
<Usage Id="System.Private.DataContractSerialization" Version="4.1.1" />
|
||||
<Usage Id="System.Reflection" Version="4.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Reflection" Version="4.3.0" />
|
||||
<Usage Id="System.Reflection.Emit" Version="4.0.1" />
|
||||
<Usage Id="System.Reflection.Emit" Version="4.3.0" />
|
||||
<Usage Id="System.Reflection.Emit.ILGeneration" Version="4.0.1" />
|
||||
<Usage Id="System.Reflection.Emit.ILGeneration" Version="4.3.0" />
|
||||
<Usage Id="System.Reflection.Emit.Lightweight" Version="4.0.1" />
|
||||
<Usage Id="System.Reflection.Emit.Lightweight" Version="4.3.0" />
|
||||
<Usage Id="System.Reflection.Extensions" Version="4.0.1" IsDirectDependency="true" />
|
||||
<Usage Id="System.Reflection.Extensions" Version="4.3.0" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="1.3.0" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="1.4.1" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="1.4.2" IsDirectDependency="true" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="1.5.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="1.6.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="1.7.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="1.8.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="1.8.1" />
|
||||
<Usage Id="System.Reflection.Primitives" Version="4.0.1" />
|
||||
<Usage Id="System.Reflection.Primitives" Version="4.3.0" />
|
||||
<Usage Id="System.Reflection.TypeExtensions" Version="4.1.0" />
|
||||
<Usage Id="System.Reflection.TypeExtensions" Version="4.3.0" />
|
||||
<Usage Id="System.Resources.Reader" Version="4.0.0" />
|
||||
<Usage Id="System.Resources.ResourceManager" Version="4.0.1" IsDirectDependency="true" />
|
||||
<Usage Id="System.Resources.ResourceManager" Version="4.3.0" />
|
||||
<Usage Id="System.Resources.Writer" Version="4.0.0" />
|
||||
<Usage Id="System.Runtime" Version="4.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Runtime" Version="4.3.0" />
|
||||
<Usage Id="System.Runtime" Version="4.3.1" IsDirectDependency="true" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="4.5.2" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="4.5.3" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="4.7.0" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="4.7.1" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="5.0.0-rc.1.20451.14" />
|
||||
<Usage Id="System.Runtime.Extensions" Version="4.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Runtime.Extensions" Version="4.3.0" />
|
||||
<Usage Id="System.Runtime.Handles" Version="4.0.1" />
|
||||
<Usage Id="System.Runtime.Handles" Version="4.3.0" />
|
||||
<Usage Id="System.Runtime.InteropServices" Version="4.1.0" />
|
||||
<Usage Id="System.Runtime.InteropServices" Version="4.3.0" />
|
||||
<Usage Id="System.Runtime.InteropServices.RuntimeInformation" Version="4.0.0" />
|
||||
<Usage Id="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" />
|
||||
<Usage Id="System.Runtime.Loader" Version="4.0.0" />
|
||||
<Usage Id="System.Runtime.Loader" Version="4.3.0" />
|
||||
<Usage Id="System.Runtime.Numerics" Version="4.0.1" />
|
||||
<Usage Id="System.Runtime.Numerics" Version="4.3.0" />
|
||||
<Usage Id="System.Runtime.Serialization.Formatters" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Runtime.Serialization.Primitives" Version="4.1.1" IsDirectDependency="true" />
|
||||
<Usage Id="System.Runtime.Serialization.Primitives" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Runtime.Serialization.Xml" Version="4.1.1" />
|
||||
<Usage Id="System.Security.AccessControl" Version="4.3.0" />
|
||||
<Usage Id="System.Security.AccessControl" Version="4.5.0" />
|
||||
<Usage Id="System.Security.AccessControl" Version="4.7.0" />
|
||||
<Usage Id="System.Security.Claims" Version="4.0.1" />
|
||||
<Usage Id="System.Security.Claims" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.Algorithms" Version="4.2.0" />
|
||||
<Usage Id="System.Security.Cryptography.Algorithms" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.Algorithms" Version="4.3.1" />
|
||||
<Usage Id="System.Security.Cryptography.Cng" Version="4.2.0" />
|
||||
<Usage Id="System.Security.Cryptography.Cng" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.Cng" Version="4.7.0" />
|
||||
<Usage Id="System.Security.Cryptography.Csp" Version="4.0.0" />
|
||||
<Usage Id="System.Security.Cryptography.Csp" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.Encoding" Version="4.0.0" />
|
||||
<Usage Id="System.Security.Cryptography.Encoding" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.OpenSsl" Version="4.0.0" />
|
||||
<Usage Id="System.Security.Cryptography.OpenSsl" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.Pkcs" Version="4.7.0" />
|
||||
<Usage Id="System.Security.Cryptography.Pkcs" Version="5.0.0" />
|
||||
<Usage Id="System.Security.Cryptography.Primitives" Version="4.0.0" />
|
||||
<Usage Id="System.Security.Cryptography.Primitives" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.ProtectedData" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.X509Certificates" Version="4.1.0" />
|
||||
<Usage Id="System.Security.Cryptography.X509Certificates" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Cryptography.Xml" Version="4.7.0" />
|
||||
<Usage Id="System.Security.Permissions" Version="4.5.0" />
|
||||
<Usage Id="System.Security.Permissions" Version="4.7.0" />
|
||||
<Usage Id="System.Security.Principal" Version="4.0.1" />
|
||||
<Usage Id="System.Security.Principal" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Principal.Windows" Version="4.0.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Security.Principal.Windows" Version="4.3.0" />
|
||||
<Usage Id="System.Security.Principal.Windows" Version="4.5.0" />
|
||||
<Usage Id="System.Security.Principal.Windows" Version="4.7.0" />
|
||||
<Usage Id="System.Text.Encoding" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Text.Encoding" Version="4.3.0" />
|
||||
<Usage Id="System.Text.Encoding.CodePages" Version="4.0.1" />
|
||||
<Usage Id="System.Text.Encoding.CodePages" Version="4.3.0" />
|
||||
<Usage Id="System.Text.Encoding.CodePages" Version="4.4.0" />
|
||||
<Usage Id="System.Text.Encoding.CodePages" Version="4.5.1" />
|
||||
<Usage Id="System.Text.Encoding.Extensions" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Text.Encoding.Extensions" Version="4.3.0" />
|
||||
<Usage Id="System.Text.Encodings.Web" Version="4.7.0" />
|
||||
<Usage Id="System.Text.Encodings.Web" Version="4.7.1" />
|
||||
<Usage Id="System.Text.Encodings.Web" Version="5.0.0-rc.1.20451.14" />
|
||||
<Usage Id="System.Text.Json" Version="4.7.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Text.Json" Version="4.7.2" />
|
||||
<Usage Id="System.Text.Json" Version="5.0.0-rc.1.20451.14" IsDirectDependency="true" />
|
||||
<Usage Id="System.Text.RegularExpressions" Version="4.1.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Text.RegularExpressions" Version="4.3.0" />
|
||||
<Usage Id="System.Threading" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Threading" Version="4.3.0" />
|
||||
<Usage Id="System.Threading.Overlapped" Version="4.3.0" />
|
||||
<Usage Id="System.Threading.Tasks" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Threading.Tasks" Version="4.3.0" />
|
||||
<Usage Id="System.Threading.Tasks.Dataflow" Version="4.5.24" />
|
||||
<Usage Id="System.Threading.Tasks.Dataflow" Version="4.6.0" />
|
||||
<Usage Id="System.Threading.Tasks.Dataflow" Version="4.9.0" />
|
||||
<Usage Id="System.Threading.Tasks.Extensions" Version="4.0.0" />
|
||||
<Usage Id="System.Threading.Tasks.Extensions" Version="4.3.0" />
|
||||
<Usage Id="System.Threading.Tasks.Extensions" Version="4.5.3" />
|
||||
<Usage Id="System.Threading.Tasks.Extensions" Version="4.5.4" />
|
||||
<Usage Id="System.Threading.Tasks.Parallel" Version="4.3.0" />
|
||||
<Usage Id="System.Threading.Thread" Version="4.0.0" />
|
||||
<Usage Id="System.Threading.Thread" Version="4.3.0" />
|
||||
<Usage Id="System.Threading.ThreadPool" Version="4.0.10" />
|
||||
<Usage Id="System.Threading.ThreadPool" Version="4.3.0" />
|
||||
<Usage Id="System.Threading.Timer" Version="4.0.1" />
|
||||
<Usage Id="System.Threading.Timer" Version="4.3.0" />
|
||||
<Usage Id="System.ValueTuple" Version="4.3.0" />
|
||||
<Usage Id="System.ValueTuple" Version="4.4.0" />
|
||||
<Usage Id="System.ValueTuple" Version="4.5.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Windows.Extensions" Version="4.7.0" />
|
||||
<Usage Id="System.Xml.ReaderWriter" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Xml.ReaderWriter" Version="4.3.0" />
|
||||
<Usage Id="System.Xml.XDocument" Version="4.0.11" IsDirectDependency="true" />
|
||||
<Usage Id="System.Xml.XDocument" Version="4.3.0" />
|
||||
<Usage Id="System.Xml.XmlDocument" Version="4.0.1" />
|
||||
<Usage Id="System.Xml.XmlDocument" Version="4.3.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Xml.XmlSerializer" Version="4.0.11" />
|
||||
<Usage Id="System.Xml.XPath" Version="4.0.1" />
|
||||
<Usage Id="System.Xml.XPath" Version="4.3.0" />
|
||||
<Usage Id="System.Xml.XPath.XDocument" Version="4.3.0" />
|
||||
<Usage Id="System.Xml.XPath.XmlDocument" Version="4.0.1" />
|
||||
<Usage Id="vswhere" Version="2.6.7" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="XliffTasks" Version="1.0.0-beta.20420.1" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
</Usages>
|
||||
</UsageData>
|
168
src/SourceBuild/tarball/content/tools-local/prebuilt-baseline.xml
Executable file
168
src/SourceBuild/tarball/content/tools-local/prebuilt-baseline.xml
Executable file
|
@ -0,0 +1,168 @@
|
|||
<UsageData>
|
||||
<CreatedByRid>fedora.33-x64</CreatedByRid>
|
||||
<ProjectDirectories>
|
||||
<Dir>src/arcade.a3377cccde8639089f99107e2ba5df2c8cbe6394/</Dir>
|
||||
<Dir>src/aspnetcore./</Dir>
|
||||
<Dir>src/clicommandlineparser.3198bf5660cad3dab85f5475bf1fda9688146e3f/</Dir>
|
||||
<Dir>src/command-line-api.5e855e911de7c56fe28400c4500e888fe2a3da8e/</Dir>
|
||||
<Dir>src/diagnostics.6f48c2ae749c29b687af0353e6c2a9590d7e3d22/</Dir>
|
||||
<Dir>src/fsharp./</Dir>
|
||||
<Dir>src/installer.c6ec4363003b18d8e587620baa36205b80ee3074/</Dir>
|
||||
<Dir>src/known-good-tests./</Dir>
|
||||
<Dir>src/known-good./</Dir>
|
||||
<Dir>src/linker.f2588193553431636b9853b0f87209fa395a72c5/</Dir>
|
||||
<Dir>src/msbuild./</Dir>
|
||||
<Dir>src/nuget.client./</Dir>
|
||||
<Dir>src/package-source-build/</Dir>
|
||||
<Dir>src/roslyn-analyzers./</Dir>
|
||||
<Dir>src/roslyn./</Dir>
|
||||
<Dir>src/runtime./</Dir>
|
||||
<Dir>src/runtime./</Dir>
|
||||
<Dir>src/sdk./</Dir>
|
||||
<Dir>src/source-build-reference-packages.36fb56afdf0ee2fb2e0833bdef98dfde12a0837b/</Dir>
|
||||
<Dir>src/source-build.3fb25b8db3bec654e37e71a5b2b7fde14444bc2f/</Dir>
|
||||
<Dir>src/sourcelink.4b584dbc392bb1aad49c2eb1ab84d8b489b6dccc/</Dir>
|
||||
<Dir>src/symreader.1968a003d845d119a9d38ac4daaeea22897f7daf/</Dir>
|
||||
<Dir>src/templating.3bc0d90f3e450f3e4ebda128081d091fb42968e3/</Dir>
|
||||
<Dir>src/test-templates.6898c1c70c2d14e9725ddab6e1ebe8084c4d7e27/</Dir>
|
||||
<Dir>src/vstest./</Dir>
|
||||
<Dir>src/xdt.6a46e7c886cdf499ba3433f665ab417be814135e/</Dir>
|
||||
<Dir>src/xliff-tasks.71c811561ad4dcf46825a5077fbcc668ab74754f/</Dir>
|
||||
<Dir>Tools/</Dir>
|
||||
<Dir>tools-local/tasks/</Dir>
|
||||
<Dir>artifacts/obj/</Dir>
|
||||
<Dir></Dir>
|
||||
</ProjectDirectories>
|
||||
<Usages>
|
||||
<Usage Id="Microsoft.AspNetCore.App.Ref" Version="3.1.10" />
|
||||
<Usage Id="Microsoft.AspNetCore.App.Ref" Version="5.0.0" />
|
||||
<Usage Id="Microsoft.Bcl.AsyncInterfaces" Version="5.0.0" />
|
||||
<Usage Id="Microsoft.Bcl.AsyncInterfaces" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Build" Version="16.7.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Framework" Version="16.7.0" />
|
||||
<Usage Id="Microsoft.Build.Framework" Version="17.0.0-preview-21267-01" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Tasks.Core" Version="16.7.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Build.Utilities.Core" Version="16.7.0" />
|
||||
<Usage Id="Microsoft.Build.Utilities.Core" Version="17.0.0-preview-21267-01" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Analyzers" Version="2.6.1" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Analyzers" Version="3.3.2" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Common" Version="2.9.0" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Common" Version="3.10.0-2.final" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.CSharp" Version="2.9.0" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.CSharp" Version="3.10.0-2.final" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.CSharp.CodeStyle" Version="3.10.0-2.final" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="3.10.0-2.final" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.CodeAnalysis.Workspaces.Common" Version="3.10.0-2.final" />
|
||||
<Usage Id="Microsoft.CodeCoverage" Version="16.7.1" />
|
||||
<Usage Id="Microsoft.DotNet.ApiCompat" Version="6.0.0-beta.21319.2" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Extensions.Configuration" Version="2.1.1" />
|
||||
<Usage Id="Microsoft.Extensions.Configuration" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Extensions.Configuration.Abstractions" Version="2.1.1" />
|
||||
<Usage Id="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Extensions.Configuration.Binder" Version="2.1.1" />
|
||||
<Usage Id="Microsoft.Extensions.Configuration.Binder" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Extensions.DependencyInjection" Version="2.1.1" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Extensions.DependencyInjection" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.1.1" />
|
||||
<Usage Id="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Extensions.Logging" Version="2.1.1" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Extensions.Logging" Version="6.0.0-preview.3.21164.3" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Extensions.Logging.Abstractions" Version="2.1.1" />
|
||||
<Usage Id="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0-preview.3.21164.3" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Extensions.Logging.Configuration" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Extensions.Logging.Console" Version="6.0.0-preview.3.21164.3" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.Extensions.Options" Version="2.1.1" />
|
||||
<Usage Id="Microsoft.Extensions.Options" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Extensions.Primitives" Version="2.1.1" />
|
||||
<Usage Id="Microsoft.Extensions.Primitives" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="Microsoft.Net.Compilers.Toolset" Version="3.10.0-4.21310.5" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.NET.Sdk.WorkloadManifestReader" Version="6.0.100-preview.5.21254.11" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.NET.StringTools" Version="1.0.0-preview-21267-01" />
|
||||
<Usage Id="Microsoft.NET.Test.Sdk" Version="16.7.1" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.NETCore.App.Host.linux-x64" Version="5.0.5" />
|
||||
<Usage Id="Microsoft.NETCore.App.Ref" Version="5.0.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetAppHost" Version="2.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetHostPolicy" Version="2.1.0" />
|
||||
<Usage Id="Microsoft.NETCore.DotNetHostResolver" Version="2.1.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net20" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net40" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.0-preview.1" IsDirectDependency="true" />
|
||||
<Usage Id="Microsoft.NETFramework.ReferenceAssemblies.net472" Version="1.0.0" />
|
||||
<Usage Id="Microsoft.TestPlatform.ObjectModel" Version="16.7.1" />
|
||||
<Usage Id="Microsoft.TestPlatform.TestHost" Version="16.7.1" />
|
||||
<Usage Id="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="1.16.30" />
|
||||
<Usage Id="Microsoft.Win32.SystemEvents" Version="4.7.0" />
|
||||
<Usage Id="Mono.Cecil" Version="0.11.3" />
|
||||
<Usage Id="NETStandard.Library" Version="1.6.0" />
|
||||
<Usage Id="NETStandard.Library" Version="1.6.1" />
|
||||
<Usage Id="Newtonsoft.Json" Version="12.0.3" />
|
||||
<Usage Id="NuGet.Commands" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Common" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Common" Version="5.8.1+b257acfcdd76b32d4cddd549c177d99e800f4d83" />
|
||||
<Usage Id="NuGet.Configuration" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Configuration" Version="5.8.1+b257acfcdd76b32d4cddd549c177d99e800f4d83" />
|
||||
<Usage Id="NuGet.Credentials" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Credentials" Version="5.8.1+b257acfcdd76b32d4cddd549c177d99e800f4d83" />
|
||||
<Usage Id="NuGet.DependencyResolver.Core" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Frameworks" Version="5.0.0+42a8779499c1d1ed2488c2e6b9e2ee6ff6107766" />
|
||||
<Usage Id="NuGet.Frameworks" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Frameworks" Version="5.8.1+b257acfcdd76b32d4cddd549c177d99e800f4d83" />
|
||||
<Usage Id="NuGet.LibraryModel" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Packaging" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Packaging" Version="5.8.1+b257acfcdd76b32d4cddd549c177d99e800f4d83" />
|
||||
<Usage Id="NuGet.Packaging.Core" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.ProjectModel" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Protocol" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Protocol" Version="5.8.1+b257acfcdd76b32d4cddd549c177d99e800f4d83" />
|
||||
<Usage Id="NuGet.Versioning" Version="5.6.0-preview.2.6489+5433d816f748d4ad78b75fc320397d8117f57771" />
|
||||
<Usage Id="NuGet.Versioning" Version="5.8.1+b257acfcdd76b32d4cddd549c177d99e800f4d83" />
|
||||
<Usage Id="runtime.linux-x64.Microsoft.NETCore.ILAsm" Version="5.0.0-preview.4.20202.18" Rid="linux-x64" />
|
||||
<Usage Id="runtime.linux-x64.Microsoft.NETCore.ILDAsm" Version="5.0.0-preview.4.20202.18" Rid="linux-x64" />
|
||||
<Usage Id="runtime.native.System" Version="4.0.0" />
|
||||
<Usage Id="runtime.native.System" Version="4.3.0" />
|
||||
<Usage Id="runtime.native.System.IO.Compression" Version="4.3.0" />
|
||||
<Usage Id="System.Collections.Immutable" Version="5.0.0" />
|
||||
<Usage Id="System.Composition" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.AttributedModel" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.Convention" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.Hosting" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.Runtime" Version="1.0.31" />
|
||||
<Usage Id="System.Composition.TypedParts" Version="1.0.31" />
|
||||
<Usage Id="System.Configuration.ConfigurationManager" Version="4.7.0" />
|
||||
<Usage Id="System.Diagnostics.DiagnosticSource" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="System.Drawing.Common" Version="4.7.0" />
|
||||
<Usage Id="System.Formats.Asn1" Version="5.0.0" />
|
||||
<Usage Id="System.IO.Pipelines" Version="5.0.1" />
|
||||
<Usage Id="System.Memory" Version="4.5.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Reflection.Metadata" Version="5.0.0" />
|
||||
<Usage Id="System.Resources.Extensions" Version="4.6.0" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="4.5.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="4.5.1" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="5.0.0" />
|
||||
<Usage Id="System.Runtime.CompilerServices.Unsafe" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="System.Security.Cryptography.Cng" Version="4.4.0" IsDirectDependency="true" />
|
||||
<Usage Id="System.Security.Cryptography.Cng" Version="5.0.0" />
|
||||
<Usage Id="System.Security.Cryptography.Pkcs" Version="5.0.0" />
|
||||
<Usage Id="System.Security.Cryptography.ProtectedData" Version="4.4.0" />
|
||||
<Usage Id="System.Security.Cryptography.ProtectedData" Version="4.7.0" />
|
||||
<Usage Id="System.Text.Encodings.Web" Version="4.7.1" />
|
||||
<Usage Id="System.Text.Encodings.Web" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="System.Text.Json" Version="4.7.2" IsDirectDependency="true" />
|
||||
<Usage Id="System.Text.Json" Version="6.0.0-preview.3.21164.3" />
|
||||
<Usage Id="System.Threading.Tasks.Dataflow" Version="4.5.24" IsDirectDependency="true" />
|
||||
<Usage Id="System.ValueTuple" Version="4.3.0" />
|
||||
<Usage Id="System.Windows.Extensions" Version="4.7.0" />
|
||||
<Usage Id="WiX" Version="3.11.2" />
|
||||
<Usage Id="xunit" Version="2.4.1" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="xunit.abstractions" Version="2.0.3" />
|
||||
<Usage Id="xunit.analyzers" Version="0.10.0" />
|
||||
<Usage Id="xunit.assert" Version="2.4.1" />
|
||||
<Usage Id="xunit.core" Version="2.4.1" />
|
||||
<Usage Id="xunit.extensibility.core" Version="2.4.1" />
|
||||
<Usage Id="xunit.extensibility.execution" Version="2.4.1" />
|
||||
<Usage Id="xunit.runner.console" Version="2.4.1" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="xunit.runner.visualstudio" Version="2.4.3" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
</Usages>
|
||||
</UsageData>
|
|
@ -13,13 +13,7 @@
|
|||
<PackageReference Include="Microsoft.Build.Utilities.Core">
|
||||
<Version>15.7.179</Version>
|
||||
</PackageReference>
|
||||
<ProjectReference Include="$(ClonedSubmoduleDirectory)linker.$(linkerGitCommitHash)/external/cecil/Mono.Cecil.csproj" Condition="'$(OfflineBuild)' != 'true'">
|
||||
<SetConfiguration Condition=" '$(Configuration)' == 'Debug' ">Configuration=netstandard_Debug</SetConfiguration>
|
||||
<SetConfiguration Condition=" '$(Configuration)' == 'Release' ">Configuration=netstandard_Release</SetConfiguration>
|
||||
<Project>{D68133BD-1E63-496E-9EDE-4FBDBF77B486}</Project>
|
||||
<Name>Mono.Cecil</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="$(SubmoduleDirectory)linker.$(linkerGitCommitHash)/external/cecil/Mono.Cecil.csproj" Condition="'$(OfflineBuild)' == 'true'">
|
||||
<ProjectReference Include="$(SubmoduleDirectory)linker.$(linkerGitCommitHash)/external/cecil/Mono.Cecil.csproj">
|
||||
<SetConfiguration Condition=" '$(Configuration)' == 'Debug' ">Configuration=netstandard_Debug</SetConfiguration>
|
||||
<SetConfiguration Condition=" '$(Configuration)' == 'Release' ">Configuration=netstandard_Release</SetConfiguration>
|
||||
<Project>{D68133BD-1E63-496E-9EDE-4FBDBF77B486}</Project>
|
||||
|
|
|
@ -6,6 +6,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using System.Xml.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
|
@ -25,7 +26,7 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
/// <summary>
|
||||
/// Whether to work in offline mode (remove all internet sources) or online mode (remove only authenticated sources)
|
||||
/// </summary>
|
||||
public bool OfflineBuild { get; set; }
|
||||
public bool BuildWithOnlineSources { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// A list of prefix strings that make the task keep a package source unconditionally. For
|
||||
|
@ -36,7 +37,9 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
|
||||
public override bool Execute()
|
||||
{
|
||||
XDocument d = XDocument.Load(NuGetConfigFile);
|
||||
string xml = File.ReadAllText(NuGetConfigFile);
|
||||
string newLineChars = FileUtilities.DetectNewLineChars(xml);
|
||||
XDocument d = XDocument.Parse(xml);
|
||||
XElement packageSourcesElement = d.Root.Descendants().First(e => e.Name == "packageSources");
|
||||
XElement disabledPackageSourcesElement = d.Root.Descendants().FirstOrDefault(e => e.Name == "disabledPackageSources");
|
||||
|
||||
|
@ -53,15 +56,15 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
}
|
||||
|
||||
string feedUrl = e.Attribute("value").Value;
|
||||
if (OfflineBuild)
|
||||
{
|
||||
return !(feedUrl.StartsWith("http://", StringComparison.OrdinalIgnoreCase) || feedUrl.StartsWith("https://", StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
else
|
||||
if (BuildWithOnlineSources)
|
||||
{
|
||||
return !( feedUrl.StartsWith("https://pkgs.dev.azure.com/dnceng/_packaging", StringComparison.OrdinalIgnoreCase) ||
|
||||
feedUrl.StartsWith("https://pkgs.dev.azure.com/dnceng/internal/_packaging", StringComparison.OrdinalIgnoreCase) );
|
||||
}
|
||||
else
|
||||
{
|
||||
return !(feedUrl.StartsWith("http://", StringComparison.OrdinalIgnoreCase) || feedUrl.StartsWith("https://", StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -72,9 +75,9 @@ namespace Microsoft.DotNet.Build.Tasks
|
|||
// Remove disabledPackageSources element so if any internal packages remain, they are used in source-build
|
||||
disabledPackageSourcesElement?.ReplaceNodes(new XElement("clear"));
|
||||
|
||||
using (FileStream fs = new FileStream(NuGetConfigFile, FileMode.Create, FileAccess.ReadWrite))
|
||||
using (var w = XmlWriter.Create(NuGetConfigFile, new XmlWriterSettings { NewLineChars = newLineChars, Indent = true }))
|
||||
{
|
||||
d.Save(fs);
|
||||
d.Save(w);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -1,317 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Tasks;
|
||||
using Microsoft.Build.Utilities;
|
||||
using Microsoft.DotNet.SourceBuild.Tasks.Models;
|
||||
using NuGet.Versioning;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Microsoft.DotNet.Build.Tasks
|
||||
{
|
||||
public class WriteSourceRepoProperties : Task
|
||||
{
|
||||
[Required]
|
||||
public string VersionDetailsFile { get; set; }
|
||||
|
||||
[Required]
|
||||
public string ClonedSubmoduleGitRootDirectory { get; set; }
|
||||
|
||||
[Required]
|
||||
public string ClonedSubmoduleDirectory { get; set; }
|
||||
|
||||
[Required]
|
||||
public string SourceBuildMetadataDir { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
var serializer = new XmlSerializer(typeof(VersionDetails));
|
||||
|
||||
VersionDetails versionDetails = null;
|
||||
using (var stream = File.OpenRead(VersionDetailsFile))
|
||||
{
|
||||
versionDetails = (VersionDetails)serializer.Deserialize(stream);
|
||||
}
|
||||
|
||||
var allRepoProps = new Dictionary<string, string>();
|
||||
|
||||
foreach (var dep in versionDetails.ToolsetDependencies.Concat(versionDetails.ProductDependencies))
|
||||
{
|
||||
Log.LogMessage(MessageImportance.Normal, $"[{DateTimeOffset.Now}] Starting dependency {dep.ToString()}");
|
||||
string repoPath = DeriveRepoPath(ClonedSubmoduleDirectory, dep.Uri, dep.Sha);
|
||||
string repoGitDir = DeriveRepoGitDirPath(ClonedSubmoduleGitRootDirectory, dep.Uri);
|
||||
if (Directory.Exists(repoGitDir))
|
||||
{
|
||||
foreach (string repoName in GetRepoNamesOrDefault(dep))
|
||||
{
|
||||
string safeRepoName = repoName.Replace("-", "");
|
||||
try
|
||||
{
|
||||
WriteMinimalMetadata(repoPath, dep.Uri, dep.Sha);
|
||||
WriteSourceBuildMetadata(SourceBuildMetadataDir, repoGitDir, dep);
|
||||
if (File.Exists(Path.Combine(repoPath, ".gitmodules")))
|
||||
{
|
||||
HandleSubmodules(repoPath, repoGitDir, dep);
|
||||
}
|
||||
allRepoProps[$"{safeRepoName}GitCommitHash"] = dep.Sha;
|
||||
allRepoProps[$"{safeRepoName}OutputPackageVersion"] = dep.Version;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.LogErrorFromException(e, true, true, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.LogMessage(MessageImportance.Normal, $"[{DateTimeOffset.Now}] Skipping dependency {dep.ToString()} - git dir {repoGitDir} doesn't exist");
|
||||
}
|
||||
}
|
||||
string allRepoPropsPath = Path.Combine(SourceBuildMetadataDir, "AllRepoVersions.props");
|
||||
Log.LogMessage(MessageImportance.Normal, $"[{DateTimeOffset.Now}] Writing all repo versions to {allRepoPropsPath}");
|
||||
WritePropsFile(allRepoPropsPath, allRepoProps);
|
||||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
private void WriteSourceBuildMetadata(string sourceBuildMetadataPath, string repoGitDir, Dependency dependency)
|
||||
{
|
||||
foreach (string repoName in GetRepoNamesOrDefault(dependency))
|
||||
{
|
||||
string propsPath = Path.Combine(sourceBuildMetadataPath, $"{repoName}.props");
|
||||
string commitCount = GetCommitCount(repoGitDir, dependency.Sha);
|
||||
DerivedVersion derivedVersion = GetVersionInfo(dependency.Version, commitCount);
|
||||
var repoProps = new Dictionary<string, string>
|
||||
{
|
||||
["GitCommitHash"] = dependency.Sha,
|
||||
["GitCommitCount"] = commitCount,
|
||||
["GitCommitDate"] = GetCommitDate(repoGitDir, dependency.Sha),
|
||||
["OfficialBuildId"] = derivedVersion.OfficialBuildId,
|
||||
["OutputPackageVersion"] = dependency.Version,
|
||||
["PreReleaseVersionLabel"] = derivedVersion.PreReleaseVersionLabel,
|
||||
["IsStable"] = string.IsNullOrWhiteSpace(derivedVersion.PreReleaseVersionLabel) ? "true" : "false",
|
||||
};
|
||||
WritePropsFile(propsPath, repoProps);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Reverse a version in the Arcade style (https://github.com/dotnet/arcade/blob/fb92b14d8cd07cf44f8f7eefa8ac58d7ffd05f3f/src/Microsoft.DotNet.Arcade.Sdk/tools/Version.BeforeCommonTargets.targets#L18)
|
||||
/// back to an OfficialBuildId + ReleaseLabel which we can then supply to get the same resulting version number.
|
||||
/// </summary>
|
||||
/// <param name="version">The complete version, e.g. 1.0.0-beta1-19720.5</param>
|
||||
/// <param name="commitCount">The current commit count of the repo. This is used for some repos that do not use the standard versioning scheme.</param>
|
||||
/// <returns></returns>
|
||||
private static DerivedVersion GetVersionInfo(string version, string commitCount)
|
||||
{
|
||||
var nugetVersion = new NuGetVersion(version);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(nugetVersion.Release))
|
||||
{
|
||||
var releaseParts = nugetVersion.Release.Split('-', '.');
|
||||
if (releaseParts.Length == 2)
|
||||
{
|
||||
if (releaseParts[1].TrimStart('0') == commitCount)
|
||||
{
|
||||
// core-sdk does this - OfficialBuildId is only used for their fake package and not in anything shipped
|
||||
return new DerivedVersion { OfficialBuildId = DateTime.Now.ToString("yyyyMMdd.1"), PreReleaseVersionLabel = releaseParts[0] };
|
||||
}
|
||||
else
|
||||
{
|
||||
// NuGet does this - arbitrary build IDs
|
||||
return new DerivedVersion { OfficialBuildId = releaseParts[1], PreReleaseVersionLabel = releaseParts[0] };
|
||||
}
|
||||
}
|
||||
else if (releaseParts.Length == 3)
|
||||
{
|
||||
// VSTest uses full dates for the first part of their preview build numbers
|
||||
if (DateTime.TryParseExact(releaseParts[1], "yyyyMMdd", new CultureInfo("en-US"), DateTimeStyles.AssumeLocal, out DateTime fullDate))
|
||||
{
|
||||
return new DerivedVersion { OfficialBuildId = $"{releaseParts[1]}.{releaseParts[2]}", PreReleaseVersionLabel = releaseParts[0] };
|
||||
}
|
||||
else if (int.TryParse(releaseParts[1], out int datePart) && int.TryParse(releaseParts[2], out int buildPart))
|
||||
{
|
||||
if (datePart > 1 && datePart < 8 && buildPart > 1000 && buildPart < 10000)
|
||||
{
|
||||
return new DerivedVersion { OfficialBuildId = releaseParts[2], PreReleaseVersionLabel = $"{releaseParts[0]}.{releaseParts[1]}" };
|
||||
}
|
||||
else
|
||||
{
|
||||
return new DerivedVersion { OfficialBuildId = $"20{((datePart / 1000))}{((datePart % 1000) / 50):D2}{(datePart % 50):D2}.{buildPart}", PreReleaseVersionLabel = releaseParts[0] };
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (releaseParts.Length == 4)
|
||||
{
|
||||
// new preview version style, e.g. 5.0.0-preview.7.20365.12
|
||||
if (int.TryParse(releaseParts[2], out int datePart) && int.TryParse(releaseParts[3], out int buildPart))
|
||||
{
|
||||
return new DerivedVersion { OfficialBuildId = $"20{((datePart / 1000))}{((datePart % 1000) / 50):D2}{(datePart % 50):D2}.{buildPart}", PreReleaseVersionLabel = $"{releaseParts[0]}.{releaseParts[1]}" };
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// finalized version number (x.y.z) - probably not our code
|
||||
// VSTest, Application Insights, Newtonsoft.Json do this
|
||||
return new DerivedVersion { OfficialBuildId = DateTime.Now.ToString("yyyyMMdd.1"), PreReleaseVersionLabel = string.Empty };
|
||||
}
|
||||
|
||||
throw new FormatException($"Can't derive a build ID from version {version} (commit count {commitCount}, release {string.Join(";", nugetVersion.Release.Split('-', '.'))})");
|
||||
}
|
||||
|
||||
private static string GetDefaultRepoNameFromUrl(string repoUrl)
|
||||
{
|
||||
if (repoUrl.EndsWith(".git"))
|
||||
{
|
||||
repoUrl = repoUrl.Substring(0, repoUrl.Length - ".git".Length);
|
||||
}
|
||||
return repoUrl.Substring(repoUrl.LastIndexOf("/") + 1);
|
||||
}
|
||||
|
||||
private static IEnumerable<string> GetRepoNamesOrDefault(Dependency dependency)
|
||||
{
|
||||
return dependency.RepoNames ?? new[] { GetDefaultRepoNameFromUrl(dependency.Uri) };
|
||||
}
|
||||
|
||||
private static string DeriveRepoGitDirPath(string gitDirPath, string repoUrl)
|
||||
{
|
||||
return Path.Combine(gitDirPath, $"{GetDefaultRepoNameFromUrl(repoUrl)}.git");
|
||||
}
|
||||
|
||||
private static string DeriveRepoPath(string sourceDirPath, string repoUrl, string hash)
|
||||
{
|
||||
// hash could actually be a branch or tag, make it filename-safe
|
||||
hash = hash.Replace('/', '-').Replace('\\', '-').Replace('?', '-').Replace('*', '-').Replace(':', '-').Replace('|', '-').Replace('"', '-').Replace('<', '-').Replace('>', '-');
|
||||
return Path.Combine(sourceDirPath, $"{GetDefaultRepoNameFromUrl(repoUrl)}.{hash}");
|
||||
}
|
||||
|
||||
private string GetCommitCount(string gitDir, string hash)
|
||||
{
|
||||
return RunGitCommand($"rev-list --count {hash}", gitDir: gitDir);
|
||||
}
|
||||
|
||||
private string GetCommitDate(string gitDir, string hash)
|
||||
{
|
||||
return RunGitCommand($"log -1 --format=%cd --date=short {hash}", gitDir: gitDir);
|
||||
}
|
||||
|
||||
private IEnumerable<SubmoduleInfo> GetSubmoduleInfo(string gitModulesFilePath)
|
||||
{
|
||||
string submoduleProps = RunGitCommand($"config --file={gitModulesFilePath} --list");
|
||||
var submodulePathRegex = new Regex(@"submodule\.(?<submoduleName>.*)\.path=(?<submodulePath>.*)");
|
||||
foreach (Match m in submodulePathRegex.Matches(submoduleProps))
|
||||
{
|
||||
yield return new SubmoduleInfo { Name = m.Groups["submoduleName"].Value, Path = m.Groups["submodulePath"].Value };
|
||||
}
|
||||
}
|
||||
|
||||
private string RunGitCommand(string command, string workTree = null, string gitDir = null)
|
||||
{
|
||||
// Windows Git requires these to be before the command
|
||||
if (workTree != null)
|
||||
{
|
||||
command = $"--work-tree={workTree} {command}";
|
||||
}
|
||||
if (gitDir != null)
|
||||
{
|
||||
command = $"--git-dir={gitDir} {command}";
|
||||
}
|
||||
|
||||
var exec = new Exec
|
||||
{
|
||||
BuildEngine = BuildEngine,
|
||||
Command = $"git {command}",
|
||||
LogStandardErrorAsError = true,
|
||||
ConsoleToMSBuild = true,
|
||||
};
|
||||
|
||||
if (!exec.Execute() || exec.ExitCode != 0)
|
||||
{
|
||||
string error = string.Join(Environment.NewLine, exec.ConsoleOutput.Select(o => o.ItemSpec));
|
||||
throw new InvalidOperationException($"git command '{command}' failed with exit code {exec.ExitCode} and error {error ?? "<blank>"}");
|
||||
}
|
||||
string output = string.Join(Environment.NewLine, exec.ConsoleOutput.Select(o => o.ItemSpec));
|
||||
return output.Trim();
|
||||
}
|
||||
|
||||
private void HandleSubmodules(string sourceDirPath, string gitDirPath, Dependency dependency)
|
||||
{
|
||||
var gitModulesPath = Path.Combine(sourceDirPath, ".gitmodules");
|
||||
foreach (SubmoduleInfo submodule in GetSubmoduleInfo(gitModulesPath))
|
||||
{
|
||||
WriteGitCommitMarkerFileForSubmodule(sourceDirPath, gitDirPath, dependency.Sha, submodule.Name, submodule.Path);
|
||||
}
|
||||
}
|
||||
|
||||
private void WriteGitCommitMarkerFileForSubmodule(string sourceDirPath, string gitDirPath, string parentRepoSha, string submoduleName, string submodulePath)
|
||||
{
|
||||
var submoduleSha = GetSubmoduleCommit(gitDirPath, parentRepoSha, submodulePath);
|
||||
var headDirectory = Path.Combine(sourceDirPath, submodulePath, ".git");
|
||||
var headPath = Path.Combine(headDirectory, "HEAD");
|
||||
Directory.CreateDirectory(headDirectory);
|
||||
File.WriteAllText(headPath, submoduleSha);
|
||||
}
|
||||
|
||||
private static void WriteMinimalMetadata(string repoPath, string repoUrl, string hash)
|
||||
{
|
||||
var fakeGitDirPath = Path.Combine(repoPath, ".git");
|
||||
var fakeGitConfigPath = Path.Combine(fakeGitDirPath, "config");
|
||||
var fakeGitHeadPath = Path.Combine(fakeGitDirPath, "HEAD");
|
||||
|
||||
Directory.CreateDirectory(fakeGitDirPath);
|
||||
File.WriteAllText(fakeGitHeadPath, hash);
|
||||
File.WriteAllText(fakeGitConfigPath, $"[remote \"origin\"]{Environment.NewLine}url = \"{repoUrl}\"");
|
||||
}
|
||||
|
||||
|
||||
private string GetSubmoduleCommit(string gitDirPath, string parentRepoSha, string submodulePath)
|
||||
{
|
||||
var gitObjectList = RunGitCommand($"ls-tree {parentRepoSha} {submodulePath}", gitDir: gitDirPath);
|
||||
var submoduleRegex = new Regex(@"\d{6}\s+commit\s+(?<submoduleSha>[a-fA-F0-9]{40})\s+(.+)");
|
||||
var submoduleMatch = submoduleRegex.Match(gitObjectList);
|
||||
if (!submoduleMatch.Success)
|
||||
{
|
||||
throw new InvalidDataException($"Couldn't find a submodule commit in {gitObjectList} for {submodulePath}");
|
||||
}
|
||||
return submoduleMatch.Groups["submoduleSha"].Value;
|
||||
}
|
||||
|
||||
private static void WritePropsFile(string filePath, Dictionary<string, string> properties)
|
||||
{
|
||||
var content = new StringBuilder();
|
||||
content.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
|
||||
content.AppendLine("<Project>");
|
||||
content.AppendLine(" <PropertyGroup>");
|
||||
foreach (var propName in properties.Keys.OrderBy(k => k))
|
||||
{
|
||||
content.AppendLine($" <{propName}>{properties[propName]}</{propName}>");
|
||||
}
|
||||
content.AppendLine(" </PropertyGroup>");
|
||||
content.AppendLine("</Project>");
|
||||
File.WriteAllText(filePath, content.ToString());
|
||||
}
|
||||
|
||||
private class DerivedVersion
|
||||
{
|
||||
internal string OfficialBuildId { get; set; }
|
||||
internal string PreReleaseVersionLabel { get; set; }
|
||||
}
|
||||
|
||||
private class SubmoduleInfo
|
||||
{
|
||||
internal string Name { get; set; }
|
||||
internal string Path { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue