Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(android): update gradle and cmake #12914

Merged
merged 23 commits into from
Aug 6, 2021

Conversation

garymathews
Copy link
Contributor

@garymathews garymathews commented Jun 22, 2021

Prerequisite:
PR #12959 must be merged first. It enables Jenkins to build with JDK 11.


Summary:

  • Update gradle plugin to 7.0.0
  • Update gradle to 7.1
    • For compatibility with JDK 16
    • Included duplication strategy to kroll-apt to handle duplication error
  • Update cmake to 3.18.1

TIMOB-28494
TIMOB-28495

@build
Copy link
Contributor

build commented Jun 22, 2021

Fails
🚫 Tests have failed, see below for more information.
Messages
📖 ✊ The commits in this PR match our conventions! Feel free to Rebase and Merge this PR when ready.
📖 ❌ 3 tests have failed There are 3 tests failing and 973 skipped out of 16653 total tests.
📖

💾 Here's the generated SDK zipfile.

Tests:

ClassnameNameTimeError
android.emulator.Titanium.Network.HTTPClientresponseXML (5.0.2)0.122
Error: expected true to be false
at Assertion.fail (/node_modules/should/cjs/should.js:275:13)
      at Assertion.value (/node_modules/should/cjs/should.js:356:9)
      at HTTPClient.xhr.onload (/ti.network.httpclient.test.js:28:40)
ios.ipad.Titanium.Analytics.properties.optedOut defaults to false (14.4.0)0.001
Error: expected true to be false
value@file:///Users/build/Library/Developer/CoreSimulator/Devices/8004FEFB-9C69-45DD-8F64-47B0C61BCF24/data/Containers/Bundle/Application/E8690CB3-DB33-4527-8CC6-5E8A43CB0E56/mocha.app/node_modules/should/cjs/should.js:356:23
file:///Users/build/Library/Developer/CoreSimulator/Devices/8004FEFB-9C69-45DD-8F64-47B0C61BCF24/data/Containers/Bundle/Application/E8690CB3-DB33-4527-8CC6-5E8A43CB0E56/mocha.app/ti.analytics.test.js:46:47
run@file:///Users/build/Library/Developer/CoreSimulator/Devices/8004FEFB-9C69-45DD-8F64-47B0C61BCF24/data/Containers/Bundle/Application/E8690CB3-DB33-4527-8CC6-5E8A43CB0E56/mocha.app/ti.main.js:9258:22
processImmediateQueue@file:///Users/build/Library/Developer/CoreSimulator/Devices/8004FEFB-9C69-45DD-8F64-47B0C61BCF24/data/Containers/Bundle/Application/E8690CB3-DB33-4527-8CC6-5E8A43CB0E56/mocha.app/ti.main.js:9321:18
drainQueues@file:///Users/build/Library/Developer/CoreSimulator/Devices/8004FEFB-9C69-45DD-8F64-47B0C61BCF24/data/Containers/Bundle/Application/E8690CB3-DB33-4527-8CC6-5E8A43CB0E56/mocha.app/ti.main.js:9298:52
ios.ipad.Titanium.Analytics.properties.optedOut can be assigned a Boolean value (14.4.0)24.656
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (app.js)
run@file:///Users/build/Library/Developer/CoreSimulator/Devices/8004FEFB-9C69-45DD-8F64-47B0C61BCF24/data/Containers/Bundle/Application/E8690CB3-DB33-4527-8CC6-5E8A43CB0E56/mocha.app/ti.main.js:9258:22
processImmediateQueue@file:///Users/build/Library/Developer/CoreSimulator/Devices/8004FEFB-9C69-45DD-8F64-47B0C61BCF24/data/Containers/Bundle/Application/E8690CB3-DB33-4527-8CC6-5E8A43CB0E56/mocha.app/ti.main.js:9321:18
drainQueues@file:///Users/build/Library/Developer/CoreSimulator/Devices/8004FEFB-9C69-45DD-8F64-47B0C61BCF24/data/Containers/Bundle/Application/E8690CB3-DB33-4527-8CC6-5E8A43CB0E56/mocha.app/ti.main.js:9298:52

Generated by 🚫 dangerJS against 9f5fbbf

@jquick-axway
Copy link
Contributor

Upgrading to gradle 7 does not appear to be enough to support JDK 16. I get the following gradle error when I attempt to build an app with this PR and JDK 16 (but it builds fine with JDK 15). I ran into this same error when attempting to build a simple non-Titanium app created via Android Studio.

Execution failed for task ':app:processDebugMainManifest'.
> Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @39b7cf4c

I think we have to wait for Google to release Android Google Plugin version 7 for JDK 16 support. When I updated my non-Titanium app project in Android Studio to use AGP "7.0.0-beta04", it built fine with JDK 16.

Copy link
Contributor

@jquick-axway jquick-axway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR: Pass

@jquick-axway
Copy link
Contributor

jquick-axway commented Jul 29, 2021

@garymathews, can you update the min "java" property in our "package.json" too please?
https://github.com/appcelerator/titanium_mobile/blob/master/android/package.json#L34

@lokeshchdhry
Copy link
Contributor

FR Passed.
An app builds fine with this fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants