mirror of
https://github.com/AtomUI/AtomUI.git
synced 2026-10-24 10:12:35 +08:00
85 lines
7.0 KiB
XML
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>
|