Files
AtomUI/build/AtomUI.Repository.props
T

85 lines
7.0 KiB
XML

<Project>
<Import Project="$(MSBuildThisFileDirectory)Versions.props" />
<Import Project="$(MSBuildThisFileDirectory)ProjectDefaults.props" />
<Import Project="$(MSBuildThisFileDirectory)PackageMetadata.props" />
<Import Project="$(MSBuildThisFileDirectory)OutputPaths.props" />
<!-- Imported only for validation runs. In ordinary Debug/Release development builds the
property below is unset, so this file is not read at all and adds no evaluation cost to
the inner development loop. -->
<Import Project="$(MSBuildThisFileDirectory)PackageValidation.props"
Condition="'$(AtomUIPackageValidationBaselineVersion)' != '' or '$(EnablePackageValidation)' == 'true'" />
<PropertyGroup>
<AtomUIRepositoryBuild>true</AtomUIRepositoryBuild>
<AtomUIBuildTasksAssembly Condition="'$(AtomUIBuildTasksAssembly)' == ''">$(OutputPathWithoutFramework)/net10.0/AtomUI.Build.Tasks.dll</AtomUIBuildTasksAssembly>
<AtomUILinkedPublishGeneratorAssembly Condition="'$(AtomUILinkedPublishGeneratorAssembly)' == ''">$(OutputPathWithoutFramework)/netstandard2.0/AtomUI.Generator.LinkedPublish.dll</AtomUILinkedPublishGeneratorAssembly>
</PropertyGroup>
<!-- .NET task hosts (TaskHostFactory, Runtime="NET") keep loaded task assemblies locked
after the build, and an orphaned host can hold the lock indefinitely. In repository
builds, UsingTask registrations therefore never point at the build output directly.
They resolve to a content-addressed toolset cache directory under .artifacts/tools
that the AtomUI.Build.Tasks build itself populates BEFORE publishing the shadow key
props imported below: any evaluation that can read key K is therefore guaranteed
that the cache directory for K already exists. Cache directories are written once
and never mutated or cleaned, so a lingering task host locking a previous copy can
never block a rebuild, and cleaning or rebuilding any consumer project can never
invalidate an assembly path another evaluation already resolved. The `pending` key
is the bootstrap state used before AtomUI.Build.Tasks has been built in this
checkout; consumers stage the toolset into their own obj for that case only (see
_AtomUIStageBuildTasksToolset in AtomUI.Repository.targets). -->
<Import Project="$(OutputPathWithoutFramework)/netstandard2.0/AtomUI.BuildTasks.ShadowKey.props"
Condition="Exists('$(OutputPathWithoutFramework)/netstandard2.0/AtomUI.BuildTasks.ShadowKey.props')" />
<PropertyGroup>
<AtomUIBuildTasksShadowKey Condition="'$(AtomUIBuildTasksShadowKey)' == ''">pending</AtomUIBuildTasksShadowKey>
<!-- Capture the shadow root here: IntermediateOutputPath is expanded eagerly, and the
SDK appends the TargetFramework segment to it after this props file is imported, so
execution-time reads of IntermediateOutputPath would produce a mismatched path. -->
<AtomUIBuildTasksShadowRoot>$(IntermediateOutputPath)/AtomUIBuildTasksShadow</AtomUIBuildTasksShadowRoot>
<AtomUIBuildTasksToolsetDirectory Condition="'$(AtomUIBuildTasksShadowKey)' != 'pending'">$(AtomUIToolsetCacheRoot)/AtomUI.Build.Tasks/$(AtomUIBuildTasksShadowKey)</AtomUIBuildTasksToolsetDirectory>
<AtomUIBuildTasksToolsetDirectory Condition="'$(AtomUIBuildTasksShadowKey)' == 'pending'">$(AtomUIBuildTasksShadowRoot)/$(TargetFramework)/pending</AtomUIBuildTasksToolsetDirectory>
<AtomUIBuildTasksAssembly Condition="'$(AtomUIBuildTasksAssembly)' == ''">$(AtomUIBuildTasksToolsetDirectory)/AtomUI.Build.Tasks.dll</AtomUIBuildTasksAssembly>
</PropertyGroup>
<ItemGroup>
<AtomUINuGetBuildAsset Include="$(MSBuildThisFileDirectory)AtomUI.Generator.props;
$(MSBuildThisFileDirectory)AtomUI.Generator.targets;
$(MSBuildThisFileDirectory)AtomUI.LinkedRegistration.props;
$(MSBuildThisFileDirectory)AtomUI.LinkedRegistration.targets;
$(MSBuildThisFileDirectory)AtomUI.LinkedRegistration.SidecarConsumer.targets;
$(MSBuildThisFileDirectory)AtomUI.Localization.props;
$(MSBuildThisFileDirectory)AtomUI.Localization.targets;
$(MSBuildThisFileDirectory)AtomUI.ThemeAssets.targets;
$(MSBuildThisFileDirectory)AtomUI.Build.Tasks.Process.cs">
<PackagePath>buildTransitive/%(Filename)%(Extension)</PackagePath>
</AtomUINuGetBuildAsset>
<AtomUIGeneratorToolAsset Include="$(OutputPathWithoutFramework)/netstandard2.0/AtomUI.Generator.dll;
$(OutputPathWithoutFramework)/netstandard2.0/AtomUI.Generator.LinkedPublish.dll;
$(OutputPathWithoutFramework)/netstandard2.0/System.Reflection.Metadata.dll;
$(OutputPathWithoutFramework)/netstandard2.0/System.Collections.Immutable.dll;
$(OutputPathWithoutFramework)/netstandard2.0/System.Memory.dll;
$(OutputPathWithoutFramework)/netstandard2.0/System.Buffers.dll;
$(OutputPathWithoutFramework)/netstandard2.0/System.Numerics.Vectors.dll;
$(OutputPathWithoutFramework)/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll">
<PackagePath>tools/netstandard2.0/%(Filename)%(Extension)</PackagePath>
</AtomUIGeneratorToolAsset>
<AtomUIGeneratorToolAsset Include="$(OutputPathWithoutFramework)/net10.0/AtomUI.Build.Tasks.dll;
$(OutputPathWithoutFramework)/net10.0/AtomUI.Build.Tasks.deps.json;
$(OutputPathWithoutFramework)/net10.0/AtomUI.Build.Tasks.runtimeconfig.json;
$(OutputPathWithoutFramework)/net10.0/Microsoft.Build.Framework.dll">
<PackagePath>tools/net10.0/%(Filename)%(Extension)</PackagePath>
</AtomUIGeneratorToolAsset>
</ItemGroup>
<ItemGroup Condition="('$(AtomUILinkedPublish)' == 'true' or '$(PublishTrimmed)' == 'true' or '$(PublishAot)' == 'true' or '$(RunAOTCompilation)' == 'true' or '$(AtomUIEmitLinkedManifest)' == 'true' or '$(AtomUIRegistrationStrict)' == 'true') and '$(MSBuildProjectName)' != 'AtomUI.Generator' and '$(MSBuildProjectName)' != 'AtomUI.Generator.LinkedPublish' and '$(MSBuildProjectName)' != 'AtomUI.Build.Tasks'">
<ProjectReference Include="$(MSBuildThisFileDirectory)../src/AtomUI.Generator.LinkedPublish/AtomUI.Generator.LinkedPublish.csproj"
OutputItemType="Analyzer"
ReferenceOutputAssembly="false"
PrivateAssets="all" />
</ItemGroup>
<Import Project="$(MSBuildThisFileDirectory)AtomUI.Generator.props" />
</Project>