Reduce maintenance costs by creating a generic `PackageLicense.md` file that can be used by all packages. Instead of listing package-specific licensing, it points to the existing `THIRD-PARTY-NOTICES.txt` file which already contains package-specific licensing.
Additionally, this is done as `PackageLicense.md` instead of the root `LICENSE.md` because it is specific to the packages we ship and not necessarily to the code in this repository. That is, the package-specific wording does not apply to things like the `binderator` code that exists in this repository.
Also, mentions of `Xamarin` were replaced with `Microsoft`.
Finally, pull in the standard `dotnet` `LICENSE.txt` for the repository level license, a la:
- https://github.com/dotnet/runtime/blob/main/LICENSE.TXT
- https://github.com/dotnet/android/blob/main/LICENSE.TXT
With support for Classic Xamarin.Android [ended May 1st, 2024](https://dotnet.microsoft.com/en-us/platform/support/policy/xamarin), we can start removing all the hacks needed to support both Classic and .NET for Android.
- No longer build EOL frameworks: `MonoAndroid12.0;net6.0-android;`
- No longer need to install classic XA
- No longer need to have classic XA or XF sample builds
- No longer need to use `Xamarin.Legacy.Sdk`
For this PR, we'll only build `net7.0-android`. A future PR should enable `net8.0-android`.
The best news: with this our CI build time drops from ~80 minutes to ~35 minutes. 🎉
This commit marks a different approach to maintaining the bindings, and now uses a binding generation tool currently called AndroidBinderator.
This tool will fetch all the required maven artifact information including dependency chains, binaries, etc, and generate Xamarin.Android binding projects for the maven artifacts based on Razor templates for both the .csproj and .targets files.
This also uses new SDK style projects which makes packaging nugets easier, especially for including the correct dependency chains in the nupkg’s (which is automated from the maven repository info).
This is a work in progress.