With this change, we'll produce a new nuget package that contains the LottieGen.exe executable built into a single file with no dependencies (not even .NET) and an MsBuild task.
This is being done to enable LottieGen to be more easily used in a build.
Refactoring and clean up that does not change the output.
Getting ready for new features.
Switch UIDataCodeGen.dll to .NET Core 3.0 because it now uses C# 8. Enable .NET Core 3.x on build machines.
Add comments to the ADO yaml file so it's easier to figure out next time.
Update to the latest build.ps1 file from Cake.
Address warnings from build.cake about the addins not being pinned to a particular version.
* Preparing for implementation of gradients.
* Make LottieGenCorpus more deterministic.
Previously the output depended on the width of the console, and sorting ignored case.
* Upgrading to SDK 18362 (May 2019) so that we can use RadialGradientBrush.
* Add data representation of IRandomAccessStream for use by LoadedImageSurface.
LoadedImageSurface doesn't actually do anything with IRandomAccessStream yet.
Also tweaked the samples csproj to get rid of a warning.
* CR feedback, and fixing race in the build.
* Fix cake file.
* Work around race condition in the build.
* Fix typo on commen
* Adding some of the pieces needed for supporting image assets
Support for embedded images in Lottie files.
Introducing the WinUIXamlMediaData project so we can bring in LoadedImageSource for loading images.
* Small refactor for readability.
* Replace the CompositionSurfaceBase with ICompositionSurface.
The CompositionSurfaceBase made sense when the only implementations of ICompositionSurface
were also CompositionObjects. But with support for LoadedImageSurface that all changes.
This change is only part of the solution - in order to support LoadedImageSurface without
introducing a circular dependency between WinCompData and WinUIXamlData we will need to
add a new project for anything that needs to refer to both of them, i.e. the ObjectGraph,
Instantiator, Optimizer, codegen, and the dumpers.
* Fixing build break.
Adding CleanObjs.cmd script to easily delete all obj directories. This can be useful when diagnosing build issues because the regular clean doesn't delete objs.
* Respond to CR feedback.
The InheritDocs task (that replaces <inheritdoc/> tags in doc comments with the comments from the
inherited member) was causing a lot of noise in local builds as it was running over every xml
file that had accumulated from various build configurations. We currently only care about
docs for one project, so I'm pointing the InheritDocs task at it so that it does less work
and is therefore less noisy.
I've also updated to the newest version of InheritDocs while I'm here, because, shiny.
We were using configurations to define each build product. That allowed the CI build to build only the projects we want, but it confuses people. So we'll always build everything in CI and go back to Debug and Release configurations only.
Also added a bunch of README content to help people navigate the code.
ListOfNeverNull is an implementation detail so should not be public.
Always build the DLLs so that changes like these that can affect dependencies are checked during checkin.