Skip to content

Commit efdc52b

Browse files
Move properties to _GetInstallerProperties target (#15261)
1 parent 6c4799b commit efdc52b

File tree

1 file changed

+80
-76
lines changed

1 file changed

+80
-76
lines changed

src/Microsoft.DotNet.Build.Tasks.Installers/build/installer.build.targets

Lines changed: 80 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -13,94 +13,98 @@
1313
<Target Name="GenerateCrossArchMsi" DependsOnTargets="CreateCrossArchWixInstaller" />
1414
<Target Name="GeneratePkg" DependsOnTargets="CreatePkg" />
1515

16-
<!-- Set up property defaults for installer generation-->
1716
<PropertyGroup>
1817
<LinuxInstallRoot Condition="'$(LinuxInstallRoot)' == ''">/usr/share/dotnet</LinuxInstallRoot>
19-
<VersionedInstallerName Condition="'$(VersionInstallerName)' == 'true'">$(InstallerName)-$(MajorVersion).$(MinorVersion)</VersionedInstallerName>
20-
<VersionedInstallerName Condition="'$(VersionInstallerName)' != 'true'">$(InstallerName)</VersionedInstallerName>
21-
<VersionedInstallerName>$(VersionedInstallerName.ToLowerInvariant())</VersionedInstallerName>
22-
<InstallerPackageRelease>1</InstallerPackageRelease>
23-
<InstallerPackageVersion>$(VersionPrefix)</InstallerPackageVersion>
24-
</PropertyGroup>
25-
26-
<!-- Distinguish the cross-arch installer filename. -->
27-
<PropertyGroup Condition="'$(CrossArchContentsArch)' != ''">
28-
<CrossArchContentsBuildPart>_$(CrossArchContentsArch)</CrossArchContentsBuildPart>
29-
</PropertyGroup>
30-
31-
<PropertyGroup>
32-
<InstallerExtension Condition="'$(GenerateMsi)' == 'true' or '$(GenerateCrossArchMsi)' == 'true'">.msi</InstallerExtension>
33-
<InstallerExtension Condition="'$(GeneratePkg)' == 'true'">.pkg</InstallerExtension>
34-
<InstallerExtension Condition="'$(GenerateDeb)' == 'true'">.deb</InstallerExtension>
35-
<InstallerExtension Condition="'$(GenerateRpm)' == 'true'">.rpm</InstallerExtension>
36-
<CombinedInstallerExtension Condition="'$(TargetRuntimeOS)' == 'win'">.exe</CombinedInstallerExtension>
37-
<CombinedInstallerExtension Condition="'$(TargetRuntimeOS)' != 'win'">$(InstallerExtension)</CombinedInstallerExtension>
3818
</PropertyGroup>
3919

40-
<PropertyGroup>
41-
<IncludePreReleaseLabelInPackageVersion Condition="'$(DotNetFinalVersionKind)' != 'release'">true</IncludePreReleaseLabelInPackageVersion>
42-
<IncludePreReleaseLabelInPackageVersion Condition="'$(SuppressFinalPackageVersion)' == 'true'">true</IncludePreReleaseLabelInPackageVersion>
43-
<IncludePreReleaseLabelInPackageVersion Condition="'$(IsShipping)' != 'true'">true</IncludePreReleaseLabelInPackageVersion>
44-
</PropertyGroup>
20+
<!--
21+
Legacy target. Some consumers depend on this target name, so keep it around.
22+
-->
23+
<Target Name="_GetInstallerProperties"
24+
DependsOnTargets="_GetTargetOSArchInfo;
25+
_GetProductBrandName">
26+
<!-- Set up property defaults for installer generation-->
27+
<PropertyGroup>
28+
<LinuxInstallRoot Condition="'$(LinuxInstallRoot)' == ''">/usr/share/dotnet</LinuxInstallRoot>
29+
<VersionedInstallerName Condition="'$(VersionInstallerName)' == 'true'">$(InstallerName)-$(MajorVersion).$(MinorVersion)</VersionedInstallerName>
30+
<VersionedInstallerName Condition="'$(VersionInstallerName)' != 'true'">$(InstallerName)</VersionedInstallerName>
31+
<VersionedInstallerName>$(VersionedInstallerName.ToLowerInvariant())</VersionedInstallerName>
32+
<InstallerPackageRelease>1</InstallerPackageRelease>
33+
<InstallerPackageVersion>$(VersionPrefix)</InstallerPackageVersion>
34+
</PropertyGroup>
35+
36+
<!-- Distinguish the cross-arch installer filename. -->
37+
<PropertyGroup Condition="'$(CrossArchContentsArch)' != ''">
38+
<CrossArchContentsBuildPart>_$(CrossArchContentsArch)</CrossArchContentsBuildPart>
39+
</PropertyGroup>
40+
41+
<PropertyGroup>
42+
<InstallerExtension Condition="'$(GenerateMsi)' == 'true' or '$(GenerateCrossArchMsi)' == 'true'">.msi</InstallerExtension>
43+
<InstallerExtension Condition="'$(GeneratePkg)' == 'true'">.pkg</InstallerExtension>
44+
<InstallerExtension Condition="'$(GenerateDeb)' == 'true'">.deb</InstallerExtension>
45+
<InstallerExtension Condition="'$(GenerateRpm)' == 'true'">.rpm</InstallerExtension>
46+
<CombinedInstallerExtension Condition="'$(TargetRuntimeOS)' == 'win'">.exe</CombinedInstallerExtension>
47+
<CombinedInstallerExtension Condition="'$(TargetRuntimeOS)' != 'win'">$(InstallerExtension)</CombinedInstallerExtension>
48+
</PropertyGroup>
4549

46-
<PropertyGroup Condition="'$(GenerateDeb)' == 'true'">
47-
<InstallerPackageVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">$(VersionPrefix)~$(VersionSuffix)</InstallerPackageVersion>
48-
</PropertyGroup>
50+
<PropertyGroup>
51+
<IncludePreReleaseLabelInPackageVersion Condition="'$(DotNetFinalVersionKind)' != 'release'">true</IncludePreReleaseLabelInPackageVersion>
52+
<IncludePreReleaseLabelInPackageVersion Condition="'$(SuppressFinalPackageVersion)' == 'true'">true</IncludePreReleaseLabelInPackageVersion>
53+
<IncludePreReleaseLabelInPackageVersion Condition="'$(IsShipping)' != 'true'">true</IncludePreReleaseLabelInPackageVersion>
54+
</PropertyGroup>
4955

50-
<PropertyGroup Condition="'$(GenerateRpm)' == 'true'">
51-
<InstallerPackageRelease Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">0.1.$(VersionSuffix)</InstallerPackageRelease>
52-
<InstallerPackageRelease>$([System.String]::Copy('$(InstallerPackageRelease)').Replace('-', '_'))</InstallerPackageRelease>
53-
</PropertyGroup>
56+
<PropertyGroup Condition="'$(GenerateDeb)' == 'true'">
57+
<InstallerPackageVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">$(VersionPrefix)~$(VersionSuffix)</InstallerPackageVersion>
58+
</PropertyGroup>
5459

55-
<PropertyGroup Condition="'$(GeneratePkg)' == 'true'">
56-
<InstallerPackageVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">$(VersionPrefix)-$(VersionSuffix)</InstallerPackageVersion>
57-
</PropertyGroup>
60+
<PropertyGroup Condition="'$(GenerateRpm)' == 'true'">
61+
<InstallerPackageRelease Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">0.1.$(VersionSuffix)</InstallerPackageRelease>
62+
<InstallerPackageRelease>$([System.String]::Copy('$(InstallerPackageRelease)').Replace('-', '_'))</InstallerPackageRelease>
63+
</PropertyGroup>
5864

59-
<PropertyGroup>
60-
<_InstallerIntermediatesDir>$(IntermediateOutputPath)$(InstallerName)/$(InstallerPackageVersion)/</_InstallerIntermediatesDir>
61-
<InstallerBuildPart>$(Version)-$(TargetRuntimeOS)-$(InstallerTargetArchitecture)</InstallerBuildPart>
62-
</PropertyGroup>
63-
<PropertyGroup Condition="'$(GenerateDeb)' == 'true' or '$(GenerateRpm)' == 'true'">
64-
<_InstallerArchSuffix>$(InstallerTargetArchitecture)</_InstallerArchSuffix>
65-
<_InstallerArchSuffix Condition="'$(BuildRpmPackage)' == 'true' and '$(InstallerTargetArchitecture)' == 'arm64'">aarch64</_InstallerArchSuffix>
66-
<InstallerBuildPart>$(Version)-$(_InstallerArchSuffix)</InstallerBuildPart>
67-
<InstallerBuildPart Condition="'$(PackageTargetOS)' != ''">$(Version)-$(PackageTargetOS)-$(_InstallerArchSuffix)</InstallerBuildPart>
68-
</PropertyGroup>
65+
<PropertyGroup Condition="'$(GeneratePkg)' == 'true'">
66+
<InstallerPackageVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true'">$(VersionPrefix)-$(VersionSuffix)</InstallerPackageVersion>
67+
</PropertyGroup>
6968

70-
<PropertyGroup>
71-
<!-- Location to place the installer, in artifacts. -->
72-
<InstallerFileNameWithoutExtension>$(InstallerName)-$(InstallerBuildPart)$(CrossArchContentsBuildPart)</InstallerFileNameWithoutExtension>
73-
<_InstallerFile Condition="'$(_InstallerFile)' == ''">$(PackageOutputPath)$(InstallerFileNameWithoutExtension)$(InstallerExtension)</_InstallerFile>
74-
<ExeBundleInstallerFile>$(PackageOutputPath)$(InstallerFileNameWithoutExtension).exe</ExeBundleInstallerFile>
75-
<ExeBundleInstallerEngineFile>$(PackageOutputPath)$(InstallerFileNameWithoutExtension)-engine.exe</ExeBundleInstallerEngineFile>
76-
</PropertyGroup>
69+
<PropertyGroup>
70+
<_InstallerIntermediatesDir>$(IntermediateOutputPath)$(InstallerName)/$(InstallerPackageVersion)/</_InstallerIntermediatesDir>
71+
<InstallerBuildPart>$(Version)-$(TargetRuntimeOS)-$(InstallerTargetArchitecture)</InstallerBuildPart>
72+
</PropertyGroup>
73+
74+
<PropertyGroup Condition="'$(GenerateDeb)' == 'true' or '$(GenerateRpm)' == 'true'">
75+
<_InstallerArchSuffix>$(InstallerTargetArchitecture)</_InstallerArchSuffix>
76+
<_InstallerArchSuffix Condition="'$(BuildRpmPackage)' == 'true' and '$(InstallerTargetArchitecture)' == 'arm64'">aarch64</_InstallerArchSuffix>
77+
<InstallerBuildPart>$(Version)-$(_InstallerArchSuffix)</InstallerBuildPart>
78+
<InstallerBuildPart Condition="'$(PackageTargetOS)' != ''">$(Version)-$(PackageTargetOS)-$(_InstallerArchSuffix)</InstallerBuildPart>
79+
</PropertyGroup>
7780

78-
<PropertyGroup Condition="'$(GenerateRpm)' == 'true'">
79-
<CreateRPMForCblMariner>true</CreateRPMForCblMariner>
80-
<!-- PackageTargetOS is a distro-specific version suffix, used for deps packages, including the one for CBL Mariner.
81-
We do not want to create additional CBL Mariner named RPMs of those packages. -->
82-
<CreateRPMForCblMariner Condition="'$(PackageTargetOS)' != ''">false</CreateRPMForCblMariner>
83-
</PropertyGroup>
81+
<PropertyGroup>
82+
<!-- Location to place the installer, in artifacts. -->
83+
<InstallerFileNameWithoutExtension>$(InstallerName)-$(InstallerBuildPart)$(CrossArchContentsBuildPart)</InstallerFileNameWithoutExtension>
84+
<_InstallerFile Condition="'$(_InstallerFile)' == ''">$(PackageOutputPath)$(InstallerFileNameWithoutExtension)$(InstallerExtension)</_InstallerFile>
85+
<ExeBundleInstallerFile>$(PackageOutputPath)$(InstallerFileNameWithoutExtension).exe</ExeBundleInstallerFile>
86+
<ExeBundleInstallerEngineFile>$(PackageOutputPath)$(InstallerFileNameWithoutExtension)-engine.exe</ExeBundleInstallerEngineFile>
87+
</PropertyGroup>
8488

85-
<PropertyGroup Condition="'$(CreateRPMForCblMariner)' == 'true'">
86-
<!-- CBL-Mariner 1.0 -->
87-
<_CblMarinerVersionSuffix>cm.1</_CblMarinerVersionSuffix>
88-
<_InstallerBuildPartCblMariner>$(Version)-$(_CblMarinerVersionSuffix)-$(_InstallerArchSuffix)</_InstallerBuildPartCblMariner>
89-
<_InstallerFileNameWithoutExtensionCblMariner>$(InstallerName)-$(_InstallerBuildPartCblMariner)$(CrossArchContentsBuildPart)</_InstallerFileNameWithoutExtensionCblMariner>
90-
<_InstallerFileCblMariner>$(PackageOutputPath)$(_InstallerFileNameWithoutExtensionCblMariner)$(InstallerExtension)</_InstallerFileCblMariner>
91-
<!-- CBL-Mariner 2.0 -->
92-
<_CblMariner2VersionSuffix>cm.2</_CblMariner2VersionSuffix>
93-
<_InstallerBuildPartCblMariner2>$(Version)-$(_CblMariner2VersionSuffix)-$(_InstallerArchSuffix)</_InstallerBuildPartCblMariner2>
94-
<_InstallerFileNameWithoutExtensionCblMariner2>$(InstallerName)-$(_InstallerBuildPartCblMariner2)$(CrossArchContentsBuildPart)</_InstallerFileNameWithoutExtensionCblMariner2>
95-
<_InstallerFileCblMariner2>$(PackageOutputPath)$(_InstallerFileNameWithoutExtensionCblMariner2)$(InstallerExtension)</_InstallerFileCblMariner2>
96-
</PropertyGroup>
89+
<PropertyGroup Condition="'$(GenerateRpm)' == 'true'">
90+
<CreateRPMForCblMariner>true</CreateRPMForCblMariner>
91+
<!-- PackageTargetOS is a distro-specific version suffix, used for deps packages, including the one for CBL Mariner.
92+
We do not want to create additional CBL Mariner named RPMs of those packages. -->
93+
<CreateRPMForCblMariner Condition="'$(PackageTargetOS)' != ''">false</CreateRPMForCblMariner>
94+
</PropertyGroup>
9795

98-
<!--
99-
Legacy target. Some consumers depend on this target name, so keep it around.
100-
-->
101-
<Target Name="_GetInstallerProperties"
102-
DependsOnTargets="_GetTargetOSArchInfo;
103-
_GetProductBrandName">
96+
<PropertyGroup Condition="'$(CreateRPMForCblMariner)' == 'true'">
97+
<!-- CBL-Mariner 1.0 -->
98+
<_CblMarinerVersionSuffix>cm.1</_CblMarinerVersionSuffix>
99+
<_InstallerBuildPartCblMariner>$(Version)-$(_CblMarinerVersionSuffix)-$(_InstallerArchSuffix)</_InstallerBuildPartCblMariner>
100+
<_InstallerFileNameWithoutExtensionCblMariner>$(InstallerName)-$(_InstallerBuildPartCblMariner)$(CrossArchContentsBuildPart)</_InstallerFileNameWithoutExtensionCblMariner>
101+
<_InstallerFileCblMariner>$(PackageOutputPath)$(_InstallerFileNameWithoutExtensionCblMariner)$(InstallerExtension)</_InstallerFileCblMariner>
102+
<!-- CBL-Mariner 2.0 -->
103+
<_CblMariner2VersionSuffix>cm.2</_CblMariner2VersionSuffix>
104+
<_InstallerBuildPartCblMariner2>$(Version)-$(_CblMariner2VersionSuffix)-$(_InstallerArchSuffix)</_InstallerBuildPartCblMariner2>
105+
<_InstallerFileNameWithoutExtensionCblMariner2>$(InstallerName)-$(_InstallerBuildPartCblMariner2)$(CrossArchContentsBuildPart)</_InstallerFileNameWithoutExtensionCblMariner2>
106+
<_InstallerFileCblMariner2>$(PackageOutputPath)$(_InstallerFileNameWithoutExtensionCblMariner2)$(InstallerExtension)</_InstallerFileCblMariner2>
107+
</PropertyGroup>
104108
</Target>
105109

106110
<!--

0 commit comments

Comments
 (0)