Files
AtomUI/build/AtomUI.Repository.targets
T

99 lines
5.4 KiB
XML

<Project>
<PropertyGroup>
<EnableTrimAnalyzer
Condition="'$(EnableTrimAnalyzer)' == '' and
('$(PublishTrimmed)' == 'true' or
'$(PublishAot)' == 'true' or
'$(RunAOTCompilation)' == 'true')">true</EnableTrimAnalyzer>
<EnableTrimAnalyzer Condition="'$(EnableTrimAnalyzer)' == ''">false</EnableTrimAnalyzer>
<EnableAotAnalyzer
Condition="'$(EnableAotAnalyzer)' == '' and
('$(PublishAot)' == 'true' or
'$(RunAOTCompilation)' == 'true')">true</EnableAotAnalyzer>
<EnableAotAnalyzer Condition="'$(EnableAotAnalyzer)' == ''">false</EnableAotAnalyzer>
<EnableSingleFileAnalyzer
Condition="'$(EnableSingleFileAnalyzer)' == '' and
'$(PublishSingleFile)' == 'true'">true</EnableSingleFileAnalyzer>
<EnableSingleFileAnalyzer Condition="'$(EnableSingleFileAnalyzer)' == ''">false</EnableSingleFileAnalyzer>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.StartsWith('AtomUI.')) and
'$(OutputType)' == 'Library' and
'$(IsTestProject)' != 'true' and
'$(IsRoslynComponent)' != 'true' and
$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">
<IsTrimmable Condition="'$(IsTrimmable)' == ''">true</IsTrimmable>
<IsAotCompatible Condition="'$(IsAotCompatible)' == ''">true</IsAotCompatible>
</PropertyGroup>
<!-- https://github.com/dotnet/sdk/issues/22515 -->
<ItemGroup>
<None Remove="*.csproj.DotSettings" />
</ItemGroup>
<ItemGroup Condition="'$(CompilerGeneratedFilesOutputPath)' != ''">
<Compile Remove="$(CompilerGeneratedFilesOutputPath)/**/*.cs" />
</ItemGroup>
<Import Project="$(MSBuildThisFileDirectory)AtomUI.Generator.targets" />
<Target Name="AtomUICleanTestResultsBeforeRun"
BeforeTargets="VSTest"
Condition="'$(IsTestProject)' == 'true'">
<ItemGroup>
<_AtomUITestResultsDirectoryToCleanBeforeRun Include="$(MSBuildProjectDirectory)/TestResults"
Condition="Exists('$(MSBuildProjectDirectory)/TestResults')" />
<_AtomUITestResultsDirectoryToCleanBeforeRun Include="$(AtomUITestResultsDirectory)"
Condition="'$(AtomUITestResultsDirectory)' != '' and Exists('$(AtomUITestResultsDirectory)')" />
</ItemGroup>
<RemoveDir Directories="@(_AtomUITestResultsDirectoryToCleanBeforeRun)" />
</Target>
<Target Name="AtomUIRejectPersistentVSTestDumps"
BeforeTargets="VSTest"
Condition="'$(IsTestProject)' == 'true'">
<Error Condition="'$(VSTestBlameHangDumpType)' == 'full' or '$(VSTestBlameHangDumpType)' == 'mini'"
Text="AtomUI test runs must not collect persistent VSTest hang dumps. Use --blame-hang-dump-type none or move dump collection outside the repository." />
<Error Condition="'$(VSTestBlameCrashDumpType)' == 'full' or '$(VSTestBlameCrashDumpType)' == 'mini'"
Text="AtomUI test runs must not collect persistent VSTest crash dumps. Use --blame-crash-dump-type none or move dump collection outside the repository." />
</Target>
<Target Name="AtomUICleanTestResultsAfterRun"
AfterTargets="VSTest"
Condition="'$(IsTestProject)' == 'true'">
<ItemGroup>
<_AtomUITestResultsDirectoryToCleanAfterRun Include="$(MSBuildProjectDirectory)/TestResults"
Condition="Exists('$(MSBuildProjectDirectory)/TestResults')" />
<_AtomUITestResultsDirectoryToCleanAfterRun Include="$(AtomUITestResultsDirectory)"
Condition="'$(AtomUITestResultsDirectory)' != '' and Exists('$(AtomUITestResultsDirectory)')" />
</ItemGroup>
<RemoveDir Directories="@(_AtomUITestResultsDirectoryToCleanAfterRun)" />
</Target>
<Target Name="AtomUIPrepareGeneratorConsumerPackageAssets"
BeforeTargets="_GetPackageFiles"
Condition="'$(IsPackable)' == 'true' and '$(AtomUIRegistrationPackageId)' != ''">
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)AtomUI.Generator.props"
Pack="true"
PackagePath="buildTransitive/$(PackageId).props"
Visible="false"
Condition="'@(AtomUILanguage)' == ''" />
<None Include="$(MSBuildThisFileDirectory)AtomUI.GeneratorConsumer.targets"
Pack="true"
PackagePath="buildTransitive/$(PackageId).targets" />
<None Include="@(AtomUINuGetBuildAsset)"
Pack="true" />
<None Include="@(AtomUIGeneratorToolAsset)"
Pack="true" />
</ItemGroup>
<Error Condition="!Exists('%(AtomUINuGetBuildAsset.Identity)')"
Text="AtomUI Generator build asset could not be found at '%(AtomUINuGetBuildAsset.Identity)'." />
<Error Condition="!Exists('%(AtomUIGeneratorToolAsset.Identity)')"
Text="AtomUI Generator tool asset could not be found at '%(AtomUIGeneratorToolAsset.Identity)'. Build AtomUI.Generator before packing registration product packages." />
</Target>
</Project>