Skip to content

Conversation

@jpobst
Copy link
Contributor

@jpobst jpobst commented Mar 13, 2020

Breakages:

acceptable-breakages-v10.0.99.txt

These are because we are no longer generating XXXXConsts classes for DIM enabled bindings as of dotnet/java-interop#600

acceptable-breakages-v10.0.txt

These are because there was a bug where we were not generating [Obsolete] on fields that were turned into properties. Now the attribute is generated in API-28 (the "contract"), but they are no longer marked as deprecated by Google in API-29 (the "implementation"), so they appear as removing the attribute.

api-28.xml.in

<field deprecated="deprecated" final="false" name="BSSID" jni-signature="Ljava/lang/String;" static="false" transient="false" type="java.lang.String" type-generic-aware="java.lang.String" visibility="public" volatile="false">

api-29.xml.in

<field deprecated="not deprecated" final="false" name="BSSID" jni-signature="Ljava/lang/String;" static="false" transient="false" type="java.lang.String" type-generic-aware="java.lang.String" visibility="public" volatile="false">

acceptable-breakages-v8.0.txt

Same as above, a propified field was missing [Obsolete], and Google later un-deprecated the field.

api-25.xml.in

<field deprecated="deprecated" final="false" name="number" jni-signature="I" static="false" transient="false" type="int" type-generic-aware="int" visibility="public" volatile="false">

api-26.xml.in

<field deprecated="not deprecated" final="false" name="number" jni-signature="I" static="false" transient="false" type="int" type-generic-aware="int" visibility="public" volatile="false">

@brendanzagaeski
Copy link
Contributor

Draft release notes

This bump appears to bring in a nice user-facing build time improvement from dotnet/java-interop@0a3354b.
If you or @jonathanpeppers get a chance, you can add a draft release note for it to Documentation/release-notes/4397.md based on the build and deployment performance template. Feel free to pick and choose parts of the template to suit that commit.

(Side note: The different authors between dotnet/java-interop@0a3354b and this PR makes me realize it might be useful to adjust the release note workflow to cover that scenario. At least for members of the Xamarin.Android product team, maybe each new user-facing PR in a submodule can include a PR comment with a draft release note. Then the bump in xamarin-android can combine all those comments into a Documentation/release-notes/*.md file.)

For the the generator changes in this bump, it looks like they might be mostly specific to the bindings process for Mono.Android.dll, so feel free to skip those for the release notes if they aren't of interest to authors of other bindings projects. If you do want to mention any of them, they can go in the same 4397.md file, placed under their own headings.

Thanks in advance!

@jonathanpeppers
Copy link
Member

@jpobst for mine add:

### Build and deployment performance

  * [GitHub PR 596](https://github.com/xamarin/java.interop/pull/596):
    Use `File.Exists` instead of `DirectoryGetFile`.  This reduced the time for the
    `LinkAssembliesNoShrink` task from about 711ms to 426ms for a small test
    Xamarin.Forms app on an initial clean build.

@jpobst
Copy link
Contributor Author

jpobst commented Mar 16, 2020

👍 Release notes added.

@jpobst jpobst marked this pull request as ready for review March 16, 2020 19:55
@jonpryor jonpryor merged commit 210a8fe into master Mar 16, 2020
@jonpryor jonpryor deleted the bump-ji-mar13 branch March 16, 2020 20:27
jonpryor pushed a commit that referenced this pull request Mar 16, 2020
Changes: dotnet/java-interop@35f30bf...a84d19e

  * dotnet/java-interop@a84d19e: [generator] Support //interface/@no-alternatives (#601)
  * dotnet/java-interop@f34ed03: [generator] Remove interface alternatives w/ interface-constants (#600)
  * dotnet/java-interop@c5b8aca: [CI] Specify our PR build trigger in YAML. (#598)
  * dotnet/java-interop@d589f1c: [Java.Interop.Tools.Cecil] use File.Exists instead of DirectoryGetFile (#596)

Reduces the `<LinkAssembliesNoShrink/>` task time from about 711ms to
426ms for a small test Xamarin.Forms app on an initial clean build.

Updates `generator --lang-features=interface-constants` output so that
we stop emitting the `*Consts` classes in API-R.

API Breakages:

  * `tests/api-compatibility/acceptable-breakages-v10.0.99.txt`:
    These are because we are no longer generating the `*Consts` types
    when for Default Interface Methods are enabled.

  * `tests/api-compatibility/acceptable-breakages-v10.0.txt`:
    These are because there was a bug where we were not generating
    `[Obsolete]` on fields that were turned into properties.  Now the
    attribute is generated in API-28 (the "contract"), but they are no
    longer marked as deprecated by Google in API-29
    (the "implementation"), so they appear as removing the attribute.

  * `tests/api-compatibility/acceptable-breakages-v8.0.txt`:
    As with v10.0, a "prop-ified" field was missing `[Obsolete]`, and
    Google later un-deprecated the field.
@github-actions github-actions bot locked and limited conversation to collaborators Jan 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants