Browse Source
Enhance Roslyn-compiler visible metadata (#21546 )
* Move "AdditionalFiles Include="@(AvaloniaXaml)"" to common AvaloniaBuildTasks
* Add AdditionalFiles Include="@(AvaloniaResource)"
* Add a comment
* Add extra CompilerVisibleProperty
* Rename _InjectAvaloniaAdditionalFiles, make it more specific...
* Do not duplicate AdditionalFiles with AvaloniaXaml AvaloniaResource
pull/21558/head
Max Katz
4 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
17 additions and
5 deletions
packages/Avalonia/AvaloniaBuildTasks.targets
src/tools/Avalonia.Generators/Avalonia.Generators.props
@ -39,6 +39,17 @@
Condition="'$(ApplicationIcon)' != ''" />
</ItemGroup>
<!-- Include AvaloniaXaml and AvaloniaResource as a Roslyn-visible additional files -->
<!-- This is necessary to use these files in source generators and other Roslyn-based extension -->
<Target Name="_InjectAvaloniaAdditionalFiles" BeforeTargets="GenerateMSBuildEditorConfigFileShouldRun">
<ItemGroup>
<AdditionalFiles Include="@(AvaloniaXaml)" SourceItemGroup="AvaloniaXaml" />
<_AvaloniaResourceOnly Include="@(AvaloniaResource)"
Exclude="@(AvaloniaXaml)" />
<AdditionalFiles Include="@(_AvaloniaResourceOnly)" SourceItemGroup="AvaloniaResource" />
</ItemGroup>
</Target>
<UsingTask TaskName="GenerateAvaloniaResourcesTask"
AssemblyFile="$(AvaloniaBuildTasksLocation)"
/>
@ -9,7 +9,9 @@
<AvaloniaNameGeneratorAttachDevTools Condition="'$(AvaloniaNameGeneratorAttachDevTools)' == ''">true</AvaloniaNameGeneratorAttachDevTools>
</PropertyGroup>
<ItemGroup>
<!-- Mark AvaloniaXaml/AvaloniaResource metadata visible for the Roslyn-compiler -->
<CompilerVisibleItemMetadata Include="AdditionalFiles" MetadataName="SourceItemGroup"/>
<!-- Mark Avalonia.Generators config properties visible for the Roslyn-compiler -->
<CompilerVisibleProperty Include="AvaloniaNameGeneratorIsEnabled" />
<CompilerVisibleProperty Include="AvaloniaNameGeneratorBehavior" />
<CompilerVisibleProperty Include="AvaloniaNameGeneratorDefaultFieldModifier" />
@ -17,10 +19,9 @@
<CompilerVisibleProperty Include="AvaloniaNameGeneratorFilterByNamespace" />
<CompilerVisibleProperty Include="AvaloniaNameGeneratorViewFileNamingStrategy" />
<CompilerVisibleProperty Include="AvaloniaNameGeneratorAttachDevTools"/>
<!-- Mark additional Avalonia properties that might be useful for the Roslyn-compiler -->
<CompilerVisibleProperty Include="AvaloniaUseCompiledBindingsByDefault" />
<CompilerVisibleProperty Include="AvaloniaMainPackageVersion" />
<CompilerVisibleProperty Include="AvaloniaPreviewerNetCoreToolPath" />
</ItemGroup>
<Target Name="_InjectAdditionalFiles" BeforeTargets="GenerateMSBuildEditorConfigFileShouldRun">
<ItemGroup>
<AdditionalFiles Include="@(AvaloniaXaml)" SourceItemGroup="AvaloniaXaml" />
</ItemGroup>
</Target>
</Project>