aspnetcore/src/Installers/Debian/Directory.Build.targets

61 lines
2.6 KiB
XML

<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.targets))\Directory.Build.targets" />
<PropertyGroup>
<TargetPath>$(OutputPath)$(TargetFileName)</TargetPath>
<DebBuildDependsOn>
$(DebBuildDependsOn);
PrepareForBuild;
ResolveProjectReferences;
GetTargetPath;
</DebBuildDependsOn>
</PropertyGroup>
<Target Name="PrepareForBuild">
<MakeDir Directories="$(IntermediateOutputPath);$(OutputPath)" />
<Error Text="Currently only linux-x64 is supported by Debian installers." Condition=" '$(TargetRuntimeIdentifier)' != 'linux-x64' " />
<Error Text="Missing required property: PackageContentRoot" Condition=" '$(PackageContentRoot)' == '' " />
</Target>
<Target Name="GetTargetPath" Returns="$(TargetPath)" />
<Target Name="Build" DependsOnTargets="DebBuild" />
<Target Name="Pack" />
<Target Name="DebBuild" DependsOnTargets="$(DebBuildDependsOn)" Condition="'$(IsTargetingPackBuilding)' != 'false'">
<!-- Generate debian_config.json. We can't simply use WriteLinesToFile because of https://github.com/Microsoft/msbuild/issues/1622. Use our custom GenerateFileFromTemplate task instead -->
<PropertyGroup>
<DebianConfigProperties>
$(DebianConfigProperties);
AspNetCoreMajorVersion=$(AspNetCoreMajorVersion);
AspNetCoreMinorVersion=$(AspNetCoreMinorVersion);
Authors=$(Authors);
DebianPackageInstallRoot=$(DebianPackageInstallRoot);
MaintainerEmail=$(MaintainerEmail);
PackageId=$(PackageId);
PackageLicenseExpression=$(PackageLicenseExpression);
PackageProjectUrl=$(PackageProjectUrl);
PackageRevision=$(PackageRevision);
PackageVersion=$(DebPackageVersion);
PackageSummary=$(PackageSummary);
PackageDescription=$(PackageDescription);
</DebianConfigProperties>
</PropertyGroup>
<GenerateFileFromTemplate TemplateFile="debian_config.json.in"
Properties="$(DebianConfigProperties)"
OutputPath="$(IntermediateOutputPath)debian_config.json" />
<!-- Build SharedFx Bundle Deb package -->
<Exec Command="$(DebianBuildScript) -i '$(IntermediateOutputPath)' -o '$(IntermediateOutputPath)out/' -C '$(PackageContentRoot)'" />
<PropertyGroup>
<BuildScriptOutputFileName>$(PackageId)_$(DebPackageVersion)-$(PackageRevision)_$(DebianPackageArch).deb</BuildScriptOutputFileName>
</PropertyGroup>
<Copy SourceFiles="$(IntermediateOutputPath)out/$(BuildScriptOutputFileName)" DestinationFiles="$(TargetPath)" />
</Target>
</Project>