Skip to content
This repository was archived by the owner on Mar 8, 2021. It is now read-only.

Commit c9c7928

Browse files
atsushienojonpryor
authored andcommitted
Use mono-api-html --ignore-change-parameter-names (#2)
Google changes method parameter names over time. That means that Xamarin.Android must *also* change parameter names over time, so that Google's Android documentation is usable. (Parameter name mismatches will cause needless confusion.) This in turn means that Xamarin.Android *cannot* provide full source API compatibility; use of e.g. C# 4 named parameters *may* result in compilation breakage, due to parameter name changes. (Parameter names only change with new `$(TargetFrameworkVersion)` values; so long as a project doesn't change the `$(TargetFrameworkVersion)`, the project shouldn't be exposed to parameter name-related breakage.) Compare to *ABI* stability, which is largely sacrosanct: if ABI breaks, then existing "in the wild" assemblies may not be able to *load* anymore, which is very problematic. Update the `mono-api-info` invocation to use `mono-api-info --ignore-change-parameter-names` so that parameter name changes aren't reported as breaking changes by xamarin-android's `api-compatibility` tests.
1 parent 0e1889b commit c9c7928

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ check: check-inter-api-level
9292
$(call BUILD_API_INFO,temp,$(XA_FRAMEWORK_DIR))
9393
failed=0 ; \
9494
for file in $(CORE_ASSEMBLIES) $(TFV_ASSEMBLIES) ; do \
95-
if $(MONO_API_HTML) $(REFERENCE_DIR)/$$file.xml temp/$$file.xml | grep '>Removed' > /dev/null 2>&1 ; then \
95+
if $(MONO_API_HTML) $(REFERENCE_DIR)/$$file.xml temp/$$file.xml --ignore-changes-parameter-names | grep '>Removed' > /dev/null 2>&1 ; then \
9696
echo "ABI BREAK IN: $$file.dll" ; \
97-
$(MONO_API_HTML) $(REFERENCE_DIR)/$$file.xml temp/$$file.xml ; \
97+
$(MONO_API_HTML) $(REFERENCE_DIR)/$$file.xml temp/$$file.xml --ignore-changes-parameter-names; \
9898
failed=1; \
9999
fi ; \
100100
done ; \
@@ -128,7 +128,7 @@ check-inter-api-level: -create-inter-api-infos
128128
echo "# reading extras from: $$extras_in"; \
129129
extra=`cat $$extras_in 2>/dev/null`; \
130130
out=`mktemp interdiff-XXXXXX.html` ; \
131-
command="$(MONO_API_HTML) "$$prev" "$$cur" --ignore-changes-parameter-names --ignore-changes-virtual --ignore-changes-property-setters $$extra"; \
131+
command="$(MONO_API_HTML) \"$$prev\" \"$$cur\" --ignore-changes-parameter-names --ignore-changes-virtual --ignore-changes-property-setters $$extra"; \
132132
echo $$command; \
133133
eval $$command > "$$out" 2>&1; \
134134
if grep '>Removed' $$out > /dev/null 2>&1 ; then \

0 commit comments

Comments
 (0)