This was a large set of changes, both to the code as well as to new
requirements. The changes included:
- Updated skia
- Updated depot_tools (and this also needed changes
- Added/chnaged/removed C++ types
- Re-generated C# pinvokes
- Minimum OS versions changed:
- Android: 21 (v5.0)
- macOS: 10.13 (High Sierra)
- Tizen: 6.0
- tvOS: 11.0
- Debiam: 10 (Buster)
- Updated macOS build agent to macOS 13 with Xcode 14.3.1
- Updated the Android NDK to r25c
- Updated Tizen Studio to 5.1
- Ninja is now a required dependency and not included in depot_tools
- Python is now used to run ninja instead of ninja run directly
Several iterations of development to come to this:
* [UWP] Fix the ARM build and add ARM64
* [Win32] GDI is optional - and we don't want it
* Update harfbuzz to v2.6.2
* Use Docker
* Use a later version of the linux tools
* Use VS 2019
* Use Xcode 11
* Go all in with MSVC 14.2
* Disable the Tizen builds for now
* Add support for manually specifying VS (This can be done in a few ways, but the common way would be: --vsinstall='C:\PF\MVS\XXX\YYY')
* Update OpenJDK and Tizen Studio
* Using C++ 17
* Also added a THROW_ON_TEST_FAILURE env var to allow previews to be put out when tests are still failing
* Support basic text alignment
* Implement breakText in native code.
- Windows builds to use the v14.2 compilers
- Android to use the r19c (min Android 19)
- OpenJDK 13.0.2
- Tizen Studio 3.6
- Build on VS 2019
- Added build args to support preview/any VS installs
* Some of the colorspaces created are just references
- SRGB and SRGB Linear colorspaces are static and should never be disposed
* Fix concurrent disposal and creation
- In some cases, a new native object is created with the same memory location while the
managed instances is still being disposed. In this case, we cannot remove the managed
instance from the dictionary, since it is not the current object being disposed anymore.
- SKColorSpace has some members that should not be disposed, since they are static on the
native side. Just, there is no docs for this, so calling dispose will crash everything.
- Added the logic to make sure that all static objects are created before anything, so we can
get a handle on them and make sure they are static managed instances.
* Make sure the objects are not collected when using spans
Add a new NuGet
- add a targets file to the nuget to warn if the platform packages were not installed
Update the pipeline:
- use build artifacts everywhere
- just disable tizen for Windows
* Remove the environment variables from the yaml
* Remove the Java bits from the tizen script
* Add the java bin to PATH
* Set the ANDROID_NDK_HOME variable
* Set the TIZEN_STUDIO_HOME variable
* Use a variable for the host vm image
* Add a retry option for the tests because they fail sometimes
* Removing the samples temporarily as they are failing to build
* Updating cake and the bootstrappers
Refactor the pipeline to reuse most of the functionality
- typically, just the target changes
- added hooks for pre/post build steps for the special cases
- rewrote the scripts using powershell only
* Trying to get an older linux build
* Switch to clang 3.8 on linux. #686
* Statically link things for linux
* Set up CI with Azure Pipelines
* Updated the tizen install script to work on macos and linux
* Make sure to install the version of the Android NDK we support
* Added missing [SkippableFact] attribute