2021-06-24 16:36:04 -05:00
|
|
|
<Project>
|
|
|
|
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
|
|
|
|
|
|
|
<UsingTask AssemblyFile="$(LeakDetectionTasksAssembly)" TaskName="CheckForPoison" />
|
|
|
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="WriteUsageBurndownData" />
|
|
|
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceTextInFile" />
|
2023-10-05 23:43:12 -07:00
|
|
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="CreateSdkSymbolsLayout" />
|
2021-06-24 16:36:04 -05:00
|
|
|
|
|
|
|
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
|
|
|
|
|
|
|
<Target Name="Build" DependsOnTargets="PrepareOutput;InitBuild">
|
|
|
|
<Message Text="Build Environment: $(Platform) $(Configuration) $(TargetOS) $(TargetRid)" />
|
|
|
|
|
2022-12-14 10:59:05 -06:00
|
|
|
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="Build" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
2021-06-24 16:36:04 -05:00
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="PrepareOutput">
|
|
|
|
<MakeDir Directories="$(OutputPath)" />
|
|
|
|
<MakeDir Directories="$(LoggingDir)" />
|
|
|
|
<MakeDir Directories="$(IntermediatePath)" />
|
|
|
|
<MakeDir Directories="$(SourceBuiltBlobFeedDir)" />
|
|
|
|
<MakeDir Directories="$(SourceBuiltPackagesPath)" />
|
|
|
|
<MakeDir Directories="$(SourceBuiltAssetsDir)" />
|
|
|
|
<MakeDir Directories="$(LocalBlobStorageRoot)" />
|
|
|
|
<MakeDir Directories="$(MSBuildDebugPathTargetDir)" />
|
|
|
|
<MakeDir Directories="$(RoslynDebugPathTargetDir)" />
|
|
|
|
<MakeDir Directories="$(AspNetRazorBuildServerLogDir)" />
|
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="InitBuild">
|
2022-12-14 10:59:05 -06:00
|
|
|
<MSBuild Projects="$(ToolsDir)init-build.proj" />
|
2021-06-24 16:36:04 -05:00
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="Clean">
|
|
|
|
<RemoveDir Directories="$(BaseOutputPath)" />
|
|
|
|
</Target>
|
|
|
|
|
2023-08-15 09:00:38 -07:00
|
|
|
<!-- Copies the output assets of the builds to the output path. -->
|
|
|
|
<Target Name="CopyBinariesToBinFolder"
|
|
|
|
AfterTargets="Build"
|
|
|
|
Inputs="$(MSBuildProjectFullPath)"
|
|
|
|
Outputs="$(CompletedSemaphorePath)CopyBinariesToBinFolder.complete">
|
|
|
|
<ItemGroup>
|
|
|
|
<BinariesToCopy Include="$(SourceBuiltAssetsDir)*.*" Exclude="$(SourceBuiltAssetsDir)*.nupkg;$(SourceBuiltAssetsDir)*.requires_nupkg_signing" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<Copy SourceFiles="@(BinariesToCopy)"
|
|
|
|
DestinationFolder="$(OutputPath)"
|
|
|
|
Condition="'@(BinariesToCopy)'!=''" />
|
|
|
|
|
|
|
|
<WriteLinesToFile File="$(CompletedSemaphorePath)CopyBinariesToBinFolder.complete" Overwrite="true" />
|
|
|
|
</Target>
|
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
<!-- After building, generate a prebuilt usage report. -->
|
|
|
|
<Target Name="ReportPrebuiltUsage"
|
|
|
|
AfterTargets="Build"
|
|
|
|
Condition="'$(SkipReportPrebuiltUsage)' != 'true'">
|
2022-12-14 10:59:05 -06:00
|
|
|
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="WritePrebuiltUsageData;ReportPrebuiltUsage" />
|
2021-06-24 16:36:04 -05:00
|
|
|
</Target>
|
|
|
|
|
2023-10-05 23:43:12 -07:00
|
|
|
<Target Name="DiscoverSymbolsTarballs"
|
|
|
|
AfterTargets="Build">
|
|
|
|
<ItemGroup>
|
|
|
|
<SymbolsTarball Include="$(OutputPath)Symbols.*.tar.gz" />
|
|
|
|
</ItemGroup>
|
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="ExtractSymbolsTarballs"
|
|
|
|
AfterTargets="Build"
|
|
|
|
DependsOnTargets="DiscoverSymbolsTarballs"
|
|
|
|
Outputs="%(SymbolsTarball.Identity)">
|
|
|
|
|
|
|
|
<PropertyGroup>
|
|
|
|
<Filename>$([System.IO.Path]::GetFileName('%(SymbolsTarball.Identity)'))</Filename>
|
|
|
|
<RepositoryName>$(Filename.Split('.')[1])</RepositoryName>
|
|
|
|
<UnifiedSymbolsLayout>$(ArtifactsTmpDir)Symbols</UnifiedSymbolsLayout>
|
|
|
|
<DestinationFolder>$(UnifiedSymbolsLayout)/$(RepositoryName)</DestinationFolder>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<MakeDir Directories="$(DestinationFolder)" />
|
|
|
|
<Exec Command="tar -xzf %(SymbolsTarball.Identity) -C $(DestinationFolder)"
|
|
|
|
WorkingDirectory="$(SymbolsRoot)" />
|
|
|
|
|
|
|
|
<Delete Files="%(SymbolsTarball.Identity)" />
|
|
|
|
</Target>
|
|
|
|
|
|
|
|
<!-- After building, repackage symbols into a single tarball. -->
|
|
|
|
<Target Name="RepackageSymbols"
|
|
|
|
AfterTargets="Build"
|
|
|
|
DependsOnTargets="
|
|
|
|
DetermineMicrosoftSourceBuildIntermediateInstallerVersion;
|
|
|
|
DiscoverSymbolsTarballs;
|
|
|
|
ExtractSymbolsTarballs">
|
|
|
|
<PropertyGroup>
|
|
|
|
<UnifiedSymbolsTarball>$(OutputPath)dotnet-symbols-$(MicrosoftSourceBuildIntermediateInstallerVersion)-$(TargetRid).tar.gz</UnifiedSymbolsTarball>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<Exec Command="tar --numeric-owner -czf $(UnifiedSymbolsTarball) *"
|
|
|
|
WorkingDirectory="$(UnifiedSymbolsLayout)" />
|
|
|
|
|
|
|
|
<Message Importance="High" Text="Packaged all symbols in '$(UnifiedSymbolsTarball)'" />
|
|
|
|
</Target>
|
|
|
|
|
|
|
|
<!-- After building, create the sdk symbols tarball. -->
|
|
|
|
<Target Name="CreateSdkSymbolsTarball"
|
|
|
|
AfterTargets="Build"
|
|
|
|
DependsOnTargets="RepackageSymbols">
|
|
|
|
<ItemGroup>
|
|
|
|
<SdkTarballItem Include="$(OutputPath)dotnet-sdk-*$(TarBallExtension)"
|
|
|
|
Exclude="$(OutputPath)dotnet-sdk-symbols-*$(TarBallExtension)" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<PropertyGroup>
|
|
|
|
<SdkSymbolsLayout>$(ArtifactsTmpDir)SdkSymbols</SdkSymbolsLayout>
|
|
|
|
<SdkSymbolsTarball>$(OutputPath)dotnet-sdk-symbols-$(MicrosoftSourceBuildIntermediateInstallerVersion)-$(TargetRid).tar.gz</SdkSymbolsTarball>
|
|
|
|
<SdkLayout>$(ArtifactsTmpDir)Sdk</SdkLayout>
|
|
|
|
<SdkTarball>%(SdkTarballItem.Identity)</SdkTarball>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<MakeDir Directories="$(SdkLayout)" />
|
|
|
|
<Exec Command="tar -xzf $(SdkTarball) -C $(SdkLayout)"
|
|
|
|
WorkingDirectory="$(OutputPath)" />
|
|
|
|
|
|
|
|
<CreateSdkSymbolsLayout SdkLayoutPath="$(SdkLayout)"
|
|
|
|
AllSymbolsPath="$(UnifiedSymbolsLayout)"
|
|
|
|
SdkSymbolsLayoutPath="$(SdkSymbolsLayout)"
|
|
|
|
FailOnMissingPDBs="true" />
|
|
|
|
|
|
|
|
<Exec Command="tar --numeric-owner -czf $(SdkSymbolsTarball) *"
|
|
|
|
WorkingDirectory="$(SdkSymbolsLayout)" />
|
|
|
|
|
|
|
|
<Message Importance="High" Text="Packaged sdk symbols in '$(SdkSymbolsTarball)'" />
|
|
|
|
|
|
|
|
<RemoveDir Directories="$(UnifiedSymbolsLayout)" />
|
|
|
|
<RemoveDir Directories="$(SdkSymbolsLayout)" />
|
|
|
|
<RemoveDir Directories="$(SdkLayout)" />
|
|
|
|
</Target>
|
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
<!--
|
|
|
|
Dev scenario: rewrite a prebuilt-report. This makes it easy to add data to an existing
|
|
|
|
prebuilt report without performing another full build. This doesn't reevalutate which packages
|
|
|
|
are prebuilts or search the projects: it uses the existing usage.xml file to generate report
|
|
|
|
XMLs based on the info put in artifacts/.
|
|
|
|
-->
|
|
|
|
<Target Name="RewritePrebuiltUsageReport">
|
2022-12-14 10:59:05 -06:00
|
|
|
<MSBuild Projects="$(RepoProjectsDir)$(RootRepo).proj" Targets="ReportPrebuiltUsage" />
|
2021-06-24 16:36:04 -05:00
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="ReportPoisonUsage"
|
|
|
|
AfterTargets="Build"
|
2021-07-09 16:42:42 -05:00
|
|
|
Condition="'$(EnablePoison)' == 'true'"
|
2021-06-24 16:36:04 -05:00
|
|
|
Inputs="$(MSBuildProjectFullPath)"
|
|
|
|
Outputs="$(CompletedSemaphorePath)ReportPoisonUsage.complete" >
|
|
|
|
<ItemGroup>
|
|
|
|
<FinalCliTarball Include="$(SourceBuiltTarBallPath)**/*$(TarBallExtension)" />
|
|
|
|
</ItemGroup>
|
2022-03-31 19:12:59 -05:00
|
|
|
|
|
|
|
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Checking @(FinalCliTarball) for poisoned files." />
|
|
|
|
|
2023-01-25 18:59:16 +00:00
|
|
|
<ItemGroup>
|
|
|
|
<NonShippingPackagesList Include="$(PackageListsDir)**/$(NonShippingPackagesListPrefix)*" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
<CheckForPoison FilesToCheck="@(FinalCliTarball)"
|
|
|
|
HashCatalogFilePath="$(PoisonReportDataFile)"
|
|
|
|
MarkerFileName="$(PoisonMarkerFile)"
|
2023-01-25 18:59:16 +00:00
|
|
|
PoisonReportOutputFilePath="$(PoisonUsageReportFile)"
|
2023-07-18 13:32:26 -05:00
|
|
|
NonShippingPackagesListFiles="@(NonShippingPackagesList)" />
|
2021-06-24 16:36:04 -05:00
|
|
|
|
|
|
|
<WriteLinesToFile File="$(CompletedSemaphorePath)ReportPoisonUsage.complete" Overwrite="true" />
|
2022-03-31 19:12:59 -05:00
|
|
|
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Done checking for poison." />
|
2021-06-24 16:36:04 -05:00
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="GeneratePrebuiltBurndownData"
|
|
|
|
Inputs="$(MSBuildProjectFullPath)"
|
|
|
|
Outputs="$(CompletedSemaphorePath)GeneratePrebuiltBurndownData.complete" >
|
|
|
|
<WriteUsageBurndownData RootDirectory="$(ProjectDir)"
|
2021-07-09 16:42:42 -05:00
|
|
|
PrebuiltBaselineFile="$(BaselineDataFile)"
|
|
|
|
OutputFilePath="$(PrebuiltBurndownDataFile)" />
|
2021-06-24 16:36:04 -05:00
|
|
|
|
|
|
|
<WriteLinesToFile File="$(CompletedSemaphorePath)GeneratePrebuiltBurndownData.complete" Overwrite="true" />
|
|
|
|
</Target>
|
|
|
|
|
2021-09-16 15:57:20 -04:00
|
|
|
<Target Name="RunSmokeTest">
|
2022-01-21 07:59:36 -06:00
|
|
|
<ItemGroup>
|
2023-10-05 23:43:12 -07:00
|
|
|
<SdkTarballItem Include="$(SourceBuiltTarBallPath)**/dotnet-sdk*$(TarBallExtension)"
|
|
|
|
Exclude="$(SourceBuiltTarBallPath)**/dotnet-sdk-symbols*$(TarBallExtension)" />
|
2023-02-02 11:14:58 -06:00
|
|
|
<SourceBuiltArtifactsItem Include="$(SourceBuiltTarBallPath)**/Private.SourceBuilt.Artifacts.*$(TarBallExtension)" />
|
2022-01-21 07:59:36 -06:00
|
|
|
</ItemGroup>
|
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
<PropertyGroup>
|
2023-07-18 13:32:26 -05:00
|
|
|
<CustomTestEnvVars Condition="'$(EnablePoison)' == 'true'">SMOKE_TESTS_POISON_REPORT_PATH=$(PoisonUsageReportFile);</CustomTestEnvVars>
|
2022-01-21 07:59:36 -06:00
|
|
|
<SdkTarballPath>%(SdkTarballItem.Identity)</SdkTarballPath>
|
2023-02-02 11:14:58 -06:00
|
|
|
<SourceBuiltArtifactsPath>%(SourceBuiltArtifactsItem.Identity)</SourceBuiltArtifactsPath>
|
2022-03-23 12:25:05 -05:00
|
|
|
<SmokeTestConsoleVerbosity Condition="'$(SmokeTestConsoleVerbosity)' == ''">normal</SmokeTestConsoleVerbosity>
|
2021-06-24 16:36:04 -05:00
|
|
|
</PropertyGroup>
|
|
|
|
|
2022-03-23 12:25:05 -05:00
|
|
|
<!-- Multiple loggers are specified so that results are captured in trx and pipelines can fail with AzDO pipeline warnings -->
|
|
|
|
<Exec Command="$(DotnetToolCommand) test $(SmokeTestsDir) --logger:trx --logger:'console;verbosity=$(SmokeTestConsoleVerbosity)' -c $(Configuration)"
|
2021-06-24 16:36:04 -05:00
|
|
|
EnvironmentVariables="
|
2022-03-03 08:02:48 -06:00
|
|
|
SMOKE_TESTS_SDK_TARBALL_PATH=$(SdkTarballPath);
|
2023-02-02 11:14:58 -06:00
|
|
|
SMOKE_TESTS_SOURCEBUILT_ARTIFACTS_PATH=$(SourceBuiltArtifactsPath);
|
2022-03-03 08:02:48 -06:00
|
|
|
SMOKE_TESTS_TARGET_RID=$(TargetRid);
|
2022-04-07 11:34:26 -05:00
|
|
|
SMOKE_TESTS_PORTABLE_RID=$(PortableRid);
|
2022-09-08 14:23:06 -05:00
|
|
|
SMOKE_TESTS_CUSTOM_PACKAGES_PATH=$(CustomSourceBuiltPackagesPath);
|
2022-03-31 19:12:59 -05:00
|
|
|
$(CustomTestEnvVars)" />
|
2021-06-24 16:36:04 -05:00
|
|
|
</Target>
|
|
|
|
|
2022-02-16 15:56:19 -06:00
|
|
|
<Target Name="CreateSmokeTestPrereqsTarball"
|
2022-02-04 12:52:30 -06:00
|
|
|
AfterTargets="RunSmokeTest"
|
2022-02-16 15:56:19 -06:00
|
|
|
Condition="'$(SkipSmokeTestPrereqsTarballCreation)' != 'true'"
|
|
|
|
DependsOnTargets="
|
|
|
|
CheckIfCreateSmokeTestPrereqsExistToPack;
|
2023-04-19 21:57:11 +00:00
|
|
|
CreateSmokeTestPrereqsTarballIfPrereqsExist"/>
|
2022-02-16 15:56:19 -06:00
|
|
|
|
|
|
|
<Target Name="CheckIfCreateSmokeTestPrereqsExistToPack">
|
2022-03-03 08:02:48 -06:00
|
|
|
<PropertyGroup>
|
2023-01-23 15:58:59 -06:00
|
|
|
<SmokeTestsArtifactsDir>$(SmokeTestsDir)bin/$(Configuration)/net8.0/</SmokeTestsArtifactsDir>
|
2022-03-03 08:02:48 -06:00
|
|
|
<SmokeTestsPackagesDir>$(SmokeTestsArtifactsDir)packages/</SmokeTestsPackagesDir>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
2022-02-16 15:56:19 -06:00
|
|
|
<ItemGroup>
|
2022-03-03 08:02:48 -06:00
|
|
|
<SmokeTestsPrereqs Include="$(SmokeTestsPackagesDir)**/*.nupkg" />
|
2022-02-16 15:56:19 -06:00
|
|
|
</ItemGroup>
|
|
|
|
|
2022-03-03 08:02:48 -06:00
|
|
|
<Message Text="Found @(SmokeTestsPrereqs->Count()) prereqs in '$(SmokeTestsPackagesDir)'." Importance="High" />
|
2022-02-16 15:56:19 -06:00
|
|
|
</Target>
|
|
|
|
|
2023-04-19 21:57:11 +00:00
|
|
|
<Target Name="CreateSmokeTestPrereqsTarballIfPrereqsExist"
|
|
|
|
DependsOnTargets="DetermineMicrosoftSourceBuildIntermediateInstallerVersion"
|
2022-03-03 08:02:48 -06:00
|
|
|
Condition="'@(SmokeTestsPrereqs->Count())' != '0'">
|
2022-02-04 12:52:30 -06:00
|
|
|
<PropertyGroup>
|
2023-04-19 21:57:11 +00:00
|
|
|
<SmokeTestPrereqsTarballName>$(OutputPath)dotnet-smoke-test-prereqs.$(MicrosoftSourceBuildIntermediateInstallerVersion).$(TargetRid).tar.gz</SmokeTestPrereqsTarballName>
|
2022-03-03 08:02:48 -06:00
|
|
|
<SmokeTestsPrereqPackagesDir>$(SmokeTestsArtifactsDir)prereq-packages/</SmokeTestsPrereqPackagesDir>
|
2022-02-04 12:52:30 -06:00
|
|
|
</PropertyGroup>
|
|
|
|
|
2022-03-03 08:02:48 -06:00
|
|
|
<Copy SourceFiles="@(SmokeTestsPrereqs)"
|
|
|
|
DestinationFolder="$(SmokeTestsPrereqPackagesDir)" />
|
|
|
|
|
2022-02-04 12:52:30 -06:00
|
|
|
<Exec Command="tar --numeric-owner -czf $(SmokeTestPrereqsTarballName) ."
|
2022-03-03 08:02:48 -06:00
|
|
|
WorkingDirectory="$(SmokeTestsPrereqPackagesDir)"/>
|
2022-02-04 12:52:30 -06:00
|
|
|
|
2022-02-16 15:56:19 -06:00
|
|
|
<Message Importance="High" Text="Packaged smoke-test prereqs in '$(SmokeTestPrereqsTarballName)'" />
|
2022-02-04 12:52:30 -06:00
|
|
|
</Target>
|
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UploadToAzure" />
|
|
|
|
|
|
|
|
<Target Name="PublishPrebuiltReportData">
|
|
|
|
<Error Text="RelativeBlobPath must be set to a non-empty string." Condition="'$(RelativeBlobPath)' == ''" />
|
|
|
|
<Error Text="ContainerName must be set to a non-empty string." Condition="'$(ContainerName)' == ''" />
|
|
|
|
<Error Text="AzureAccountName must be set to a non-empty string." Condition="'$(AzureAccountName)' == ''" />
|
|
|
|
<Error Text="AzureAccessToken must be set to a non-empty string." Condition="'$(AzureAccessToken)' == ''" />
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
<ItemsToPublish Include="$(PackageReportDir)*.xml" />
|
|
|
|
<ItemsToPublish Include="$(PackageReportDir)*.csv" />
|
|
|
|
<ItemsToPublish>
|
|
|
|
<RelativeBlobPath>$(RelativeBlobPath)/%(Filename)%(Extension)</RelativeBlobPath>
|
|
|
|
</ItemsToPublish>
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<Message Text="Uploading files to '$(AzureAccountName)' blob storage at $(ContainerName)/$(RelativeBlobPath)" />
|
|
|
|
|
|
|
|
<UploadToAzure AccountName="$(AzureAccountName)"
|
|
|
|
AccountKey="$(AzureAccessToken)"
|
|
|
|
ContainerName="$(ContainerName)"
|
|
|
|
Items="@(ItemsToPublish)"
|
|
|
|
Overwrite="true" />
|
|
|
|
</Target>
|
|
|
|
|
2021-08-05 15:19:38 -05:00
|
|
|
<Target Name="CreatePrebuiltsTarball"
|
2021-10-21 17:39:47 -05:00
|
|
|
AfterTargets="Build"
|
2021-10-22 14:17:35 -05:00
|
|
|
DependsOnTargets="
|
|
|
|
CheckIfPrebuiltsExistToPack;
|
|
|
|
CreatePrebuiltsTarballIfPrebuiltsExist"/>
|
2021-08-05 15:19:38 -05:00
|
|
|
|
2021-10-22 14:17:35 -05:00
|
|
|
<Target Name="CheckIfPrebuiltsExistToPack">
|
|
|
|
<!-- Directory existence doesn't mean there are files inside. Use a pattern to find files. -->
|
|
|
|
<ItemGroup>
|
|
|
|
<PrebuiltFile Include="$(ResultingPrebuiltPackagesDir)**" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<Message Text="Found @(PrebuiltFile->Count()) files in prebuilt packages dir." Importance="High" />
|
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="CreatePrebuiltsTarballIfPrebuiltsExist"
|
2023-04-19 21:57:11 +00:00
|
|
|
DependsOnTargets="DetermineMicrosoftSourceBuildIntermediateInstallerVersion"
|
2021-10-22 14:17:35 -05:00
|
|
|
Condition="'@(PrebuiltFile->Count())' != '0'">
|
2021-08-05 15:19:38 -05:00
|
|
|
<PropertyGroup>
|
2023-04-19 21:57:11 +00:00
|
|
|
<TarballFilePath>$(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(MicrosoftSourceBuildIntermediateInstallerVersion).$(TargetRid).tar.gz</TarballFilePath>
|
2021-08-05 15:19:38 -05:00
|
|
|
<TarballWorkingDir>$(ResultingPrebuiltPackagesDir)</TarballWorkingDir>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<Exec Command="tar --numeric-owner -zcf $(TarballFilePath) -C $(TarballWorkingDir) ." />
|
|
|
|
|
|
|
|
<Message Text="Tarball '$(TarballFilePath)' was successfully created from '$(TarballWorkingDir)'" Importance="High" />
|
|
|
|
</Target>
|
2021-06-24 16:36:04 -05:00
|
|
|
</Project>
|