221ab05346
By using `./build.sh /t:AllLiuxDistrosNativeInstaller` Make a sandbox folder after compile step and copy compiled artifact to it. Since the content will be Linux generic, use package step with Docker in different distros. After finishing all the distro specific packaging, upload all of them at once Publish to debian only support all distro Improve perf of AllLiuxDistrosNativeInstaller, by copying more cache in to sandbox There will be a retry if package command failed
59 lines
2.7 KiB
XML
59 lines
2.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="14.0" DefaultTargets="BuildTheWholeCli" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="Directory.Build.props" />
|
|
|
|
<ItemGroup>
|
|
<DotnetCliBuildFrameworkInputs Include="build_projects/**/*.cs" Exclude="build_projects/**/obj/**/*.cs" />
|
|
<DotnetCliBuildFrameworkInputs Include="build_projects/**/*.csproj" />
|
|
</ItemGroup>
|
|
|
|
<!-- Workaround to "Native image cannot be loaded multiple times" issue
|
|
A target in the top level file needs to run and invoke a task
|
|
https://github.com/Microsoft/msbuild/issues/750 -->
|
|
<Target Name="MSBuildWorkaroundTarget">
|
|
<Message Text="Dont remove this target" />
|
|
</Target>
|
|
|
|
<Target Name="BuildDotnetCliBuildFramework"
|
|
Inputs="@(DotnetCliBuildFrameworkInputs)"
|
|
Outputs="$(CLIBuildDll)"
|
|
DependsOnTargets="MSBuildWorkaroundTarget;
|
|
RestoreDotnetCliBuildFramework">
|
|
|
|
<Exec Command="$(PreviousStageDotnet) publish --no-restore -o $(DotnetCliBuildDirectory)/bin --framework $(CliTargetFramework) /p:GeneratePropsFile=$(GeneratePropsFile)"
|
|
WorkingDirectory="$(DotnetCliBuildDirectory)"/>
|
|
</Target>
|
|
|
|
<ItemGroup>
|
|
<RestoreDotnetCliBuildFrameworkOutputs Include="$(DotnetCliBuildDirectory)/obj/project.assets.json" />
|
|
<RestoreDotnetCliBuildFrameworkOutputs Include="$(DotnetCliBuildDirectory)/obj/dotnet-cli-build.csproj.nuget.g.props" />
|
|
<RestoreDotnetCliBuildFrameworkOutputs Include="$(DotnetCliBuildDirectory)/obj/dotnet-cli-build.csproj.nuget.g.targets" />
|
|
</ItemGroup>
|
|
|
|
<Target Name="RestoreDotnetCliBuildFramework"
|
|
Inputs="$(DotnetCliBuildDirectory)/dotnet-cli-build.csproj"
|
|
Outputs="@(RestoreDotnetCliBuildFrameworkOutputs)">
|
|
|
|
<PropertyGroup>
|
|
<ExtraRestoreArgs>$(ExtraRestoreArgs) /p:GeneratePropsFile=$(GeneratePropsFile)</ExtraRestoreArgs>
|
|
<ExtraRestoreArgs Condition="'$(OS)' != 'Windows_NT'">$(ExtraRestoreArgs) --disable-parallel</ExtraRestoreArgs>
|
|
</PropertyGroup>
|
|
|
|
<Exec Command="$(PreviousStageDotnet) restore $(ExtraRestoreArgs)"
|
|
WorkingDirectory="$(DotnetCliBuildDirectory)"/>
|
|
</Target>
|
|
|
|
<Target Name="BuildTheWholeCli" DependsOnTargets="$(CLITargets)" />
|
|
|
|
<Import Project="build/GitCommitInfo.targets" />
|
|
<Import Project="build/HostInfo.targets" />
|
|
<Import Project="build/BuildInfo.targets" />
|
|
<Import Project="build/Prepare.targets" />
|
|
<Import Project="build/Compile.targets" />
|
|
<Import Project="build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets" />
|
|
<Import Project="build/Package.targets" />
|
|
<Import Project="build/Test.targets" />
|
|
<Import Project="build/Publish.targets" />
|
|
|
|
<Import Project="build/InitRepo.targets" />
|
|
</Project>
|