* Onboard onto Central Package Management
* Remove SharpDX
* Add back <clear /> to NuGet.config package source mapping
* Package mapping
* Inline props where appropriate
* Lost a space
* Update ncrunch config.
* Tidy up reflection and multi-binding APIs:
- Move `BindingBase` and `MultiBinding` into Avalonia.Base
- `BindingBase` becomes a true base class for all bindings, and contains only the `Instance` method
- Properties common between reflection and compiled bindings are moved into `StandardBindingBase`
- `Binding` is moved to Avalonia.Base and renamed to `ReflectionBinding`
- A compatibility shim for `Binding` remains in Avalonia.Markup
- Remove `IBinding` and `IBinding2`
- Remove `ITreeDataTemplate's usage of `InstancedBinding`
- Remove `NativeMenuBarPresenter`s usage of `InstancedBinding`
- Remove `InstancedBinding` as it is now unused
This required an update to the DataGrid submodule: cell data validation has been temporarily removed as this used `InstancedBinding`.
* `Instance()` => `CreateInstance()`.
The use of "Instance" as a verb is quite unusual apparently ;)
* Seal classes where appropriate.
* Seal classes where appropriate.
* Remove `StandardBindingBase`.
Simply duplicate the members in reflection and compiled binding classes.
* Delete deleted submodule directory.
* Add missing attribute.
Fixes compile error.
* Fix reference to removed class.
* Update suppressions.
* Remove netstandard2.0 from almost all projects
* Fix duplicated target frameworks in unit tests
* Fix DesignerSupport tests
* Fix Designer.HostApp packaging
* Build ControlCatalog.Desktop on CI
* Fix another bad auto merge
* Fix LeakTests duplicated target frameworks
* Don't hardcode target framework in DesignerSupportTests
Add a pure XML parsing fallback which allows InitializeContext to be generated even if XAML parsing failed
Improve diagnostic messages and make user errors warnings, so that the compile can continue and fail "properly" later
* Add AnalyzerProject.targets targets
* PrivateAssets on Workspaces.Common
* Migrate AvaloniaNameSourceGenerator to IIncrementalGenerator
* Remove outdated lins in the generator readme
* Add GlobPattern.ToString
* Fix tests
* Formatting
* Redo pipeline, make steps more independent from each other, compilation should be reused between dependency changes
* Split XAML parsing and type resolution into separated steps
* Restore CompilationReferencesComparer usage
* Revert "Restore CompilationReferencesComparer usage"
This reverts commit c51341990b.
* Split ResolvedNamesProvider pipeline step, process files in parallel
* Add comment
* Switch back to EquatableList
* Add cancellation to the incremenetal source gen
* Rethrow cancellation exception
* Enable VisualBrush to be used as Visual's OpacityMask
* Add missing test file
---------
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* Fix duplicated trimming attributes warning in Markup.Xaml.Loader
* Fix nullability warnings
* Update ImageSharp to 2.1.8
* Removed obsolete attributes on ValueStore
* Ignore CA1815 on private API RenderTargetProperties
* Fix switch expression warnings
* Fix warnings in Vulkan project
* Only include PThread for WasmEnableThreads
* Rename pollfd to PollFd to fix CS8981
* Fix incompatible packages being used in ControlCatalog.Desktop
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Add .NET 8 target to packable projects
* Update test projects
* Update sample projects to target .NET 8
* Update main Avalonia package to target .NET 8 as well
* Remove MSBuildEnableWorkloadResolver hack and some minor change
* Use net8.0 in nuke build as well
* Pin 8.0.0 SDK
* Adjust API validation
* Pin a valid version
* Remove net461 target from Avalonia package
* Remove unused net6.0 target from Avalonia.Designer.HostApp
* Adjust API diff
* Update ControlCatalog.Android.csproj
* Remove MSBuildEnableWorkloadResolver
* Fix Browser issues on .NET 8
* Fix .NET 8 error
* Fix merge conflicts
* Replace explicit TFMs in .csproj files with a centralized registry
* Fix merge conflict
* Fix AvsLegacyWindowsTargetFrameworks and add hacks for the tests
* Update XCode project CommandLineArgument
---------
Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
* Add diagnostics support to the Avalonia.Build.Tasks
* HostApp and generators build fix
* Diagnostics support in Avalonia XAML
* Support multiple style selector errors at once
* Improve avalonia intrinsics error handling + add tests
* Add CompiledBindings multiple errors tests
* Fix name generator
* Make AvaloniaXamlIlDuplicateSettersChecker a warning
* Fix Style_Parser_Throws_For_Duplicate_Setter test
* Make XamlLoaderUnreachable respect warnings settings
* Add AvaloniaXamlIlStyleValidatorTransformer
* Throw more specific exceptions instead of XamlParseException
* Get rid of XamlXDiagnosticCode to simplify diagnostics code
* Simplify XAML exceptions by avoiding DiagnosticCode in them
* Simplify XamlCompilerDiagnosticsFilter
* Don't use AvaloniaXamlDiagnosticCodes in Avalonia.Generators
* Fix some error handlings in compiler task
* Update editor config for in-solution analysis
* Update XamlX
* Fix missing document path
* Avoid Description field usage
* Add AvaloniaXamlVerboseExceptions property and make exception formatting customizable
* Make Avalonia.NameGenerator not crash if there are XAML errors, members should still be generated
* Update tests/Avalonia.Markup.Xaml.UnitTests/Xaml/StyleIncludeTests.cs
---------
Co-authored-by: Jumar Macato <16554748+jmacato@users.noreply.github.com>
* Add "EGL_ANGLE_flexible_surface_compatibility" ext check
* Use stackalloc with CreatePBufferFromClientBuffer attributes
* Fix broken API
* Update to latest angle
* Add trimming attributes to the Runtime XAML Loader project
* Create CompilerDynamicDependenciesAttribute with all known dynamic types
* Use master XamlX
* Implement CompilerDynamicDependenciesGenerator to simplify CompilerDynamicDependencies attribute
* Better formatting of generated code
* Be safe about type converters as well
* Remove unnecessary warning
* Also include FindType just in case
Warning RS1036 'Avalonia.Generators.NameGenerator.AvaloniaNameSourceGenerator': A project containing analyzers or source generators should specify the property '<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>' Avalonia.Generators C:\GitHub\Avalonia\src\tools\Avalonia.Generators\NameGenerator\AvaloniaNameSourceGenerator.cs 11 N/A