Move src/SourceBuild/tarball/*
up one folder (#15166)
This commit is contained in:
parent
118280814f
commit
5aac0db522
159 changed files with 12 additions and 11 deletions
160
src/SourceBuild/content/repo-projects/Directory.Build.props
Normal file
160
src/SourceBuild/content/repo-projects/Directory.Build.props
Normal file
|
@ -0,0 +1,160 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<RepositoryName Condition="'$(RepositoryName)' == ''">$(MSBuildProjectName)</RepositoryName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props, $(MSBuildThisFileDirectory)..))" />
|
||||
|
||||
<Import Project="$(GitInfoRepoPropsFile)" Condition="Exists('$(GitInfoRepoPropsFile)')" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SourceDirectory Condition="'$(SourceDirectory)' == ''">$(RepositoryName)</SourceDirectory>
|
||||
<ProjectDirectory Condition="'$(ProjectDirectory)' == ''">$(SubmoduleDirectory)$(SourceDirectory)/</ProjectDirectory>
|
||||
<MinimalConsoleLogOutput Condition="'$(MinimalConsoleLogOutput)' == ''">true</MinimalConsoleLogOutput>
|
||||
<RepoConsoleLogFile>$(LoggingDir)$(RepositoryName).log</RepoConsoleLogFile>
|
||||
<RedirectRepoOutputToLog Condition="'$(MinimalConsoleLogOutput)' == 'true'">>> $(RepoConsoleLogFile) 2>&1</RedirectRepoOutputToLog>
|
||||
<IsStable Condition="'$(UseStableVersions)' == 'true'">true</IsStable>
|
||||
|
||||
<PackagesOutput>$(ProjectDirectory)artifacts/packages/$(Configuration)/NonShipping/</PackagesOutput>
|
||||
|
||||
<!--
|
||||
Repo specific semaphore path for incremental build
|
||||
-->
|
||||
<RepoCompletedSemaphorePath>$(CompletedSemaphorePath)$(RepositoryName)/</RepoCompletedSemaphorePath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(OS)' == 'Windows_NT'">
|
||||
<FlagParameterPrefix>-</FlagParameterPrefix>
|
||||
<ArcadeFalseBoolBuildArg>0</ArcadeFalseBoolBuildArg>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(OS)' != 'Windows_NT'">
|
||||
<FlagParameterPrefix>--</FlagParameterPrefix>
|
||||
<ArcadeFalseBoolBuildArg>false</ArcadeFalseBoolBuildArg>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<GitCommitDateNoDashes>$(GitCommitDate.Replace('-', ''))</GitCommitDateNoDashes>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- A human-readable description of what's building and why. -->
|
||||
<PropertyGroup>
|
||||
<ProjectBuildReason>'$(RepositoryName) in tarball'</ProjectBuildReason>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="DotNetBuildFromSource=true" />
|
||||
<EnvironmentVariables Include="DotNetBuildFromSourceFlavor=Product" />
|
||||
<EnvironmentVariables Include="DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)" />
|
||||
<EnvironmentVariables Include="DotNetRestorePackagesPath=$(PackagesDir)" />
|
||||
<EnvironmentVariables Include="DotNetBuildOffline=true" />
|
||||
|
||||
<!-- Ensure the SDK (Core-SDK/Installer) doesn't add an online source. -->
|
||||
<EnvironmentVariables Include="AddDotnetfeedProjectSource=false" />
|
||||
|
||||
<!-- Arcade tools.sh picks up DotNetCoreSdkDir, but we can pass DOTNET_INSTALL_DIR directly. -->
|
||||
<EnvironmentVariables Include="DOTNET_INSTALL_DIR=$(DotNetCliToolDir)" />
|
||||
<EnvironmentVariables Include="DOTNET_PATH=$(DotNetCliToolDir)" />
|
||||
<EnvironmentVariables Include="DOTNET_HOST_PATH=$(DotNetCliToolDir)dotnet" />
|
||||
|
||||
<!-- _InitializeDotNetCli is used by websdk and templating to decide whether to init the SDK -->
|
||||
<EnvironmentVariables Include="_InitializeDotNetCli=$(DotNetCliToolDir)" />
|
||||
<EnvironmentVariables Include="_DotNetInstallDir=$(DotNetCliToolDir)" />
|
||||
<EnvironmentVariables Include="_InitializeToolset=$(SourceBuiltSdksDir)Microsoft.DotNet.Arcade.Sdk/tools/Build.proj" Condition="'$(UseBootstrapArcade)' != 'true'" />
|
||||
<EnvironmentVariables Include="_OverrideArcadeInitializeBuildToolFramework=net7.0" />
|
||||
|
||||
<EnvironmentVariables Include="DotNetUseShippingVersions=true" />
|
||||
|
||||
<EnvironmentVariables Include="PreReleaseVersionLabel=$(PreReleaseVersionLabel)" />
|
||||
<EnvironmentVariables Include="PackageVersionStamp=$(PreReleaseVersionLabel)" />
|
||||
<EnvironmentVariables Include="PB_VersionStamp=$(PreReleaseVersionLabel)" />
|
||||
|
||||
<!-- We pass '-ci', but also apply ci mode via env var for edge cases. (E.g. misbehaving inner builds.) -->
|
||||
<EnvironmentVariables Include="ContinuousIntegrationBuild=true" />
|
||||
|
||||
<!-- Turn off node reuse for source build because repos use conflicting versions
|
||||
of compilers which cause assembly load errors.
|
||||
See https://github.com/dotnet/source-build/issues/541 -->
|
||||
<EnvironmentVariables Include="MSBUILDDISABLENODEREUSE=1" />
|
||||
|
||||
<!--
|
||||
Apply official build versioning to match Microsoft build. These are based on build date, so
|
||||
need to be parsed from Maestro++ auto-update and passed through.
|
||||
-->
|
||||
<EnvironmentVariables Include="OfficialBuildId=$(OfficialBuildId)" />
|
||||
<EnvironmentVariables Include="BUILD_BUILDNUMBER=$(OfficialBuildId)" />
|
||||
|
||||
<!-- Give build access to commit info without necessarily requiring git queries. -->
|
||||
<EnvironmentVariables Include="GitCommitCount=$(GitCommitCount)" />
|
||||
<EnvironmentVariables Include="GitCommitHash=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
||||
<EnvironmentVariables Include="GitInfoCommitHash=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
||||
<EnvironmentVariables Include="SourceRevisionId=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
||||
<EnvironmentVariables Include="RepositoryCommit=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
||||
<EnvironmentVariables Include="COMMIT_SHA=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
||||
<EnvironmentVariables Include="GIT_COMMIT=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
||||
<EnvironmentVariables Include="RepositoryType=Git" />
|
||||
|
||||
<EnvironmentVariables Include="DeterministicSourcePaths=true" Condition="'$(DeterministicBuildOptOut)' != 'true'" />
|
||||
<EnvironmentVariables Include="DeterministicSourcePaths=false" Condition="'$(DeterministicBuildOptOut)' == 'true'" />
|
||||
|
||||
<EnvironmentVariables Include="SourceRoot=$(ProjectDirectory)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(EnableExtraDebugging)' == 'true'">
|
||||
<!-- If MSBuild exits early, make sure debug output like 'MSBuild_*.failure.txt' ends up in a place we can see it. -->
|
||||
<EnvironmentVariables Include="MSBUILDDEBUGPATH=$(MSBuildDebugPathTargetDir)" />
|
||||
<EnvironmentVariables Include="MSBUILDDEBUGCOMM=1" />
|
||||
<EnvironmentVariables Include="MSBUILDDEBUGSCHEDULER=1" />
|
||||
<EnvironmentVariables Include="MSBUILDDEBUGFORCECACHING=1" />
|
||||
<EnvironmentVariables Include="MSBUILDDEBUG=1" />
|
||||
<EnvironmentVariables Include="MSBUILDDEBUGEVALUATION=1" />
|
||||
<EnvironmentVariables Include="MSBUILDTARGETOUTPUTLOGGING=1" />
|
||||
<EnvironmentVariables Include="MSBUILDLOGTASKINPUTS=1" />
|
||||
<EnvironmentVariables Include="MSBUILDEMITSOLUTION=1" />
|
||||
<EnvironmentVariables Include="MSBUILDLOGVERBOSERARSEARCHRESULTS=1" />
|
||||
|
||||
<!-- Output Roslyn logs to allow debugging compiler errors -->
|
||||
<EnvironmentVariables Include="RoslynCommandLineLogFile=$(RoslynDebugPathTargetDir)" />
|
||||
|
||||
<!--ASP.NET dev server request logs -->
|
||||
<EnvironmentVariables Include="RAZORBUILDSERVER_LOG=$(AspNetRazorBuildServerLogFile)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ArcadeBootstrapDir>$(ArcadeBootstrapPackageDir)</ArcadeBootstrapDir>
|
||||
<ArcadeBootstrapVersion>$(ARCADE_BOOTSTRAP_VERSION)</ArcadeBootstrapVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<StandardSourceBuildArgs> $(FlagParameterPrefix)ci</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) $(FlagParameterPrefix)configuration $(Configuration)</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) $(FlagParameterPrefix)restore</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) $(FlagParameterPrefix)build</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) $(FlagParameterPrefix)pack</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) $(FlagParameterPrefix)publish</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) -bl</StandardSourceBuildArgs>
|
||||
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:ArcadeBuildFromSource=true</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:CopyWipIntoInnerSourceBuildRepo=true</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:DotNetBuildOffline=true</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:CopySrcInsteadOfClone=true</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:DotNetPackageVersionPropsPath="$(PackageVersionPropsPath)"</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:AdditionalSourceBuiltNupkgCacheDir="$(SourceBuiltPackagesPath)"</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</StandardSourceBuildArgs>
|
||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</StandardSourceBuildArgs>
|
||||
|
||||
<StandardSourceBuildCommand>$(ProjectDirectory)\build$(ShellExtension)</StandardSourceBuildCommand>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ArcadeSdkOverride Include="Microsoft.DotNet.Arcade.Sdk" Group="ARCADE" Version="$(arcadeOutputPackageVersion)"/>
|
||||
<ArcadeBootstrapSdkOverride Include="Microsoft.DotNet.Arcade.Sdk" Group="ARCADE" Version="$(ArcadeBootstrapVersion)" Location="$(ArcadeBootstrapDir)microsoft.dotnet.arcade.sdk/$(ArcadeBootstrapVersion)" />
|
||||
<ArcadePackagingOverride Include="Microsoft.DotNet.Build.Tasks.Packaging" Group="ARCADE_PACKAGING" Version="$(arcadeOutputPackageVersion)"/>
|
||||
<ArcadeTargetFrameworkOverride Include="Microsoft.DotNet.Build.Tasks.TargetFramework" Group="ARCADE_TGT_FX" Version="$(arcadeOutputPackageVersion)"/>
|
||||
<ArcadeSharedFrameworkSdkOverride Include="Microsoft.DotNet.SharedFramework.Sdk" Group="ARCADE_SHARED_FX_SDK" Version="$(arcadeOutputPackageVersion)"/>
|
||||
<ILSdkOverride Include="Microsoft.NET.Sdk.IL" Group="IL" />
|
||||
<MsBuildTraversalSdkOverride Include="Microsoft.Build.Traversal" Group="MSBUILD_TRAVERSAL" Version="2.0.2"/>
|
||||
<WindowsDesktopSdkOverride Include="Microsoft.Net.Sdk.WindowsDesktop" Group="WINDOWS_DESKTOP" Location="$(ToolsDir)EmptySdk"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
813
src/SourceBuild/content/repo-projects/Directory.Build.targets
Normal file
813
src/SourceBuild/content/repo-projects/Directory.Build.targets
Normal file
|
@ -0,0 +1,813 @@
|
|||
<Project InitialTargets="SetNuGetPackagesEnvironment">
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="LatestCommit=$(GitCommitHash)" />
|
||||
<EnvironmentVariables Include="OfficialBuildId=$(OfficialBuildId)" />
|
||||
</ItemGroup>
|
||||
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="AddSourceToNuGetConfig" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="GetSourceBuiltNupkgCacheConflicts" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReadNuGetPackageInfos" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="RemoveInternetSourcesFromNuGetConfig" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceFeedsInNuGetConfig" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UpdateJson" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UpdateNuGetConfigPackageSourcesMappings" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ValidateUsageAgainstBaseline" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteBuildOutputProps" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WritePackageUsageData" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteRestoreSourceProps" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteRestoreSourceAndVersionProps" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteUsageReports" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteVersionsFile" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ZipFileExtractToDirectory" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceTextInFile" />
|
||||
|
||||
<!--
|
||||
Central property to define that a repo doesn't implement any of the Repo API. If a repo adds an
|
||||
implementation of a specific part of the Repo API, replace RepoApiImplemented in the repo's
|
||||
props file with the properties below. When more API surface area is added, remove the
|
||||
corresponding lines from the repo's props file. Once the entire API is implemented, the props
|
||||
file is clean.
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<RepoApiImplemented Condition="'$(RepoApiImplemented)' == ''">true</RepoApiImplemented>
|
||||
<EngCommonToolsShFile Condition="Exists('$(ProjectDirectory)/eng/common/tools.sh')">$(ProjectDirectory)/eng/common/tools.sh</EngCommonToolsShFile>
|
||||
<EngCommonBuildShFile Condition="Exists('$(ProjectDirectory)/eng/common/build.sh')">$(ProjectDirectory)/eng/common/build.sh</EngCommonBuildShFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<DependencyVersionInputRepoApiImplemented Condition="'$(DependencyVersionInputRepoApiImplemented)' == ''">$(RepoApiImplemented)</DependencyVersionInputRepoApiImplemented>
|
||||
<SourceOverrideRepoApiImplemented Condition="'$(SourceOverrideRepoApiImplemented)' == ''">$(RepoApiImplemented)</SourceOverrideRepoApiImplemented>
|
||||
<OutputPlacementRepoApiImplemented Condition="'$(OutputPlacementRepoApiImplemented)' == ''">$(RepoApiImplemented)</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(SourceOverrideRepoApiImplemented)' != 'true'">
|
||||
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.config')">$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.Config')">$(ProjectDirectory)NuGet.Config</NuGetConfigFile>
|
||||
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)src\NuGet.config')">$(ProjectDirectory)src\NuGet.config</NuGetConfigFile>
|
||||
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)src\NuGet.Config')">$(ProjectDirectory)src\NuGet.Config</NuGetConfigFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Dependency version input arguments -->
|
||||
<PropertyGroup Condition="'$(DependencyVersionInputRepoApiImplemented)' == 'true'">
|
||||
<RepoApiArgs>$(RepoApiArgs) /p:DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)</RepoApiArgs>
|
||||
</PropertyGroup>
|
||||
<!-- Source override arguments -->
|
||||
<PropertyGroup Condition="'$(SourceOverrideRepoApiImplemented)' == 'true'">
|
||||
<RepoApiArgs>$(RepoApiArgs) /p:DotNetRestoreSourcePropsPath=$(RestoreSourcePropsPath)</RepoApiArgs>
|
||||
<RepoApiArgs>$(RepoApiArgs) /p:DotNetBuildOffline=true</RepoApiArgs>
|
||||
</PropertyGroup>
|
||||
<!-- Output placement arguments -->
|
||||
<PropertyGroup Condition="'$(OutputPlacementRepoApiImplemented)' == 'true'">
|
||||
<RepoApiArgs>$(RepoApiArgs) /p:DotNetOutputBlobFeedDir=$(SourceBuiltBlobFeedDir)</RepoApiArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="BuildRepoReferences" Condition="'@(RepositoryReference)' != '' and '$(SkipRepoReferences)' != 'true'">
|
||||
<Message Importance="High" Text="Building dependencies [@(RepositoryReference)] needed by '$(RepositoryName)'." />
|
||||
<ItemGroup>
|
||||
<_DependentProject Include="@(RepositoryReference -> '%(Identity).proj')" />
|
||||
</ItemGroup>
|
||||
|
||||
<MSBuild Projects="@(_DependentProject)" Targets="Build" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="AddNoWarns"
|
||||
BeforeTargets="Build"
|
||||
Condition=" EXISTS('$(ProjectDirectory)Directory.Build.props') OR EXISTS('$(ProjectDirectory)src/Directory.Build.props') "
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)AddNoWarns.complete" >
|
||||
|
||||
<!-- Don't warn on warnings that can be generated in source-build
|
||||
but not necessarily in repo builds.
|
||||
|
||||
NU1603 - See https://github.com/dotnet/source-build/issues/2766.
|
||||
|
||||
NU5104 - During preview builds, some packages have pre-release versions.
|
||||
Some repos with stable versions may need to uptake these packages
|
||||
with pre-release versions because of PVP when building with
|
||||
source-build. -->
|
||||
<PropertyGroup>
|
||||
<OldText><![CDATA[</Project>]]></OldText>
|
||||
<NewText>
|
||||
<![CDATA[ <PropertyGroup>
|
||||
<NoWarn>%24(NoWarn);NU5104;NU1603;$(RepoNoWarns)</NoWarn>
|
||||
</PropertyGroup>
|
||||
</Project>]]>
|
||||
</NewText>
|
||||
|
||||
<DirectoryBuildPropsFile Condition=" EXISTS('$(ProjectDirectory)Directory.Build.props') ">$(ProjectDirectory)Directory.Build.props</DirectoryBuildPropsFile>
|
||||
<DirectoryBuildPropsFile Condition=" '$(DirectoryBuildPropsFile)' == '' AND EXISTS('$(ProjectDirectory)src/Directory.Build.props') ">$(ProjectDirectory)src/Directory.Build.props</DirectoryBuildPropsFile>
|
||||
</PropertyGroup>
|
||||
<ReplaceTextInFile InputFile="$(DirectoryBuildPropsFile)"
|
||||
OldText="$(OldText)"
|
||||
NewText="$(NewText)" />
|
||||
</Target>
|
||||
|
||||
|
||||
<Target Name="UpdateBuildToolFramework"
|
||||
BeforeTargets="Build"
|
||||
Condition="'$(EngCommonToolsShFile)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)UpdateBuildToolFramework.complete" >
|
||||
<!-- Use a relative find in NewText to avoid regex matches with parent directories.
|
||||
See https://github.com/dotnet/source-build/issues/1914 for details. -->
|
||||
<PropertyGroup>
|
||||
<ArcadeSdkReplacementText>
|
||||
logger_path="%24toolset_dir"/%24%28cd "$toolset_dir" && find . -name Microsoft.DotNet.Arcade.Sdk.dll \( -regex '.*netcoreapp2.1.*' -or -regex '.*net7.0.*' \) )
|
||||
</ArcadeSdkReplacementText>
|
||||
|
||||
<ArcadeLoggingReplacementText>
|
||||
logger_path="%24toolset_dir"/%24%28cd "$toolset_dir" && find . -name Microsoft.DotNet.ArcadeLogging.dll \( -regex '.*netcoreapp2.1.*' -or -regex '.*net7.0.*' \) )
|
||||
</ArcadeLoggingReplacementText>
|
||||
|
||||
<LoggerPathReplacementText>
|
||||
$(ArcadeLoggingReplacementText)
|
||||
if [[ ! -f $logger_path ]]; then
|
||||
$(ArcadeSdkReplacementText)
|
||||
fi
|
||||
</LoggerPathReplacementText>
|
||||
</PropertyGroup>
|
||||
<!-- Arcade has added a new ArcadeLogging library (see: https://github.com/dotnet/arcade/pull/6739)
|
||||
This adds additional scenarios when modifying tools.sh to search for the logger_path. Source-build
|
||||
builds arcade after the change, so the logger is no longer found in Microsoft.DotNet.Arcade.Sdk,
|
||||
rather, it has moved to Microsoft.DotNet.ArcadeLogging.
|
||||
The scenarios are: -->
|
||||
<!-- 1. Repo has old tools.sh - replace with new search for logger_path from updated tools.sh which looks for ArcadeLogging first,
|
||||
but make the source-build search changes to find the right dll. -->
|
||||
<ReplaceTextInFile InputFile="$(EngCommonToolsShFile)"
|
||||
OldText="local logger_path="$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.Arcade.Sdk.dll""
|
||||
NewText="$(LoggerPathReplacementText)" />
|
||||
<!-- 2. Repo has updated tools.sh, replace 2 logger_path statements with source-build search equivalents to find the right dll -->
|
||||
<ReplaceTextInFile InputFile="$(EngCommonToolsShFile)"
|
||||
OldText="local logger_path="$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.ArcadeLogging.dll""
|
||||
NewText="$(ArcadeLoggingReplacementText)" />
|
||||
<ReplaceTextInFile InputFile="$(EngCommonToolsShFile)"
|
||||
OldText="logger_path="$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.Arcade.Sdk.dll""
|
||||
NewText="$(ArcadeSdkReplacementText)" />
|
||||
<!-- 3. Repo has 3rd generation of tools.sh. In this case, we set an override for _InitializeBuildToolFramework -->
|
||||
<ReplaceTextInFile InputFile="$(EngCommonToolsShFile)"
|
||||
OldText="_InitializeBuildToolFramework="netcoreapp3.1""
|
||||
NewText="_InitializeBuildToolFramework="%24{_OverrideArcadeInitializeBuildToolFramework-netcoreapp3.1}"" />
|
||||
|
||||
<!-- Temporary workaround for when the ci option is specified, non-zero exit are swallowed which prevents builds from failing within
|
||||
the tarball build preocess. https://github.com/dotnet/source-build/issues/2307 -->
|
||||
<ReplaceTextInFile InputFile="$(EngCommonToolsShFile)"
|
||||
OldText="ExitWithExitCode 0"
|
||||
NewText="ExitWithExitCode $exit_code" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)UpdateBuildToolFramework.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="UpdateNuGetConfig"
|
||||
BeforeTargets="Build"
|
||||
Condition="'$(NuGetConfigFile)' != '' OR '@(NuGetConfigFiles)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)UpdateNuGetConfig.complete">
|
||||
|
||||
<PropertyGroup>
|
||||
<PrebuiltNuGetSourceName>prebuilt</PrebuiltNuGetSourceName>
|
||||
<PreviouslySourceBuiltNuGetSourceName>previously-source-built</PreviouslySourceBuiltNuGetSourceName>
|
||||
<ReferencePackagesNuGetSourceName>reference-packages</ReferencePackagesNuGetSourceName>
|
||||
<SourceBuiltNuGetSourceName>source-built</SourceBuiltNuGetSourceName>
|
||||
<ExtraSourcesNuGetSourceName>ExtraSources</ExtraSourcesNuGetSourceName>
|
||||
<DotNet5InternalTransportNuGetSourceName>dotnet5-internal-transport</DotNet5InternalTransportNuGetSourceName>
|
||||
<SourceBuildSources>$(PrebuiltNuGetSourceName);$(PreviouslySourceBuiltNuGetSourceName);$(ReferencePackagesNuGetSourceName);$(SourceBuiltNuGetSourceName)</SourceBuildSources>
|
||||
<SourceBuildSources Condition="'$(ExtraRestoreSourcePath)' != ''">$(SourceBuildSources);$(ExtraSourcesNuGetSourceName)</SourceBuildSources>
|
||||
<SourceBuildSources Condition="'$(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)' != '' and '$(SetUpInternalTransportFeed)' == 'true'">$(SourceBuildSources);$(DotNet5InternalTransportNuGetSourceName)</SourceBuildSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Update the detected or manually specified NuGetConfigFile, but also allow multiple. -->
|
||||
<ItemGroup>
|
||||
<NuGetConfigFiles Include="$(NuGetConfigFile)" />
|
||||
</ItemGroup>
|
||||
|
||||
<RemoveInternetSourcesFromNuGetConfig
|
||||
NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
BuildWithOnlineSources="$(BuildWithOnlineSources)"
|
||||
KeepFeedPrefixes="@(KeepFeedPrefixes)" />
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="$(PrebuiltNuGetSourceName)"
|
||||
SourcePath="$(PrebuiltPackagesPath)"
|
||||
/>
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="$(PreviouslySourceBuiltNuGetSourceName)"
|
||||
SourcePath="$(PrebuiltSourceBuiltPackagesPath)"
|
||||
/>
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="$(ReferencePackagesNuGetSourceName)"
|
||||
SourcePath="$(ReferencePackagesDir)"
|
||||
/>
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="$(SourceBuiltNuGetSourceName)"
|
||||
SourcePath="$(SourceBuiltPackagesPath)" />
|
||||
|
||||
<AddSourceToNuGetConfig NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="$(ExtraSourcesNuGetSourceName)"
|
||||
SourcePath="$(ExtraRestoreSourcePath)"
|
||||
Condition="'$(ExtraRestoreSourcePath)' != ''" />
|
||||
|
||||
<!--
|
||||
The internal transport feed is dynamically added by Arcade by a script called directly in the
|
||||
official pipeline, so in some cases we need to do the same here.
|
||||
-->
|
||||
<AddSourceToNuGetConfig
|
||||
Condition="
|
||||
'$(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)' != '' and
|
||||
'$(SetUpInternalTransportFeed)' == 'true'"
|
||||
NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
SourceName="$(DotNet5InternalTransportNuGetSourceName)"
|
||||
SourcePath="https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet5-internal-transport/nuget/v3/index.json" />
|
||||
|
||||
<UpdateNuGetConfigPackageSourcesMappings
|
||||
NuGetConfigFile="%(NuGetConfigFiles.Identity)"
|
||||
BuildWithOnlineSources="$(BuildWithOnlineSources)"
|
||||
SourceBuildSources="$(SourceBuildSources)" />
|
||||
|
||||
<!-- Update NuGet.Config files that have deprecated myget feeds -->
|
||||
<ItemGroup>
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/nuget-build/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/nuget-build/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://www.myget.org/F/nugetbuild/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/nuget-build/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json"
|
||||
NewFeed="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/vstest/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/test-tools/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/mstestv2/auth/1e768268-8c95-4e7e-9fd2-0eb1b1b69b18/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/test-tools/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/roslyn/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/roslyn-analyzers/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/roslyn-master-nightly/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/symreader-converter/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/interactive-window/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/mstestv2/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/test-tools/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/vsunittesting/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/msbuild/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
|
||||
<LegacyFeedMapping
|
||||
Include="https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json"
|
||||
NewFeed="https://pkgs.dev.azure.com/dnceng/public/_packaging/myget-legacy/nuget/v3/index.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ReplaceFeedsInNugetConfig InputFile="%(NuGetConfigFiles.Identity)"
|
||||
FeedMapping="@(LegacyFeedMapping)" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)UpdateNuGetConfig.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="UpdateGlobalJsonVersions"
|
||||
BeforeTargets="Build"
|
||||
Condition="'$(GlobalJsonFile)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)UpdateGlobalJsonVersions.complete">
|
||||
<ItemGroup>
|
||||
<_PossibleCliVersionJsonPath Include="sdk.version" />
|
||||
<_PossibleCliVersionJsonPath Include="tools.dotnet" />
|
||||
</ItemGroup>
|
||||
|
||||
<UpdateJson JsonFilePath="$(GlobalJsonFile)"
|
||||
PathToAttribute="%(_PossibleCliVersionJsonPath.Identity)"
|
||||
NewAttributeValue="$(SDK_VERSION)"
|
||||
SkipUpdateIfMissingKey="true" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)UpdateGlobalJsonVersions.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateBuildOutputProps"
|
||||
BeforeTargets="Build"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)CreateBuildOutputProps.complete">
|
||||
<PropertyGroup>
|
||||
<_PackageVersionPropsBackupPath>$(PackageVersionPropsPath).pre.$(RepositoryName).xml</_PackageVersionPropsBackupPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PreviouslySourceBuiltPackages Include="$(SourceBuiltPackagesPath)*.nupkg"
|
||||
Exclude="$(SourceBuiltPackagesPath)*.symbols.nupkg" />
|
||||
<_AdditionalAssetDirs Include="$(SourceBuiltToolsetDir)" Condition="Exists('$(SourceBuiltToolsetDir)')" />
|
||||
</ItemGroup>
|
||||
|
||||
<WriteBuildOutputProps NuGetPackages="@(PreviouslySourceBuiltPackages)"
|
||||
ExtraProperties="@(ExtraPackageVersionPropsPackageInfo)"
|
||||
AdditionalAssetDirs="@(_AdditionalAssetDirs)"
|
||||
OutputPath="$(CurrentSourceBuiltPackageVersionPropsPath)" />
|
||||
|
||||
<WriteBuildOutputProps NuGetPackages="@(PreviouslySourceBuiltPackages)"
|
||||
IncludeCreationTimeProperty="true"
|
||||
OutputPath="$(_PackageVersionPropsBackupPath)" />
|
||||
|
||||
<Message Importance="High" Text="$(RepositoryName) using package version properties saved at $(_PackageVersionPropsBackupPath) " />
|
||||
|
||||
<ReadNuGetPackageInfos PackagePaths="@(PreviouslySourceBuiltPackages)">
|
||||
<Output TaskParameter="PackageInfoItems" ItemName="_PreviouslySourceBuiltPackageInfos" />
|
||||
</ReadNuGetPackageInfos>
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)CreateBuildOutputProps.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateCombinedRestoreSourceAndVersionProps"
|
||||
BeforeTargets="Build"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)CreateCombinedRestoreSourceAndVersionProps.complete">
|
||||
<ItemGroup>
|
||||
<_DotNetRestoreSources Include="$(ExtraRestoreSourcePath)" Condition="'$(ExtraRestoreSourcePath)' != ''"/>
|
||||
<_DotNetRestoreSources Include="$(SourceBuiltPackagesPath)" />
|
||||
<_DotNetRestoreSources Include="$(ReferencePackagesDir)"/>
|
||||
<_DotNetRestoreSources Include="$(PrebuiltPackagesPath)"/>
|
||||
<_DotNetRestoreSources Include="$(PrebuiltSourceBuiltPackagesPath)"/>
|
||||
<PreviouslySourceBuiltPackages Include="$(SourceBuiltPackagesPath)*.nupkg"
|
||||
Exclude="$(SourceBuiltPackagesPath)*.symbols.nupkg" />
|
||||
<_AdditionalAssetDirs Include="$(SourceBuiltToolsetDir)" Condition="Exists('$(SourceBuiltToolsetDir)')" />
|
||||
</ItemGroup>
|
||||
<WriteRestoreSourceAndVersionProps NuGetPackages="@(PreviouslySourceBuiltPackages)"
|
||||
ExtraProperties="@(ExtraPackageVersionPropsPackageInfo)"
|
||||
AdditionalAssetDirs="@(_AdditionalAssetDirs)"
|
||||
RestoreSources="@(_DotNetRestoreSources)"
|
||||
OutputPath="$(RestoreSourcePropsPath)" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)CreateCombinedRestoreSourceAndVersionProps.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Build"
|
||||
DependsOnTargets="BuildRepoReferences"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)Build.complete">
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Building $(ProjectBuildReason)" />
|
||||
<Message Importance="High" Text="Running command:" />
|
||||
<Message Importance="High" Text=" $(BuildCommand) $(RepoApiArgs)" Condition="'$(BuildCommand)' != ''" />
|
||||
<Message Importance="High" Text=" Using custom build target" Condition="'$(BuildCommand)' == ''" />
|
||||
<Message Importance="High" Text=" Log: $(RepoConsoleLogFile)" />
|
||||
<Message Importance="High" Text=" With Environment Variables:" />
|
||||
<Message Importance="High" Text=" %(EnvironmentVariables.Identity)" />
|
||||
<CallTarget Targets="RepoBuild" />
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Building $(ProjectBuildReason)...done" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)Build.complete" Overwrite="true" />
|
||||
<OnError ExecuteTargets="ReportRepoError" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RepoBuild">
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Condition="'$(NUGET_PACKAGES)'!=''" Include="NUGET_PACKAGES=$(NUGET_PACKAGES)" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<FullCommand Condition="'$(LogVerbosityOptOut)' != 'true'">$(BuildCommand) /v:$(LogVerbosity) $(RepoApiArgs) $(RedirectRepoOutputToLog)</FullCommand>
|
||||
<FullCommand Condition="'$(LogVerbosityOptOut)' == 'true'">$(BuildCommand) $(RepoApiArgs) $(RedirectRepoOutputToLog)</FullCommand>
|
||||
</PropertyGroup>
|
||||
<Exec Command="$(FullCommand)"
|
||||
WorkingDirectory="$(ProjectDirectory)"
|
||||
EnvironmentVariables="@(EnvironmentVariables)"
|
||||
IgnoreStandardErrorWarningFormat="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="ReportRepoError">
|
||||
<Message Importance="High" Text="$([System.IO.File]::ReadAllText('$(RepoConsoleLogFile)'))" Condition="Exists('$(RepoConsoleLogFile)')" />
|
||||
<Message Importance="High" Text="'$(RepositoryName)' failed during build." />
|
||||
<Message Importance="High" Text="See '$(RepoConsoleLogFile)' for more information." Condition="Exists('$(RepoConsoleLogFile)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Package" AfterTargets="Build"
|
||||
Condition="'$(BuildPackagesCommand)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)Package.complete">
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Packaging $(ProjectBuildReason)" />
|
||||
<Message Importance="High" Text="Running command:" />
|
||||
<Message Importance="High" Text=" $(BuildPackagesCommand)" />
|
||||
<Message Importance="High" Text=" Log: $(RepoConsoleLogFile)" />
|
||||
<Message Importance="High" Text=" With Environment Variables:" />
|
||||
<Message Importance="High" Text=" %(EnvironmentVariables.Identity)" />
|
||||
<Exec Command="$(BuildPackagesCommand) /v:$(LogVerbosity) $(RedirectRepoOutputToLog)"
|
||||
WorkingDirectory="$(ProjectDirectory)"
|
||||
EnvironmentVariables="@(EnvironmentVariables)"
|
||||
IgnoreStandardErrorWarningFormat="true" />
|
||||
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Packaging $(ProjectBuildReason)...done" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)Package.complete" Overwrite="true" />
|
||||
<OnError ExecuteTargets="ReportRepoError" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GatherBuiltPackages">
|
||||
<ItemGroup>
|
||||
<!-- Filter out packages for WriteVersions -->
|
||||
<_BuiltPackages Condition="'$(PackagesOutput)' != ''" Include="$(PackagesOutput)/*.nupkg" Exclude="$(PackagesOutput)/*.symbols.nupkg"/>
|
||||
<_BuiltPackages Condition="'@(PackagesOutputList)' != ''" Include="%(PackagesOutputList.Identity)/*.nupkg" Exclude="%(PackagesOutputList.Identity)/*.symbols.nupkg"/>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="ExtractIntermediatePackages"
|
||||
AfterTargets="Package">
|
||||
<ItemGroup>
|
||||
<_BuiltIntermediatePackages Condition="'$(PackagesOutput)' != ''" Include="$(PackagesOutput)/Microsoft.SourceBuild.Intermediate.*.nupkg" Exclude="$(PackagesOutput)/*.symbols.nupkg"/>
|
||||
<_BuiltIntermediatePackages Condition="'@(PackagesOutputList)' != ''" Include="%(PackagesOutputList.Identity)/Microsoft.SourceBuild.Intermediate.*.nupkg" Exclude="%(PackagesOutputList.Identity)/*.symbols.nupkg"/>
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'@(_BuiltIntermediatePackages)' != ''">
|
||||
<_NupkgDestinationPath>$(SourceBuiltPackagesPath)</_NupkgDestinationPath>
|
||||
<!-- SBRP packages unpack into the Reference packages directory instead of into blob-feed packages -->
|
||||
<_NupkgDestinationPath Condition="$([System.String]::Copy(%(_BuiltIntermediatePackages.Identity)).Contains('source-build-reference-packages'))">$(ReferencePackagesDir)</_NupkgDestinationPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<ZipFileExtractToDirectory Condition="'@(_BuiltIntermediatePackages)' != ''"
|
||||
SourceArchive="%(_BuiltIntermediatePackages.Identity)"
|
||||
DestinationDirectory="$(SourceBuiltPackagesPath)extractArtifacts/%(_BuiltIntermediatePackages.FileName)/"
|
||||
OverwriteDestination="true" />
|
||||
|
||||
<ItemGroup Condition="'@(_BuiltIntermediatePackages)' != ''">
|
||||
<SourceBuiltNupkgFiles Include="$(SourceBuiltPackagesPath)extractArtifacts/**/artifacts/*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<Move
|
||||
Condition="'@(SourceBuiltNupkgFiles)' != ''"
|
||||
SourceFiles="@(SourceBuiltNupkgFiles)"
|
||||
DestinationFiles="@(SourceBuiltNupkgFiles -> '$(_NupkgDestinationPath)%(Filename)%(Extension)')" />
|
||||
|
||||
<ItemGroup Condition="'@(_BuiltIntermediatePackages)' != ''">
|
||||
<SourceBuiltAssetFiles Include="$(SourceBuiltPackagesPath)extractArtifacts/**/artifacts/*.*" />
|
||||
<SourceBuiltAssetFiles Remove="$(SourceBuiltPackagesPath)extractArtifacts/**/artifacts/*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<Move
|
||||
Condition="'@(SourceBuiltAssetFiles)' != ''"
|
||||
SourceFiles="@(SourceBuiltAssetFiles)"
|
||||
DestinationFiles="@(SourceBuiltAssetFiles -> '$(SourceBuiltAssetsDir)%(Filename)%(Extension)')" />
|
||||
|
||||
<RemoveDir
|
||||
Condition="Exists('$(SourceBuiltPackagesPath)extractArtifacts/')"
|
||||
Directories="$(SourceBuiltPackagesPath)extractArtifacts/" />
|
||||
|
||||
</Target>
|
||||
|
||||
<!-- Copy restored packages from inner build to ensure they're included in the
|
||||
main build prebuilt check -->
|
||||
<Target Name="CopyInnerBuildRestoredPackages"
|
||||
AfterTargets="Package">
|
||||
<ItemGroup>
|
||||
<_InnerPackageCacheFiles Include="$(ProjectDirectory)artifacts/source-build/self/package-cache/**/*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(_InnerPackageCacheFiles)"
|
||||
DestinationFiles="$(PackagesDir)%(RecursiveDir)%(Filename)%(Extension)"
|
||||
Condition=" '@(_InnerPackageCacheFiles)' != '' " />
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyPackage"
|
||||
AfterTargets="Package"
|
||||
Condition="'$(OutputPlacementRepoApiImplemented)' != 'true' AND ('$(PackagesOutput)' != '' OR '@(PackagesOutputList)' != '')"
|
||||
DependsOnTargets="GatherBuiltPackages"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)CopyPackage.complete">
|
||||
<Copy SourceFiles="@(_BuiltPackages)"
|
||||
DestinationFolder="$(SourceBuiltPackagesPath)"
|
||||
Condition="'@(_BuiltPackages)'!=''" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)CopyPackage.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RemoveBuiltPackagesFromCache"
|
||||
AfterTargets="Package"
|
||||
Condition="'@(_BuiltPackages)'!=''"
|
||||
DependsOnTargets="GatherBuiltPackages"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)RemoveBuiltPackagesFromCache.complete">
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Excluding Arcade here will keep it in the cache, because that's where we're running from.
|
||||
Subsequent projects will get Arcade from eng/source-built-sdks. -->
|
||||
<PackagePaths Include="@(_BuiltPackages)" Exclude="$(PackagesOutput)/Microsoft.DotNet.Arcade.Sdk.*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<ReadNuGetPackageInfos PackagePaths="@(PackagePaths)">
|
||||
<Output TaskParameter="PackageInfoItems" ItemName="_BuiltPackageInfos" />
|
||||
</ReadNuGetPackageInfos>
|
||||
|
||||
<!-- Copy built nupkgs from nuget packages cache directory to the previouslyRestored directory
|
||||
and then delete all expanded files and the nupkg from the package cache so the next time
|
||||
the package is used, it will reload the source-built version -->
|
||||
<ItemGroup>
|
||||
<_FilesToCopy Include="$(PackagesDir)$([System.String]::copy('%(_BuiltPackageInfos.PackageId)').ToLower())/%(_BuiltPackageInfos.PackageVersion)/**/*.nupkg" />
|
||||
<_FilesToDelete Include="$(PackagesDir)$([System.String]::copy('%(_BuiltPackageInfos.PackageId)').ToLower())/%(_BuiltPackageInfos.PackageVersion)/**/*.*" />
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(_FilesToCopy)" DestinationFolder="$(PreviouslyRestoredPackagesPath)$(RepositoryName)/" />
|
||||
<Delete Files="@(_FilesToDelete)" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)RemoveBuiltPackagesFromCache.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="DisplayDirSizeBeforeBuild"
|
||||
BeforeTargets="Build"
|
||||
Condition=" '$(CleanWhileBuilding)' == 'true' ">
|
||||
<Message Text="DirSize Before Building $(RepositoryName)" Importance="High" />
|
||||
<Exec Command="df -h $(ProjectDir)" />
|
||||
</Target>
|
||||
<Target Name="DisplayDirSizeAfterBuild"
|
||||
AfterTargets="Build"
|
||||
BeforeTargets="CleanupRepo"
|
||||
Condition=" '$(CleanWhileBuilding)' == 'true' ">
|
||||
<Message Text="DirSize After Building $(RepositoryName)" Importance="High" />
|
||||
<Exec Command="df -h $(ProjectDir)" />
|
||||
</Target>
|
||||
<Target Name="DisplayDirSizeAfterClean"
|
||||
AfterTargets="CleanupRepo"
|
||||
Condition=" '$(CleanWhileBuilding)' == 'true' ">
|
||||
<Message Text="DirSize After CleanupRepo $(RepositoryName)" Importance="High" />
|
||||
<Exec Command="df -h $(ProjectDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CleanupRepo"
|
||||
AfterTargets="RemoveBuiltPackagesFromCache"
|
||||
Condition=" '$(CleanWhileBuilding)' == 'true' ">
|
||||
|
||||
<!-- Make a copy of the build logs & project.assets.json files-->
|
||||
<PropertyGroup>
|
||||
<BuildLogsDir>$(ProjectDirectory)artifacts/buildLogs</BuildLogsDir>
|
||||
<BuildObjDir>$(ProjectDirectory)artifacts/buildObj</BuildObjDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<LogFilesToCopy Include="$(ProjectDirectory)artifacts/**/*.log" />
|
||||
<LogFilesToCopy Include="$(ProjectDirectory)artifacts/**/*.binlog" />
|
||||
<ObjFilesToCopy Include="$(ProjectDirectory)artifacts/**/project.assets.json" />
|
||||
</ItemGroup>
|
||||
<MakeDir Directories="$(BuildLogsDir)" Condition="Exists('$(ProjectDirectory)artifacts')"/>
|
||||
<MakeDir Directories="$(BuildObjDir)" Condition="Exists('$(ProjectDirectory)artifacts')"/>
|
||||
<Copy SourceFiles="@(LogFilesToCopy)" DestinationFolder="$(BuildLogsDir)/%(RecursiveDir)" Condition="Exists('$(BuildLogsDir)') AND '@(LogFilesToCopy)' != '' " />
|
||||
<Copy SourceFiles="@(ObjFilesToCopy)" DestinationFolder="$(BuildObjDir)/%(RecursiveDir)" Condition="Exists('$(BuildObjDir)') AND '@(ObjFilesToCopy)' != '' " />
|
||||
|
||||
<!-- Cleanup everything else -->
|
||||
<ItemGroup>
|
||||
<DirsToDelete Include="$([System.IO.Directory]::GetDirectories("$(ProjectDirectory)artifacts/"))" Condition="Exists('$(ProjectDirectory)artifacts')" />
|
||||
<DirsToDelete Remove="$(BuildLogsDir)" />
|
||||
<DirsToDelete Remove="$(BuildObjDir)" />
|
||||
</ItemGroup>
|
||||
|
||||
<RemoveDir Directories="@(DirsToDelete)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="ExtractToolPackage"
|
||||
DependsOnTargets="GatherBuiltPackages"
|
||||
AfterTargets="Build"
|
||||
Condition="'@(BuiltSdkPackageOverride)' != ''"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)ExtractToolPackage.complete">
|
||||
<ItemGroup>
|
||||
<_ToolPackage
|
||||
Condition="'%(BuiltSdkPackageOverride.Version)' == ''"
|
||||
Include="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity)*.nupkg"
|
||||
Exclude="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity)*.symbols.nupkg"
|
||||
Id="%(BuiltSdkPackageOverride.Identity)" />
|
||||
<_ToolPackage
|
||||
Condition="'%(BuiltSdkPackageOverride.Version)' != ''"
|
||||
Include="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).nupkg"
|
||||
Exclude="$(SourceBuiltPackagesPath)%(BuiltSdkPackageOverride.Identity).%(BuiltSdkPackageOverride.Version).symbols.nupkg"
|
||||
Id="%(BuiltSdkPackageOverride.Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ZipFileExtractToDirectory SourceArchive="%(_ToolPackage.Identity)"
|
||||
DestinationDirectory="$(SourceBuiltSdksDir)%(_ToolPackage.Id)\"
|
||||
OverwriteDestination="true" />
|
||||
<ItemGroup>
|
||||
<ExtractedToolFiles Include="$(SourceBuiltSdksDir)%(_ToolPackage.Id)/**/*netcore*/*.dll" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(ExtractedToolFiles)" DestinationFolder="$(SourceBuiltSdksDir)/" />
|
||||
|
||||
<!-- TODO: When unpacking using ZipFileExtractToDirectory, this executable file has the wrong
|
||||
permissions. See https://github.com/dotnet/source-build/issues/2259 -->
|
||||
<Exec Command="chmod 755 git-clone-to-dir.sh"
|
||||
Condition=" '%(_ToolPackage.Id)' == 'Microsoft.DotNet.Arcade.Sdk' "
|
||||
WorkingDirectory="$(SourceBuiltSdksDir)%(_ToolPackage.Id)/tools/SourceBuild/" />
|
||||
|
||||
<!-- Allow overriding of Arcade targets for SourceBuild to enable quicker
|
||||
dev turnaround for Preview 6 -->
|
||||
<PropertyGroup>
|
||||
<ArcadeSDKToolPackagePath></ArcadeSDKToolPackagePath>
|
||||
<ArcadeSDKToolPackagePath Condition=" '%(_ToolPackage.Id)' == 'Microsoft.DotNet.Arcade.Sdk' ">$(SourceBuiltSdksDir)%(_ToolPackage.Id)/</ArcadeSDKToolPackagePath>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<OverrideArcadeFiles Include="$(ArcadeOverridesDir)**/*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy
|
||||
Condition=" '$(ArcadeSDKToolPackagePath))' != '' "
|
||||
SourceFiles="@(OverrideArcadeFiles)"
|
||||
DestinationFiles="$(ArcadeSDKToolPackagePath)tools/SourceBuild/%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)ExtractToolPackage.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="EnsurePackagesCreated"
|
||||
AfterTargets="CopyPackage"
|
||||
Condition="'$(SkipEnsurePackagesCreated)' != 'true'"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)EnsurePackagesCreated.complete">
|
||||
<ItemGroup>
|
||||
<JustSourceBuiltPackages
|
||||
Include="$(SourceBuiltPackagesPath)*.nupkg"
|
||||
Exclude="
|
||||
$(SourceBuiltPackagesPath)*.symbols.nupkg;
|
||||
@(PreviouslySourceBuiltPackages)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_PackagesNotCreatedReason Include="^ There may have been a silent failure in the submodule build. To confirm, check the build log file for undetected errors that may have prevented package creation: $(RepoConsoleLogFile)" />
|
||||
<_PackagesNotCreatedReason Include="^ This error might be a false positive if $(RepositoryName) intentionally builds no nuget packages. If so, set the SkipEnsurePackagesCreated property to true in $(MSBuildProjectFullPath)" />
|
||||
<_PackagesNotCreatedReason Include="^ The 'bin' directory might be dirty from a previous build and the package files already existed. If so, perform a clean build, or check which packages were already in 'bin' by opening $(_PackageVersionPropsBackupPath)" />
|
||||
<_PackagesNotCreatedReason Include="^ The packages may have been written to an unexpected directory. For example, some repos used bin/ and changed to artifacts/ to match Arcade. Check PackagesOutput in $(MSBuildProjectFullPath) (currently '$(PackagesOutput)')" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Condition="'@(JustSourceBuiltPackages)' == ''"
|
||||
Text="$(RepositoryName) produced no new source-built package identities. Known possible causes:%0A@(_PackagesNotCreatedReason, '%0A')" />
|
||||
|
||||
<ReadNuGetPackageInfos PackagePaths="@(JustSourceBuiltPackages)">
|
||||
<Output TaskParameter="PackageInfoItems" ItemName="_JustSourceBuiltPackageInfos" />
|
||||
</ReadNuGetPackageInfos>
|
||||
|
||||
<Message Importance="High" Text="New NuGet package(s) after building $(RepositoryName):" />
|
||||
<Message Importance="High" Text=" -> %(_JustSourceBuiltPackageInfos.PackageId) %(_JustSourceBuiltPackageInfos.PackageVersion)" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)EnsurePackagesCreated.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="Clean" Condition="'$(CleanCommand)' != ''" >
|
||||
<Exec Command="$(CleanCommand) /v:$(LogVerbosity) $(RedirectRepoOutputToLog)"
|
||||
WorkingDirectory="$(ProjectDirectory)"
|
||||
EnvironmentVariables="@(EnvironmentVariables)"
|
||||
IgnoreStandardErrorWarningFormat="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="SetNuGetPackagesEnvironment" Condition="'$(ArchiveDownloadedPackages)' == 'true'">
|
||||
<PropertyGroup>
|
||||
<LocalNuGetPackagesRootForRepository>$(LocalNuGetPackagesRoot)$(RepositoryName)/</LocalNuGetPackagesRootForRepository>
|
||||
</PropertyGroup>
|
||||
|
||||
<MakeDir Directories="$(LocalNuGetPackagesRootForRepository)" />
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="NUGET_PACKAGES=$(LocalNuGetPackagesRootForRepository)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="SetSourceBuiltSdkOverrides"
|
||||
BeforeTargets="Build"
|
||||
Condition="'@(UseSourceBuiltSdkOverride)' != ''">
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_ID_%(UseSourceBuiltSdkOverride.Group)=%(UseSourceBuiltSdkOverride.Identity)" />
|
||||
<EnvironmentVariables Include="SOURCE_BUILT_SDK_VERSION_%(UseSourceBuiltSdkOverride.Group)=%(UseSourceBuiltSdkOverride.Version)" />
|
||||
<EnvironmentVariables Condition="'%(UseSourceBuiltSdkOverride.Location)' != ''" Include="SOURCE_BUILT_SDK_DIR_%(UseSourceBuiltSdkOverride.Group)=%(UseSourceBuiltSdkOverride.Location)/" />
|
||||
<EnvironmentVariables Condition="'%(UseSourceBuiltSdkOverride.Location)' == ''" Include="SOURCE_BUILT_SDK_DIR_%(UseSourceBuiltSdkOverride.Group)=$(SourceBuiltSdksDir)%(UseSourceBuiltSdkOverride.Identity)/" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="WritePrebuiltUsageData"
|
||||
DependsOnTargets="GetAllProjectDirectories"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)WritePrebuiltUsageData.complete">
|
||||
<!-- Save the PVP snapshot of each build step to be evaluated while building the report. -->
|
||||
<ItemGroup>
|
||||
<PackageVersionPropsSnapshotFiles Include="$(IntermediatePath)PackageVersions.props.pre.*.xml" />
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(PackageVersionPropsSnapshotFiles)" DestinationFolder="$(PackageReportDir)snapshots/" />
|
||||
|
||||
<ItemGroup>
|
||||
<AllRestoredPackageFiles Include="$(LocalNuGetPackagesRoot)**/*.nupkg" />
|
||||
<AllRestoredPackageFiles Include="$(PackagesDir)**/*.nupkg" />
|
||||
|
||||
<!-- Only contains packages when building a tarball. -->
|
||||
<TarballPrebuiltPackageFiles Include="$(PrebuiltPackagesPath)*.nupkg" />
|
||||
|
||||
<SourceBuiltPackageFiles Include="$(SourceBuiltBlobFeedDir)**/*.nupkg" />
|
||||
<SourceBuiltPackageFiles Include="$(PrebuiltSourceBuiltPackagesPath)*.nupkg" />
|
||||
<ReferencePackageFiles Include="$(ReferencePackagesDir)**/*.nupkg" />
|
||||
|
||||
<!-- Check all RIDs from all restored Microsoft.NETCore.Platforms packages. -->
|
||||
<PlatformsRuntimeJsonFiles Include="$(LocalNuGetPackagesRoot)*/microsoft.netcore.platforms/*/runtime.json" />
|
||||
<PlatformsRuntimeJsonFiles Include="$(PackagesDir)microsoft.netcore.platforms/*/runtime.json" />
|
||||
|
||||
<!-- Add some other potential top-level project directories for a more specific report. -->
|
||||
<ProjectDirectories Include="$(SourceBuiltSdksDir);$(TaskDirectory);$(BaseIntermediatePath)" />
|
||||
<!-- Finally, scan entire source-build, in case project.assets.json ends up in an unexpected place. -->
|
||||
<ProjectDirectories Include="$(ProjectDir)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- This file is a resource tracked by Git, not generated by restore. Ignore false positive. -->
|
||||
<IgnoredProjectAssetsJsonFiles Include="$(SubmoduleDirectory)*nuget-client*/**/test/NuGet.Core.Tests/NuGet.Build.Tasks.Pack.Test/compiler/resources/project.assets.json"/>
|
||||
</ItemGroup>
|
||||
|
||||
<WritePackageUsageData
|
||||
RestoredPackageFiles="@(AllRestoredPackageFiles)"
|
||||
TarballPrebuiltPackageFiles="@(TarballPrebuiltPackageFiles)"
|
||||
SourceBuiltPackageFiles="@(SourceBuiltPackageFiles)"
|
||||
ReferencePackageFiles="@(ReferencePackageFiles)"
|
||||
PlatformsRuntimeJsonFiles="@(PlatformsRuntimeJsonFiles)"
|
||||
TargetRid="$(TargetRid)"
|
||||
ProjectDirectories="@(ProjectDirectories)"
|
||||
RootDir="$(ProjectDir)"
|
||||
IgnoredProjectAssetsJsonFiles="@(IgnoredProjectAssetsJsonFiles)"
|
||||
DataFile="$(PackageReportDataFile)"
|
||||
ProjectAssetsJsonArchiveFile="$(ProjectAssetsJsonArchiveFile)" />
|
||||
|
||||
<!-- Copy all restored packages to resulting prebuilt folder -->
|
||||
<ItemGroup>
|
||||
<UsedPrebuiltPackageFiles Include="@(AllRestoredPackageFiles)" />
|
||||
</ItemGroup>
|
||||
<Copy
|
||||
SourceFiles="@(UsedPrebuiltPackageFiles)"
|
||||
DestinationFolder="$(ResultingPrebuiltPackagesDir)" />
|
||||
|
||||
<!-- Remove packages that are known to be built -->
|
||||
<ItemGroup>
|
||||
<BuiltPackageFiles Include="@(TarballPrebuiltPackageFile)" />
|
||||
<BuiltPackageFiles Include="@(SourceBuiltPackageFiles)" />
|
||||
<BuiltPackageFiles Include="@(ReferencePackageFiles)" />
|
||||
<BuiltPackageFiles>
|
||||
<LCFilename>$([System.String]::Copy(%(Filename)).ToLower())</LCFilename>
|
||||
</BuiltPackageFiles>
|
||||
</ItemGroup>
|
||||
<Delete Files="@(BuiltPackageFiles->'$(ResultingPrebuiltPackagesDir)%(LCFilename)%(Extension)')" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)WritePrebuiltUsageData.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GetAllProjectDirectories">
|
||||
<ItemGroup>
|
||||
<AllRepoProjects Include="$(RepoProjectsDir)*.proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Message Importance="High" Text="Finding project directories..." />
|
||||
|
||||
<MSBuild Projects="@(AllRepoProjects)"
|
||||
Targets="GetProjectDirectory">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="ProjectDirectories" />
|
||||
</MSBuild>
|
||||
</Target>
|
||||
|
||||
<Target Name="ReportPrebuiltUsage"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)ReportPrebuiltUsage.complete">
|
||||
<PropertyGroup>
|
||||
<FailOnPrebuiltBaselineError Condition="'$(FailOnPrebuiltBaselineError)' == ''">false</FailOnPrebuiltBaselineError>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageVersionPropsSavedSnapshotFiles Include="$(PackageReportDir)snapshots/PackageVersions.props.pre.*.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<WriteUsageReports DataFile="$(PackageReportDataFile)"
|
||||
PackageVersionPropsSnapshots="@(PackageVersionPropsSavedSnapshotFiles)"
|
||||
ProdConBuildManifestFile="$(ProdConManifestFile)"
|
||||
PoisonedReportFile="$(PoisonedReportFile)"
|
||||
OutputDirectory="$(PackageReportDir)" />
|
||||
|
||||
<PropertyGroup Condition="'$(ContinueOnPrebuiltBaselineError)' == ''">
|
||||
<ContinueOnPrebuiltBaselineError>false</ContinueOnPrebuiltBaselineError>
|
||||
<ContinueOnPrebuiltBaselineError Condition="'$(FailOnPrebuiltBaselineError)' != 'true'">true</ContinueOnPrebuiltBaselineError>
|
||||
</PropertyGroup>
|
||||
|
||||
<ValidateUsageAgainstBaseline
|
||||
DataFile="$(PackageReportDataFile)"
|
||||
BaselineDataFile="$(BaselineDataFile)"
|
||||
OutputBaselineFile="$(PackageReportDir)generated-new-baseline.xml"
|
||||
OutputReportFile="$(PackageReportDir)baseline-comparison.xml"
|
||||
AllowTestProjectUsage="$(AllowTestProjectUsage)"
|
||||
ContinueOnError="$(ContinueOnPrebuiltBaselineError)" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)ReportPrebuiltUsage.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GetProjectDirectory" Outputs="$(ProjectDirectory)" />
|
||||
<Target Name="GetOfficialBuildId" Outputs="$(OfficialBuildId)" />
|
||||
<Target Name="GetRepositoryReferences" Outputs="@(RepositoryReference)" />
|
||||
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.targets, $(MSBuildThisFileDirectory)..))" />
|
||||
</Project>
|
45
src/SourceBuild/content/repo-projects/arcade.proj
Normal file
45
src/SourceBuild/content/repo-projects/arcade.proj
Normal file
|
@ -0,0 +1,45 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<!-- NuGet SDK resolver only checks nuget.config files. https://github.com/Microsoft/msbuild/issues/2914 -->
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
|
||||
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
|
||||
<!-- we need to use a prebuilt Arcade to build Arcade -->
|
||||
<UseBootstrapArcade>true</UseBootstrapArcade>
|
||||
<IsToolingProject>true</IsToolingProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeBootstrapSdkOverride)" />
|
||||
<BuiltSdkPackageOverride Include="@(ArcadeSdkOverride)" />
|
||||
<BuiltSdkPackageOverride Include="@(ArcadeCoreFxTestingOverride)" />
|
||||
<BuiltSdkPackageOverride Include="@(ArcadePackagingOverride)" />
|
||||
<BuiltSdkPackageOverride Include="@(ArcadeTargetFrameworkOverride)" />
|
||||
<BuiltSdkPackageOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="UsingToolMicrosoftNetCompilers=false" />
|
||||
<EnvironmentVariables Include="useInstalledDotNetCli=false" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExtraPackageVersionPropsPackageInfo Include="NuGetVersion" Version="%24(NuGetPackagingVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="sourcelink" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
67
src/SourceBuild/content/repo-projects/aspnetcore.proj
Normal file
67
src/SourceBuild/content/repo-projects/aspnetcore.proj
Normal file
|
@ -0,0 +1,67 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'OSX'">osx-x64</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'FreeBSD'">freebsd-x64</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'Windows_NT'">win-x64</OverrideTargetRid>
|
||||
|
||||
<!-- StandardSourceBuildArgs include -publish which is not supported by the aspnetcore build script. -->
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs.Replace('--publish', ''))</BuildCommandArgs>
|
||||
<!-- The arch flag (defaults to x64) overrides any value of TargetArchitecture that we might set -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) --arch $(Platform)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) --no-build-repo-tasks</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) --no-build-nodejs</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PublishCompressedFilesPathPrefix=$(SourceBuiltAspNetCoreRuntime)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PortableBuild=false /p:TargetRuntimeIdentifier=$(OverrideTargetRid)</BuildCommandArgs>
|
||||
<!-- Update to 1.0.0 version of reference assemblies which are built in SBRP instead of the preview.2 version
|
||||
included by Arcade -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:MicrosoftNetFrameworkReferenceAssembliesVersion=1.0.0</BuildCommandArgs>
|
||||
<BuildCommand>$(ProjectDirectory)\eng\build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
|
||||
<!-- CS0618 - Caused from deprecated IOperation.Children in
|
||||
Microsoft.CodeAnalysis 4.3.0, but aspnetcore references version 4.2.0.
|
||||
Requires https://github.com/dotnet/source-build/issues/2482
|
||||
CA1825 - Avoid unnecessary zero-length array allocations.
|
||||
Requires aspnet to upgrade roslyn version. -->
|
||||
<RepoNoWarns>CS0618;CA1825</RepoNoWarns>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!--
|
||||
From aspnetcore Versions.props:
|
||||
Versions of Microsoft.CodeAnalysis packages referenced by analyzers shipped in the SDK.
|
||||
This need to be pinned since they're used in 3.1 apps and need to be loadable in VS 2019.
|
||||
In source-build these don't need to be pinned and can use the source-built versions since it doesn't
|
||||
need to support VS 2019.
|
||||
-->
|
||||
<ExtraPackageVersionPropsPackageInfo Include="Analyzer_MicrosoftCodeAnalysisCSharpVersion" Version="%24(MicrosoftCodeAnalysisCSharpVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="Analyzer_MicrosoftCodeAnalysisCSharpWorkspacesVersion" Version="%24(MicrosoftCodeAnalysisCSharpWorkspacesVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="roslyn-analyzers" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceRegexInFiles" />
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
26
src/SourceBuild/content/repo-projects/command-line-api.proj
Normal file
26
src/SourceBuild/content/repo-projects/command-line-api.proj
Normal file
|
@ -0,0 +1,26 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
21
src/SourceBuild/content/repo-projects/deployment-tools.proj
Normal file
21
src/SourceBuild/content/repo-projects/deployment-tools.proj
Normal file
|
@ -0,0 +1,21 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommand>$(ProjectDirectory)eng\common\build$(ShellExtension) $(StandardSourceBuildArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
18
src/SourceBuild/content/repo-projects/diagnostics.proj
Normal file
18
src/SourceBuild/content/repo-projects/diagnostics.proj
Normal file
|
@ -0,0 +1,18 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommand>$(ProjectDirectory)eng\common\build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
26
src/SourceBuild/content/repo-projects/format.proj
Normal file
26
src/SourceBuild/content/repo-projects/format.proj
Normal file
|
@ -0,0 +1,26 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommand>$(ProjectDirectory)eng\common\build$(ShellExtension) $(StandardSourceBuildArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
|
||||
<!-- CS9057 - Caused by incoherency of analyzer assemblies during pre-release builds. -->
|
||||
<RepoNoWarns>CS9057</RepoNoWarns>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="roslyn-analyzers" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
41
src/SourceBuild/content/repo-projects/fsharp.proj
Normal file
41
src/SourceBuild/content/repo-projects/fsharp.proj
Normal file
|
@ -0,0 +1,41 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:TreatWarningsAsErrors=false</BuildCommandArgs>
|
||||
<!--
|
||||
dotnet/fsharp has a custom eng/build.sh script that handles its own sourcebuild arg
|
||||
differently from the ArcadeBuildFromSource MSBuild arg. Including both args is fine, but the
|
||||
custom sourcebuild arg is the one that's required. This avoids running bootstrapping twice.
|
||||
-->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) --sourcebuild</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="xliff-tasks" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
<EnvironmentVariables Include="CheckEolTargetFramework=false" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="SetArcadeSdkDir"
|
||||
BeforeTargets="Build">
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="ArcadeSdkDir=$(SourceBuiltSdksDir)%(UseSourceBuiltSdkOverride.Identity)/" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
122
src/SourceBuild/content/repo-projects/installer.proj
Normal file
122
src/SourceBuild/content/repo-projects/installer.proj
Normal file
|
@ -0,0 +1,122 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<SourceDirectory>installer</SourceDirectory>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'OSX'">osx-x64</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'FreeBSD'">freebsd-x64</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'Windows_NT'">win-x64</OverrideTargetRid>
|
||||
<OSNameOverride>$(OverrideTargetRid.Substring(0, $(OverrideTargetRid.IndexOf("-"))))</OSNameOverride>
|
||||
|
||||
<!-- Determine target portable rid based on bootstrap SDK's portable rid -->
|
||||
<_platformIndex>$(NETCoreSdkPortableRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
|
||||
<PortableOS>$(NETCoreSdkPortableRuntimeIdentifier.Substring(0, $(_platformIndex)))</PortableOS>
|
||||
|
||||
<RuntimeArg>--runtime-id $(OverrideTargetRid)</RuntimeArg>
|
||||
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(RuntimeArg)</BuildCommandArgs>
|
||||
|
||||
<!--
|
||||
Setting NETCoreAppMaximumVersion to a high version so that the sdk doesn't complain if we're restoring/publishing for a higher version than the sdk.
|
||||
See https://github.com/dotnet/sdk/issues/1512#issuecomment-377082883
|
||||
-->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:NETCoreAppMaximumVersion=99.9</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:OSName=$(OSNameOverride)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PortableOSName=$(PortableOS)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:Rid=$(OverrideTargetRid)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:DOTNET_INSTALL_DIR=$(DotNetCliToolDir)</BuildCommandArgs>
|
||||
|
||||
<BuildCommandArgs Condition="'$(TargetOS)' != 'Windows_NT'">$(BuildCommandArgs) /p:AspNetCoreInstallerRid=$(OverrideTargetRid)</BuildCommandArgs>
|
||||
<!-- core-sdk always wants to build portable on OSX and FreeBSD -->
|
||||
<BuildCommandArgs Condition="'$(TargetOS)' == 'FreeBSD'">$(BuildCommandArgs) /p:PortableBuild=true</BuildCommandArgs>
|
||||
<BuildCommandArgs Condition="'$(TargetOS)' != 'Windows_NT'">$(BuildCommandArgs) /p:CoreSetupRid=$(OverrideTargetRid)</BuildCommandArgs>
|
||||
|
||||
<!-- Consume the source-built Core-Setup and toolset. This line must be removed to source-build CLI without source-building Core-Setup first. -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PublicBaseURL=file:%2F%2F$(SourceBuiltAssetsDir)</BuildCommandArgs>
|
||||
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:UsePortableLinuxSharedFramework=false</BuildCommandArgs>
|
||||
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<SourceOverrideRepoApiImplemented>true</SourceOverrideRepoApiImplemented>
|
||||
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
|
||||
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
|
||||
<!-- This repo uses text-only template packages from the internal transport feed. -->
|
||||
<SetUpInternalTransportFeed>true</SetUpInternalTransportFeed>
|
||||
|
||||
<!-- CS9057 - Caused by incoherency of analyzer assemblies during pre-release builds. -->
|
||||
<RepoNoWarns>CS9057</RepoNoWarns>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="aspnetcore" />
|
||||
<RepositoryReference Include="fsharp" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="nuget-client" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="sdk" />
|
||||
<RepositoryReference Include="test-templates" />
|
||||
<RepositoryReference Include="vstest" />
|
||||
<RepositoryReference Include="xliff-tasks" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
If we have authentication, keep the templating internal feed (if one exists) to acquire the
|
||||
text-only prebuilt. The source-build repo as a whole should depend on the same internal feed as
|
||||
this repo does, so authentication should already be set up in the global endpoints json.
|
||||
-->
|
||||
<ItemGroup Condition="'$(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)' != ''">
|
||||
<KeepFeedPrefixes Include="darc-int-dotnet-aspnetcore-" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="CLIBUILD_SKIP_TESTS=true" />
|
||||
|
||||
<!-- Disable bundled tools until we can figure out:
|
||||
Unable to find package dotnet-dev-certs.
|
||||
Unable to find package dotnet-ef.
|
||||
Unable to find package dotnet-sql-cache.
|
||||
Unable to find package dotnet-user-secrets.
|
||||
Unable to find package dotnet-user-jwts.
|
||||
Unable to find package dotnet-watch. -->
|
||||
<EnvironmentVariables Include="CLIBUILD_SKIP_BUNDLEDDOTNETTOOLS=true" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="CopyTarBall"
|
||||
AfterTargets="ExtractIntermediatePackages"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)CopyTarBall.complete">
|
||||
|
||||
<PropertyGroup>
|
||||
<TarBallPath>$(SourceBuiltAssetsDir)dotnet-sdk-*$(TarBallExtension)</TarBallPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<TarBall Include="$(TarBallPath)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Condition="'@(TarBall)' == ''" Text="'$(TarBallPath)' does not exist." />
|
||||
|
||||
<Copy SourceFiles="@(TarBall)"
|
||||
DestinationFolder="$(SourceBuiltTarBallPath)" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)CopyTarBall.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
37
src/SourceBuild/content/repo-projects/known-good-tests.proj
Normal file
37
src/SourceBuild/content/repo-projects/known-good-tests.proj
Normal file
|
@ -0,0 +1,37 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- This project file includes only repos that are enabled for building and running tests in source-build. -->
|
||||
<!-- Windows and ARM builds don't support all repos, keep them separate for future conditioning. -->
|
||||
<Choose>
|
||||
<When Condition="'$(OS)' == 'Windows_NT'">
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
</When>
|
||||
<When Condition="$(Platform.Contains('arm'))">
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<ItemGroup>
|
||||
<!-- List of repos currently enabled. -->
|
||||
|
||||
<RepositoryReference Include="runtime" />
|
||||
|
||||
</ItemGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<Target Name="RepoBuild">
|
||||
</Target>
|
||||
|
||||
</Project>
|
79
src/SourceBuild/content/repo-projects/known-good.proj
Normal file
79
src/SourceBuild/content/repo-projects/known-good.proj
Normal file
|
@ -0,0 +1,79 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- This project file serves a couple of purpose.
|
||||
- We conditionally include repos based on what works on different platforms/configurations.
|
||||
- We need an "empty" build after the last real repo for prebuilt detection to work - this is that file.
|
||||
- If we have a repo that is not in core-sdk's dependency tree, we can still build it by including it here. -->
|
||||
|
||||
<!-- Windows and ARM builds currently only work through core-setup -->
|
||||
<Choose>
|
||||
<When Condition="'$(OS)' == 'Windows_NT'">
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
</When>
|
||||
<!-- Originally used to capture arm platforms. Now with support, left as an extension point for bringing up new architectures in the future. -->
|
||||
<When Condition="'true' == 'false'">
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="runtime" />
|
||||
</ItemGroup>
|
||||
</When>
|
||||
<Otherwise>
|
||||
<ItemGroup>
|
||||
<!-- Toolsets -->
|
||||
<RepositoryReference Include="source-build-reference-packages" />
|
||||
<RepositoryReference Include="sourcelink" />
|
||||
<RepositoryReference Include="arcade" />
|
||||
|
||||
<!-- Tier 1 -->
|
||||
<RepositoryReference Include="command-line-api" />
|
||||
<RepositoryReference Include="diagnostics" />
|
||||
<RepositoryReference Include="razor" />
|
||||
<RepositoryReference Include="xliff-tasks" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="symreader" />
|
||||
<RepositoryReference Include="xdt" />
|
||||
|
||||
<!-- Tier 2 -->
|
||||
<RepositoryReference Include="linker" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
|
||||
<!-- Tier 3 -->
|
||||
<RepositoryReference Include="roslyn-analyzers" />
|
||||
|
||||
<!-- Tier 4 -->
|
||||
<RepositoryReference Include="aspnetcore" />
|
||||
<RepositoryReference Include="deployment-tools" />
|
||||
<RepositoryReference Include="format" />
|
||||
<RepositoryReference Include="nuget-client" />
|
||||
<RepositoryReference Include="templating" />
|
||||
<RepositoryReference Include="test-templates" />
|
||||
|
||||
<!-- Tier 5 -->
|
||||
<RepositoryReference Include="fsharp" />
|
||||
<RepositoryReference Include="sdk" />
|
||||
<RepositoryReference Include="vstest" />
|
||||
|
||||
<!-- Tier 6 -->
|
||||
<RepositoryReference Include="installer" />
|
||||
|
||||
<!-- Package source-build artifacts -->
|
||||
<RepositoryReference Include="package-source-build" />
|
||||
</ItemGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<Target Name="RepoBuild">
|
||||
</Target>
|
||||
|
||||
</Project>
|
50
src/SourceBuild/content/repo-projects/linker.proj
Normal file
50
src/SourceBuild/content/repo-projects/linker.proj
Normal file
|
@ -0,0 +1,50 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Package version is pinned to what CoreFX expects because CoreFX doesn't take an override property. -->
|
||||
<ILLinkTasksPackageId>Microsoft.NET.ILLink.Tasks</ILLinkTasksPackageId>
|
||||
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<DeterministicBuildOptOut>true</DeterministicBuildOptOut>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Replace file includes in nuspec as recommended in the linker repo's ./corebuild/README.md -->
|
||||
<Target Name="ReplaceNuspecDllIncludeLines" BeforeTargets="Build" Condition="'$(TargetOS)' != 'Windows_NT'">
|
||||
<PropertyGroup>
|
||||
<LinkerTasksNuspecFile>$(ProjectDirectory)src/ILLink.Tasks/ILLink.Tasks.nuspec</LinkerTasksNuspecFile>
|
||||
<NuspecFileContents>
|
||||
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>$id$</id>
|
||||
<version>$version$</version>
|
||||
<authors>$authors$</authors>
|
||||
<description>$description$</description>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="ILLink.Tasks.targets" target="build" />
|
||||
<file src="ILLink.CrossGen.targets" target="build" />
|
||||
<file src="netcoreapp2.0/**/*.dll" target="tools/netcoreapp2.0" />
|
||||
</files>
|
||||
</package>
|
||||
]]>
|
||||
</NuspecFileContents>
|
||||
</PropertyGroup>
|
||||
|
||||
<WriteLinesToFile File="$(LinkerTasksNuspecFile)"
|
||||
Lines="$(NuspecFileContents)"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
77
src/SourceBuild/content/repo-projects/msbuild.proj
Normal file
77
src/SourceBuild/content/repo-projects/msbuild.proj
Normal file
|
@ -0,0 +1,77 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
<OutputVersionArgs>$(OutputVersionArgs) /p:DisableNerdbankVersioning=true</OutputVersionArgs>
|
||||
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)v $(LogVerbosity)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(OutputVersionArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:DotNetCoreSdkDir=$(DotNetCliToolDir)</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<!-- NuGet SDK resolver only checks nuget.config files. https://github.com/Microsoft/msbuild/issues/2914 -->
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
|
||||
<SourceOverrideRepoApiImplemented>true</SourceOverrideRepoApiImplemented>
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
<UseSourceBuiltSdkOverride Include="@(CentralVersionsSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
Begin workaround: https://github.com/dotnet/source-build/issues/933
|
||||
|
||||
The CentralPackageVersions SDK isn't actually source-built. We get it as a text-only prebuilt,
|
||||
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>
|
||||
<CentralPackageVersionsSdkOverride Include="Microsoft.Build.CentralPackageVersions" Group="CENTRAL_PACKAGE_VERSIONS" />
|
||||
<UseSourceBuiltSdkOverride Include="@(CentralPackageVersionsSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="ExtractCentralPackageVersionsSdkPackage"
|
||||
BeforeTargets="SetSourceBuiltSdkOverrides"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)ExtractCentralPackageVersionsSdkPackage.complete">
|
||||
<ItemGroup>
|
||||
<_CentralVersionsToolPackage
|
||||
Include="$(ReferencePackagesDir)%(CentralPackageVersionsSdkOverride.Identity)*.nupkg"
|
||||
Id="%(CentralPackageVersionsSdkOverride.Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<CentralVersionsSdkDir>$(SourceBuiltSdksDir)%(_CentralVersionsToolPackage.Id)/</CentralVersionsSdkDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<Message Importance="High" Text="Setting up SDK package for UseSourceBuiltSdkOverride: %(_CentralVersionsToolPackage.Filename)" />
|
||||
|
||||
<ZipFileExtractToDirectory
|
||||
SourceArchive="@(_CentralVersionsToolPackage)"
|
||||
DestinationDirectory="$(CentralVersionsSdkDir)"
|
||||
OverwriteDestination="true" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)ExtractCentralPackageVersionsSdkPackage.complete" Overwrite="true" />
|
||||
</Target>
|
||||
<!--
|
||||
End workaround: https://github.com/dotnet/source-build/issues/933
|
||||
-->
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
28
src/SourceBuild/content/repo-projects/nuget-client.proj
Normal file
28
src/SourceBuild/content/repo-projects/nuget-client.proj
Normal file
|
@ -0,0 +1,28 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<NuGetKeyFilePath>$(KeysDir)NuGet.Client.snk</NuGetKeyFilePath>
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
|
||||
<DeterministicBuildOptOut>true</DeterministicBuildOptOut>
|
||||
<RepoNoWarns>CS9057</RepoNoWarns>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="MS_PFX_PATH=$(NuGetKeyFilePath)" />
|
||||
<EnvironmentVariables Include="NUGET_PFX_PATH=$(NuGetKeyFilePath)" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<RepositoryReference Include="xdt" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
|
||||
<BuildCommand>$(ProjectDirectory)eng/source-build/build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,59 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<ProjectDirectory>$(SubmoduleDirectory)$(RepositoryName)/</ProjectDirectory>
|
||||
<SkipEnsurePackagesCreated>true</SkipEnsurePackagesCreated>
|
||||
<IncludedPackageVersionPropsFile>$(CurrentSourceBuiltPackageVersionPropsPath)</IncludedPackageVersionPropsFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<Target Name="RepoBuild">
|
||||
<!-- Copy PVP to packages dir in order to package them together -->
|
||||
<Copy SourceFiles="$(IncludedPackageVersionPropsFile)" DestinationFiles="$(SourceBuiltPackagesPath)PackageVersions.props" />
|
||||
|
||||
<!-- Expand SBRP intermediate package into separate folder and remove intermediate package -->
|
||||
<PropertyGroup>
|
||||
<SourceBuildReferencePackagesDestination>$(SourceBuiltPackagesPath)SourceBuildReferencePackages/</SourceBuildReferencePackagesDestination>
|
||||
<SBRPIntermediateWildcard>Microsoft.SourceBuild.Intermediate.source-build-reference-packages*.nupkg</SBRPIntermediateWildcard>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<SourceBuildReferencePackagesIntermediatePackage Include="$(SourceBuiltPackagesPath)$(SBRPIntermediateWildcard)"/>
|
||||
</ItemGroup>
|
||||
|
||||
<MakeDir Directories="$(SourceBuildReferencePackagesDestination)" />
|
||||
<ZipFileExtractToDirectory Condition="'@(SourceBuildReferencePackagesIntermediatePackage)' != ''"
|
||||
SourceArchive="%(SourceBuildReferencePackagesIntermediatePackage.Identity)"
|
||||
DestinationDirectory="$(SourceBuildReferencePackagesDestination)extractArtifacts/"
|
||||
OverwriteDestination="true" />
|
||||
|
||||
<ItemGroup>
|
||||
<SourceBuildReferencePackagesNupkgFiles Include="$(SourceBuildReferencePackagesDestination)extractArtifacts/**/*.nupkg" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy
|
||||
Condition="'@(SourceBuildReferencePackagesNupkgFiles)' != ''"
|
||||
SourceFiles="@(SourceBuildReferencePackagesNupkgFiles)"
|
||||
DestinationFiles="@(SourceBuildReferencePackagesNupkgFiles -> '$(SourceBuildReferencePackagesDestination)%(Filename)%(Extension)')" />
|
||||
|
||||
<RemoveDir
|
||||
Condition="Exists('$(SourceBuildReferencePackagesDestination)extractArtifacts/')"
|
||||
Directories="$(SourceBuildReferencePackagesDestination)extractArtifacts/" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SourceBuiltTarballName>$(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz</SourceBuiltTarballName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="tar --numeric-owner --exclude='Microsoft.SourceBuild.Intermediate.*.nupkg' -czf $(SourceBuiltTarballName) *.nupkg *.props SourceBuildReferencePackages/"
|
||||
WorkingDirectory="$(SourceBuiltPackagesPath)" />
|
||||
|
||||
<Message Importance="High" Text="Packaged source-built artifacts to $(SourceBuiltTarballName)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
25
src/SourceBuild/content/repo-projects/razor.proj
Normal file
25
src/SourceBuild/content/repo-projects/razor.proj
Normal file
|
@ -0,0 +1,25 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
|
||||
<!-- NU1507 - https://github.com/dotnet/razor-compiler/issues/242
|
||||
Occurs when using NuGet central package management without defining any Package Source Mappings. -->
|
||||
<RepoNoWarns>NU1507</RepoNoWarns>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
29
src/SourceBuild/content/repo-projects/roslyn-analyzers.proj
Normal file
29
src/SourceBuild/content/repo-projects/roslyn-analyzers.proj
Normal file
|
@ -0,0 +1,29 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<DependencyVersionInputRepoApiImplemented>false</DependencyVersionInputRepoApiImplemented>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="DotNetPackageVersionPropsPath=" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
37
src/SourceBuild/content/repo-projects/roslyn.proj
Normal file
37
src/SourceBuild/content/repo-projects/roslyn.proj
Normal file
|
@ -0,0 +1,37 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:TreatWarningsAsErrors=false</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:ApplyPartialNgenOptimization=false</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:EnablePartialNgenOptimization=false</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PublishWindowsPdb=false</BuildCommandArgs>
|
||||
<!-- UsingToolMicrosoftNetCompilers=false introduces a prebuilt so we'll have to turn back on after our bootstrap SDK has native integer support -->
|
||||
<!-- issue: https://github.com/dotnet/source-build/issues/1719 -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:UsingToolMicrosoftNetCompilers=false</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:RepoRoot=$(ProjectDirectory)</BuildCommandArgs>
|
||||
<!-- Investigate how to remove this specialization for source-build: https://github.com/dotnet/source-build/issues/2889 -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:SuppressTfmSupportBuildWarnings=true</BuildCommandArgs>
|
||||
|
||||
<BuildCommand>$(ProjectDirectory)build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="command-line-api" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="xliff-tasks" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
<UseSourceBuiltSdkOverride Include="@(WindowsDesktopSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
109
src/SourceBuild/content/repo-projects/runtime.proj
Normal file
109
src/SourceBuild/content/repo-projects/runtime.proj
Normal file
|
@ -0,0 +1,109 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<!-- Build arguments -->
|
||||
<PropertyGroup>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
|
||||
<CleanCommand>$(ProjectDirectory)/clean$(ShellExtension)</CleanCommand>
|
||||
|
||||
<OverrideTargetRid>$(TargetRid)</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'OSX'">osx-x64</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'FreeBSD'">freebsd-x64</OverrideTargetRid>
|
||||
<OverrideTargetRid Condition="'$(TargetOS)' == 'Windows_NT'">win-x64</OverrideTargetRid>
|
||||
|
||||
<_platformIndex>$(NETCoreSdkRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
|
||||
<RuntimeOS>$(NETCoreSdkRuntimeIdentifier.Substring(0, $(_platformIndex)))</RuntimeOS>
|
||||
|
||||
<_platformIndex>$(NETCoreSdkPortableRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
|
||||
<BaseOS>$(NETCoreSdkPortableRuntimeIdentifier.Substring(0, $(_platformIndex)))</BaseOS>
|
||||
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:TargetRid=$(OverrideTargetRid)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:RuntimeOS=$(RuntimeOS)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:BaseOS=$(BaseOS)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:SourceBuildNonPortable=true</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Output / source-build flags -->
|
||||
<PropertyGroup>
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- SDK Overrides -->
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeCoreFxTestingOverride)" />
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadePackagingOverride)" />
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeTargetFrameworkOverride)" />
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSharedFrameworkSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Environment Variables -->
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="BuildInParallel=false" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_X" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_4_4" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftCodeAnalysisVersion_LatestVS" Version="%24(MicrosoftCodeAnalysisVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Repository References -->
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="symreader" />
|
||||
<RepositoryReference Include="linker" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="roslyn" />
|
||||
</ItemGroup>
|
||||
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="AddRidToRuntimeJson" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="PublishCoreSetupBinaries" />
|
||||
|
||||
<Target Name="SetOutputList" AfterTargets="Package" BeforeTargets="GatherBuiltPackages">
|
||||
<ItemGroup>
|
||||
<PackagesOutputList Include="$(ShippingPackagesOutput)" />
|
||||
<PackagesOutputList Include="$(NonShippingPackagesOutput)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="UpdateRuntimeGraph"
|
||||
BeforeTargets="Build"
|
||||
Condition="'$(_IsBootstrapping)' == 'true'">
|
||||
<PropertyGroup>
|
||||
<RuntimeJsonFile>$(ProjectDirectory)pkg/Microsoft.NETCore.Platforms/runtime.json</RuntimeJsonFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<Message Importance="High" Text="Adding rid, $(TargetRid), to $(RuntimeJsonFile)" />
|
||||
<AddRidToRuntimeJson RuntimeJson="$(RuntimeJsonFile)"
|
||||
Rid="$(TargetRid)-$(Platform)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyBinariesToBinFolder"
|
||||
AfterTargets="ExtractIntermediatePackages"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)CopyBinariesToBinFolder.complete">
|
||||
<ItemGroup>
|
||||
<_builtRuntimePackages Include="$(SourceBuiltAssetsDir)*.symbols.nupkg" />
|
||||
<_builtRuntimePackages>
|
||||
<TransformedFileName>$([System.String]::Copy('%(FileName)').Replace('symbols', 'nupkg'))</TransformedFileName>
|
||||
</_builtRuntimePackages>
|
||||
<BinariesToCopy Include="$(SourceBuiltAssetsDir)*.*" Exclude="$(SourceBuiltAssetsDir)*.nupkg;$(SourceBuiltAssetsDir)*.requires_nupkg_signing" />
|
||||
<BinariesToCopy Include="@(_builtRuntimePackages->'$(SourceBuiltPackagesPath)%(TransformedFileName)')" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(BinariesToCopy)"
|
||||
DestinationFolder="$(OutputPath)runtime"
|
||||
Condition="'@(BinariesToCopy)'!=''" />
|
||||
|
||||
<WriteLinesToFile File="$(RepoCompletedSemaphorePath)CopyBinariesToBinFolder.complete" Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
46
src/SourceBuild/content/repo-projects/sdk.proj
Normal file
46
src/SourceBuild/content/repo-projects/sdk.proj
Normal file
|
@ -0,0 +1,46 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PackageProjectUrl=https://github.com/dotnet/sdk</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PublishCompressedFilesPathPrefix=$(SourceBuiltToolsetDir)</BuildCommandArgs>
|
||||
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) -v $(LogVerbosity)</BuildCommandArgs>
|
||||
|
||||
<!-- Pass in package version props using the Product Construction (ProdCon) API. -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PB_PackageVersionPropsUrl=file:%2F%2F$(PackageVersionPropsPath)</BuildCommandArgs>
|
||||
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<!-- NuGet SDK resolver only checks nuget.config files. https://github.com/Microsoft/msbuild/issues/2914 -->
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
|
||||
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="xliff-tasks" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="msbuild" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
<RepositoryReference Include="nuget-client" />
|
||||
<RepositoryReference Include="roslyn-analyzers" />
|
||||
<RepositoryReference Include="vstest" />
|
||||
<RepositoryReference Include="fsharp" />
|
||||
<RepositoryReference Include="format" />
|
||||
<RepositoryReference Include="deployment-tools" />
|
||||
<RepositoryReference Include="razor" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
|
@ -0,0 +1,16 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
|
||||
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
|
@ -0,0 +1,36 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<LocalNuGetPackageCacheDirectory>$(BaseIntermediatePath)source-build-reference-package-cache</LocalNuGetPackageCacheDirectory>
|
||||
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:MicrosoftNetCoreIlasmPackageRuntimeId=$(NETCoreSdkRuntimeIdentifier)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:LocalNuGetPackageCacheDirectory=$(LocalNuGetPackageCacheDirectory)</BuildCommandArgs>
|
||||
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
|
||||
<!-- SBRP builds before Arcade so it also needs the bootstrap Arcade version -->
|
||||
<UseBootstrapArcade>true</UseBootstrapArcade>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeBootstrapSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="AddLocalNuGetPackageCacheDirectory" BeforeTargets="Build">
|
||||
<MakeDir Condition="'$(LocalNuGetPackageCacheDirectory)' != ''"
|
||||
Directories="$(LocalNuGetPackageCacheDirectory)" />
|
||||
|
||||
<AddSourceToNuGetConfig
|
||||
NuGetConfigFile="$(NuGetConfigFile)"
|
||||
SourceName="source-build-reference-package-cache"
|
||||
SourcePath="$(LocalNuGetPackageCacheDirectory)" />
|
||||
</Target>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
25
src/SourceBuild/content/repo-projects/sourcelink.proj
Normal file
25
src/SourceBuild/content/repo-projects/sourcelink.proj
Normal file
|
@ -0,0 +1,25 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
|
||||
<!-- SourceLink builds before Arcade so it also needs the bootstrap Arcade version -->
|
||||
<UseBootstrapArcade>true</UseBootstrapArcade>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeBootstrapSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftSourceLinkVersion" Version="$(SOURCE_LINK_BOOTSTRAP_VERSION)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
17
src/SourceBuild/content/repo-projects/symreader.proj
Normal file
17
src/SourceBuild/content/repo-projects/symreader.proj
Normal file
|
@ -0,0 +1,17 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(StandardSourceBuildArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
27
src/SourceBuild/content/repo-projects/templating.proj
Normal file
27
src/SourceBuild/content/repo-projects/templating.proj
Normal file
|
@ -0,0 +1,27 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)v $(LogVerbosity)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- TODO: Renable once nuget-client is building in tarball -->
|
||||
<!-- <RepositoryReference Include="nuget-client" /> -->
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
25
src/SourceBuild/content/repo-projects/test-templates.proj
Normal file
25
src/SourceBuild/content/repo-projects/test-templates.proj
Normal file
|
@ -0,0 +1,25 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
<RepositoryReference Include="templating" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
21
src/SourceBuild/content/repo-projects/vstest.proj
Normal file
21
src/SourceBuild/content/repo-projects/vstest.proj
Normal file
|
@ -0,0 +1,21 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:SemanticVersioningV1=true</BuildCommandArgs>
|
||||
<BuildCommand>$(ProjectDirectory)\eng\common\build$(ShellExtension) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<DeterministicBuildOptOut>true</DeterministicBuildOptOut>
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="diagnostics" />
|
||||
<RepositoryReference Include="runtime" />
|
||||
<RepositoryReference Include="source-build-externals" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
24
src/SourceBuild/content/repo-projects/xdt.proj
Normal file
24
src/SourceBuild/content/repo-projects/xdt.proj
Normal file
|
@ -0,0 +1,24 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) $(FlagParameterPrefix)nodereuse $(ArcadeFalseBoolBuildArg)</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<GlobalJsonFile>$(ProjectDirectory)global.json</GlobalJsonFile>
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<OutputPlacementRepoApiImplemented>false</OutputPlacementRepoApiImplemented>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryReference Include="arcade" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
24
src/SourceBuild/content/repo-projects/xliff-tasks.proj
Normal file
24
src/SourceBuild/content/repo-projects/xliff-tasks.proj
Normal file
|
@ -0,0 +1,24 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCommandArgs>$(StandardSourceBuildArgs)</BuildCommandArgs>
|
||||
<!-- Repo has netcoreapp2.1 projects: https://github.com/dotnet/xliff-tasks/issues/508 -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:CheckEolTargetFramework=false</BuildCommandArgs>
|
||||
<BuildCommand>$(StandardSourceBuildCommand) $(BuildCommandArgs)</BuildCommand>
|
||||
|
||||
<RepoApiImplemented>false</RepoApiImplemented>
|
||||
<DependencyVersionInputRepoApiImplemented>true</DependencyVersionInputRepoApiImplemented>
|
||||
<DeterministicBuildOptOut>true</DeterministicBuildOptOut>
|
||||
<IsToolingProject>true</IsToolingProject>
|
||||
|
||||
<NuGetConfigFile>$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
</Project>
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue