xamarin-macios/tools/apidiff
VS MobileTools Engineering Service 2 306a00bb42
[main] [release/6.0.4xx-xcode14] [apidiff] Don't compare to legacy platforms that aren't included in the build. Fixes #16011. (#16032)
Don't try to compare legacy vs .NET for platforms that aren't included in the build, because this happens:

> make: *** No rule to make target 'output/diff/dotnet/legacy-diff/Microsoft.macOS.Ref/ref/net6.0/Microsoft.macOS.html', needed by 'output/api-diff.html'.  Stop.

We do this by not hardcoding the list of legacy platforms, but instead starting with DOTNET_PLATFORMS variable (which won't contain platforms that aren't included in the build), and then removing any .NET-only platforms (i.e. Mac Catalyst).

Also fix the `update-refs` target to not try to update refs for platforms that aren't enabled.

Fixes https://github.com/xamarin/xamarin-macios/issues/16011.


Backport of #16029

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-09-21 14:24:13 +02:00
..
.gitignore Improve the API diff (#15020) 2022-06-09 15:47:00 +02:00
Makefile [main] [release/6.0.4xx-xcode14] [apidiff] Don't compare to legacy platforms that aren't included in the build. Fixes #16011. (#16032) 2022-09-21 14:24:13 +02:00
README.md [apidiff] Fix the comparison with the previous commit (#5690) 2019-02-28 20:49:10 -05:00
diff-bundles.sh [apidiff] Add q quick'n'dirty script to produce a diff between any two bundle.zip (#6050) 2019-05-15 12:46:38 -05:00
merger.cs Improve the API diff (#15020) 2022-06-09 15:47:00 +02:00
report-status.sh Improve the API diff (#15020) 2022-06-09 15:47:00 +02:00

README.md

New Releases

Inside Make.config update the APIDIFF_REFERENCES= line to point to the bundle.zip URL of the currently stable version. E.g.

APIDIFF_REFERENCES=https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/d15-9/2dc06c712629feeb179ed112a590d9922caac6e7/53/package/bundle.zip

New Revisions

On the bots each revision rebuilds every assemblies. Each of them will be compared to the downloaded stable version from APIDIFF_REFERENCES. Any changes (addition/removal) to the public API will be reported in HTML files.

This can be done manually with make. The .\diff\ directory will contain the diffs in HTML format.

The helper make merge target creates a single api-diff.html file (from all the diff\*.html files) that be used for the documentation web site.