Skip to content

Conversation

@atsushieno
Copy link
Contributor

git diff on remaining-int-*.txt shows what remains (and many of them are
covered by comments on enumification-helpers).

(There should be up-to-date documentation on how to work on enumification
so that anyone can take over the work even after I left the project.)

@atsushieno atsushieno requested a review from jonpryor as a code owner June 14, 2018 15:46
@jonpryor
Copy link
Contributor

How do we want to do this?

  1. One PR which enumifies the API, declares it stable (src/Mono.Android/Mono.Android.projitems), adds it to the inter-API-level compatibility checks (build-tools/scripts/BuildEverything.mk), and a (probable) xamarin-android-api-compatibility bump, or

  2. Separate PRs for most (all?) of those steps?

As-is, it looks like this is the beginning/"administrivia" of enumification, as there are no changes to src/Mono.Android. In terms of commit history and explanation (a plausible stand-in for "documentation", in some circumstances), is this PR a useful commit artifact, or does it require additional work?

@atsushieno
Copy link
Contributor Author

oops, the stabilization part is unintended.

@atsushieno
Copy link
Contributor Author

Wait, I didn't commit my local Configuration.props change.

@atsushieno
Copy link
Contributor Author

The previous PR (gone now) had important files - map.csv and methodmap.csv (!) Now they are included too.

The changes can be applied either with or without changes in BuildEverything.mk and Mono.Android.projitems. It is up to our branching/cherry-picking plan to deal with the new API. So far they are not included in this PR.

xamarin-android-api-compatibility PR is created and I hope it is easy to review this time.

@jonpryor
Copy link
Contributor

xamarin/xamarin-android-api-compatibility#18 has been merged.

Please update this PR to include a xamarin-android-api-compatibility bump.

@atsushieno atsushieno force-pushed the api-p-enumification branch from e9df0df to 18e955b Compare June 18, 2018 07:28
@atsushieno
Copy link
Contributor Author

build

@jonpryor
Copy link
Contributor

Please rebase atop 796b828 so that we can (hopefully) get more complete build logs.

@atsushieno atsushieno force-pushed the api-p-enumification branch from 18e955b to 06b0c78 Compare June 19, 2018 23:04
@jonpryor
Copy link
Contributor

Thank you for rebasing. In this case, we likely didn't need the build logs; the build is failing because we have API breakage.

Lots of API breakage.

I believe that this PR needs to update $(STABLE_API_LEVELS) to contain API-28, otherwise it'll be comparing $(lastword $(STABLE_API_LEVELS)) (i.e. 27) against xamarin-android-api-compatibility, which explains why there is so much breakage.

@atsushieno atsushieno force-pushed the api-p-enumification branch from 06b0c78 to cd71dae Compare June 21, 2018 01:19
@atsushieno
Copy link
Contributor Author

I guess we are still not sure if we want to mark it stable, but the PR is updated.

@jonpryor
Copy link
Contributor

Something seems rather bizarre with the unit test failures, e.g. Xamarin_Android_Build_Tests_BuildTest_BuildApplicationWithSpacesInPath_True_True_True____Debug:

  /usr/bin/java -jar /Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Debug/lib/xamarin.android/xbuild/Xamarin/Android/proguard/lib/proguard.jar -include '/Users/builder/android-toolchain/sdk//tools/proguard/proguard-android.txt' -include 'obj/Release/proguard/proguard_xamarin.cfg' -include 'obj/Release/proguard/proguard_project_references.cfg' -include 'obj/Release/proguard/proguard_project_primary.cfg' -injars "'obj/Release/android/bin/classes/../classes.zip'(!META-INF/MANIFEST.MF):'/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Debug/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v8.1/mono.android.jar'(!META-INF/MANIFEST.MF):'Hello (World).jar'(!META-INF/MANIFEST.MF):'/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Debug/lib/xamarin.android/xbuild/Xamarin/Android/android-support-multidex.jar'(!META-INF/MANIFEST.MF)" -libraryjars '/Users/builder/android-toolchain/sdk/platforms/android-27/android.jar' -outjars obj/Release/proguard/__proguard_output__.jar -optimizations !code/allocation/variable  (TaskId:186)
  ...
  Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService' (TaskId:186)
  ...
PROGUARD : warning : mono.android.app.admin.DevicePolicyManager_OnClearApplicationUserDataListenerImplementor: can't find superclass or interface android.app.admin.DevicePolicyManager$OnClearApplicationUserDataListener [/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/TestDebug/temp/BuildReleaseAppWithA InIt(TrueTrueTrue)/UnnamedProject.csproj]
...
  Note: there were 11 references to unknown classes. (TaskId:186)
PROGUARD : warning : there were 38 unresolved references to classes or interfaces. [/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/TestDebug/temp/BuildReleaseAppWithA InIt(TrueTrueTrue)/UnnamedProject.csproj]
           You may need to add missing library jars or update their versions. (TaskId:186)
           If your code works fine without the missing classes, you can suppress (TaskId:186)
           the warnings with '-dontwarn' options. (TaskId:186)
           (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) (TaskId:186)
  java.io.IOException: Please correct the above warnings first. (TaskId:186)
  	at proguard.Initializer.execute(Unknown Source) (TaskId:186)
  	at proguard.ProGuard.initialize(Unknown Source) (TaskId:186)
  	at proguard.ProGuard.execute(Unknown Source) (TaskId:186)
  	at proguard.ProGuard.main(Unknown Source) (TaskId:186)
        You should check your configuration for typos. (TaskId:186)
        (http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass) (TaskId:186)
/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Debug/lib/xamarin.android/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2464,3): error MSB6006: "java" exited with code 1. [/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/TestDebug/temp/BuildReleaseAppWithA InIt(TrueTrueTrue)/UnnamedProject.csproj]

@jonpryor
Copy link
Contributor

Reviewing the java -jar invocation in my previous comment, this part sticks out to me:

java -jar ... …/bin/Debug/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v8.1/mono.android.jar

Why is it using v8.1 instead of v9.0?

Looking earlier in the failing build log, we see:

  ResolveSdksTask: (TaskId:7)
    ...
    TargetFrameworkVersion: v6.0 (TaskId:7)
    UseLatestAndroidPlatformSdk: True (TaskId:7)
  Trying build-tools path: /Users/builder/android-toolchain/sdk/build-tools/28.0.0-rc1 (TaskId:7)
  ResolveSdksTask Outputs: (TaskId:7)
    AndroidApiLevel: 27 (TaskId:7)
    AndroidApiLevelName: 27 (TaskId:7)

UseLatestAndroidPlatformSdk=True, yet the output API level is 27, not 28.

My suspicion is that we need to update $(AndroidLatestStableFrameworkVersion).

@jonpryor jonpryor added the full-mono-integration-build For PRs; run a full build (~6-10h for mono bumps), not the faster PR subset (~2h for mono bumps) label Jun 26, 2018
@jonpryor
Copy link
Contributor

build

@atsushieno atsushieno force-pushed the api-p-enumification branch 2 times, most recently from ebdb493 to e543745 Compare June 26, 2018 05:59
@jonpryor
Copy link
Contributor

build

git diff on remaining-int-*.txt shows what remains (and many of them are
covered by comments on enumification-helpers).

(There should be up-to-date documentation on how to work on enumification
so that anyone can take over the work even after I left the project.)

The API is now marked as stable.
@atsushieno atsushieno force-pushed the api-p-enumification branch from e543745 to d46d039 Compare June 27, 2018 02:54
@atsushieno
Copy link
Contributor Author

Finally Jenkins did the job.

@jonpryor jonpryor merged commit f9a7cfc into dotnet:master Jun 28, 2018
jonpryor pushed a commit that referenced this pull request Jun 28, 2018
@github-actions github-actions bot locked and limited conversation to collaborators Feb 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

full-mono-integration-build For PRs; run a full build (~6-10h for mono bumps), not the faster PR subset (~2h for mono bumps)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants