Skip to content

Commit f573af9

Browse files
atsushienojonpryor
authored andcommitted
[api-xml-adjuster] Don't parse JavaDoc (#982)
Bumps to Java.Interop/master/e1ad5066. When adding a new API level, instead of using `class-parse -docspath` to parse JavaDoc/AndroidDoc/etc., use `class-parse --parameter-names` with a "JavaApiParameterNames" file generated by [`xamarin-android-docimporter-ng`][import]. [import]: https://github.com/xamarin/java.interop/tree/e1ad506606/build-tools/xamarin-android-docimporter-ng/xamarin-android-docimporter-ng Eventually we'll remove `src/Mono.Android/Profiles/api*.xml.in` and instead generate those files at build-time by processing `android.jar`. Update `build-tools/api-xml-adjuster` to use the JavaApiParameterNames files and generate `api-*.xml.in`, which now takes only a few minutes. Regenerate `src/Mono.Android/Profiles/api-*.xml.in` using the new `api-xml-adjuster`. This results in some fixes, e.g. `NEGATIVE_INFINITY` should be `(-1.0f / 0.0f)`, not `-Infinity`, and some "parameter name regressions," e.g. in `api-24.xml.in` some parameter names were changed *to* `p0` and other meaningless names. *This is not breakage*; `api-merge` uses the previous API level parameter names when it encounters `p0`/etc. names, so these changes don't result in any API breakage.
1 parent 3750fbf commit f573af9

29 files changed

+340878
-167
lines changed

build-tools/api-xml-adjuster/Makefile

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ ANDROID_SDK_PATH=$(shell find ~/ -maxdepth 1 -name android-sdk-*)
99

1010
DOCS_DIR=~/android-toolchain/docs
1111

12-
MANDROID = ../../bin/$(CONFIGURATION)/lib/xamarin.anroid/xbuild/Xamarin/Android
12+
MANDROID = ../../bin/$(CONFIGURATION)/lib/xamarin.android/xbuild/Xamarin/Android
1313
BUILDBIN = ../../bin/Build$(CONFIGURATION)
1414

1515
CLASS_PARSE = $(MANDROID)/class-parse.exe
1616
API_XML_TOOL = $(BUILDBIN)/api-xml-adjuster.exe
17-
RUNTIME = mono
17+
RUNTIME = mono --debug
1818
RUN_CLASS_PARSE = $(RUNTIME) $(CLASS_PARSE)
1919
RUN_API_XML_TOOL = $(RUNTIME) $(API_XML_TOOL)
2020
API_LEVELS = 10 15 16 17 18 19 20 21 22 23 24 25 26
@@ -50,15 +50,9 @@ clean-api-xml:
5050
rm -f $(CLASS_PARSE_XML) $(ANALYZED_XML)
5151
$(XBUILD) /t:Clean
5252

53-
$(CLASS_PARSE_XML): $(CLASS_PARSE) $(ANDROID_JAR) $(DOCS_DIR_CUR_LEVEL)
53+
$(CLASS_PARSE_XML): $(CLASS_PARSE) $(ANDROID_JAR) # $(DOCS_DIR_CUR_LEVEL)
5454
mkdir -p $(CLASS_PARSE_XML_DIR)
55-
if [ '$(LEVEL)' -eq 'O' ]; then \
56-
$(RUN_CLASS_PARSE) $(ANDROID_JAR) -docspath=$(DOCS_DIR_CUR_LEVEL)/reference --docstype=droiddoc2 > $(CLASS_PARSE_XML) || rm -f $(CLASS_PARSE_XML) ;\
57-
elif [ $(LEVEL) -le 25 ]; then \
58-
$(RUN_CLASS_PARSE) $(ANDROID_JAR) -docspath=$(DOCS_DIR_CUR_LEVEL)/reference --docstype=droiddoc > $(CLASS_PARSE_XML) || rm -f $(CLASS_PARSE_XML) ;\
59-
else \
60-
$(RUN_CLASS_PARSE) $(ANDROID_JAR) -docspath=$(DOCS_DIR_CUR_LEVEL)/reference --docstype=droiddoc2 > $(CLASS_PARSE_XML) || rm -f $(CLASS_PARSE_XML) ;\
61-
fi
55+
$(RUN_CLASS_PARSE) $(ANDROID_JAR) -platform=$(LEVEL) -parameter-names=../../src/Mono.Android/Profiles/api-$(LEVEL).params.txt > $(CLASS_PARSE_XML) || rm -f $(CLASS_PARSE_XML)
6256

6357
$(ANALYZED_XML): $(API_XML_TOOL) $(CLASS_PARSE_XML)
6458
mkdir -p $(ANALYZED_XML_DIR)

external/Java.Interop

src/Mono.Android/Profiles/api-10.params.txt

Lines changed: 18213 additions & 0 deletions
Large diffs are not rendered by default.

src/Mono.Android/Profiles/api-10.xml.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74239,11 +74239,11 @@
7423974239
</field>
7424074240
<field deprecated="not deprecated" final="true" name="MIN_VALUE" static="true" transient="false" type="float" type-generic-aware="float" value="1.401298E-45" visibility="public" volatile="false">
7424174241
</field>
74242-
<field deprecated="not deprecated" final="true" name="NEGATIVE_INFINITY" static="true" transient="false" type="float" type-generic-aware="float" value="-Infinity" visibility="public" volatile="false">
74242+
<field deprecated="not deprecated" final="true" name="NEGATIVE_INFINITY" static="true" transient="false" type="float" type-generic-aware="float" value="(-1.0f / 0.0f)" visibility="public" volatile="false">
7424374243
</field>
74244-
<field deprecated="not deprecated" final="true" name="NaN" static="true" transient="false" type="float" type-generic-aware="float" value="NaN" visibility="public" volatile="false">
74244+
<field deprecated="not deprecated" final="true" name="NaN" static="true" transient="false" type="float" type-generic-aware="float" value="(0.0f / 0.0f)" visibility="public" volatile="false">
7424574245
</field>
74246-
<field deprecated="not deprecated" final="true" name="POSITIVE_INFINITY" static="true" transient="false" type="float" type-generic-aware="float" value="Infinity" visibility="public" volatile="false">
74246+
<field deprecated="not deprecated" final="true" name="POSITIVE_INFINITY" static="true" transient="false" type="float" type-generic-aware="float" value="(1.0f / 0.0f)" visibility="public" volatile="false">
7424774247
</field>
7424874248
<field deprecated="not deprecated" final="true" name="SIZE" static="true" transient="false" type="int" type-generic-aware="int" value="32" visibility="public" volatile="false">
7424974249
</field>

src/Mono.Android/Profiles/api-15.params.txt

Lines changed: 20610 additions & 0 deletions
Large diffs are not rendered by default.

src/Mono.Android/Profiles/api-15.xml.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91506,11 +91506,11 @@
9150691506
</field>
9150791507
<field deprecated="not deprecated" final="true" name="MIN_VALUE" static="true" transient="false" type="float" type-generic-aware="float" value="1.401298E-45" visibility="public" volatile="false">
9150891508
</field>
91509-
<field deprecated="not deprecated" final="true" name="NEGATIVE_INFINITY" static="true" transient="false" type="float" type-generic-aware="float" value="-Infinity" visibility="public" volatile="false">
91509+
<field deprecated="not deprecated" final="true" name="NEGATIVE_INFINITY" static="true" transient="false" type="float" type-generic-aware="float" value="(-1.0f / 0.0f)" visibility="public" volatile="false">
9151091510
</field>
91511-
<field deprecated="not deprecated" final="true" name="NaN" static="true" transient="false" type="float" type-generic-aware="float" value="NaN" visibility="public" volatile="false">
91511+
<field deprecated="not deprecated" final="true" name="NaN" static="true" transient="false" type="float" type-generic-aware="float" value="(0.0f / 0.0f)" visibility="public" volatile="false">
9151291512
</field>
91513-
<field deprecated="not deprecated" final="true" name="POSITIVE_INFINITY" static="true" transient="false" type="float" type-generic-aware="float" value="Infinity" visibility="public" volatile="false">
91513+
<field deprecated="not deprecated" final="true" name="POSITIVE_INFINITY" static="true" transient="false" type="float" type-generic-aware="float" value="(1.0f / 0.0f)" visibility="public" volatile="false">
9151491514
</field>
9151591515
<field deprecated="not deprecated" final="true" name="SIZE" static="true" transient="false" type="int" type-generic-aware="int" value="32" visibility="public" volatile="false">
9151691516
</field>

0 commit comments

Comments
 (0)