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): gradle 8 #14014
base: master
Are you sure you want to change the base?
chore(android): gradle 8 #14014
Conversation
chore(android): fixed deprecations in kroll-apt project chore(android): made kroll-apt incremental to enhance build time
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are the changes to the JAVA files necessary for the update? The more stuff that is changed, the more we have to test 😉
Also I wouldn't update the min and targetSDK with this PR. If we still can use 21 we should do that too. Same with target 34. I have a PR for that here #13940 as the broadcast receiver has to be adjusted.
So if that is not needed for the gradle PR please keep it as it is and do it in a separate PR (less changes, less testing).
I couldn't build a SDK locally. It's almost working but the last step titaniumPublication(MavenPublication)
tries to publish it online instead of making a local repo? I've canceled it as it was uploading stuff 😄 Didn't want to publish something I don't need.
There aren't all cmake version available during build process. I have a different PR about that #13966 and I had to use 3.22.1
as that is available on all platforms.
fix(android): gradle 8 compatibility update to template build.gradle fix(android): revert dependency updates fix(android): revert minSdk and targetSdk
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All reviews applied.
fix(android): update _build.js & _buildModule.js for new gradle
I have to do some testing but the first round was very good and I was able to build kitchensink an my app now 👍 Review will follow once I have more time to test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is AWESOME! I don't wanna lose momentum on this PR.
I found a few indention nitpicks. I haven't tested the PR yet, but I spent some time researching some of the changes such as no longer need to call .setPackageName()
. Good stuff!
What sort of testing do we need to do to get this over the finish line? I can test on Windows doing emulator builds as well as build-only device/dist builds. I don't have any working Android devices. Sigh.
|
||
repositories { | ||
google() | ||
mavenCentral() | ||
} | ||
dependencies { | ||
classpath 'com.android.tools.build:gradle:7.0.4' | ||
classpath 'com.google.gms:google-services:4.3.15' | ||
classpath 'com.android.tools.build:gradle:8.3.1' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the newest Gradle version we can upgrade to? I see 8.3 is over 8 months and 8.7 dropped about a month ago.
'src/main/assets', | ||
"${projectDir}/../titanium/build/outputs/ti-assets" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these indentations intentional?
'src/main/assets', | |
"${projectDir}/../titanium/build/outputs/ti-assets" | |
'src/main/assets', | |
"${projectDir}/../titanium/build/outputs/ti-assets" |
tiAndroidXCoreLibVersion = '1.9.0' | ||
tiAndroidXFragmentLibVersion = '1.5.7' | ||
tiMaterialLibVersion = '1.6.1' | ||
tiPlayServicesBaseLibVersion = '18.2.0' | ||
tiManifestPlaceholders = [ | ||
tiActivityConfigChanges: 'density|fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode' | ||
tiActivityConfigChanges: 'density|fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intentional indention?
tiActivityConfigChanges: 'density|fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode' | |
tiActivityConfigChanges: 'density|fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode' |
'kroll.outputJsonFilePath': "${projectDir}/../../dist/android/titanium.bindings.json".toString(), | ||
'kroll.outputCppDirPath' : "${projectDir}/../runtime/v8/generated".toString(), | ||
'kroll.jsModuleName' : 'titanium' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intentional indention?
'kroll.outputJsonFilePath': "${projectDir}/../../dist/android/titanium.bindings.json".toString(), | |
'kroll.outputCppDirPath' : "${projectDir}/../runtime/v8/generated".toString(), | |
'kroll.jsModuleName' : 'titanium' | |
'kroll.outputJsonFilePath': "${projectDir}/../../dist/android/titanium.bindings.json".toString(), | |
'kroll.outputCppDirPath' : "${projectDir}/../runtime/v8/generated".toString(), | |
'kroll.jsModuleName' : 'titanium' |
'assets', | ||
"${projectDir}/../modules/ui/assets" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intentional indention?
'assets', | |
"${projectDir}/../modules/ui/assets" | |
'assets', | |
"${projectDir}/../modules/ui/assets" |
'res', | ||
"${projectDir}/../modules/ui/res" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intentional indention?
'res', | |
"${projectDir}/../modules/ui/res" | |
'res', | |
"${projectDir}/../modules/ui/res" |
"set(LIBV8_VERSION \"${packageJson.v8.version}\")", | ||
"set(LIBV8_MODE \"${packageJson.v8.mode}\")" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intentional indention?
"set(LIBV8_VERSION \"${packageJson.v8.version}\")", | |
"set(LIBV8_MODE \"${packageJson.v8.mode}\")" | |
"set(LIBV8_VERSION \"${packageJson.v8.version}\")", | |
"set(LIBV8_MODE \"${packageJson.v8.mode}\")" |
compression: project.properties.compression, | ||
overwrite: project.properties.overwrite, | ||
src: project.properties.src, | ||
dest: project.properties.dest) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intentional indention?
compression: project.properties.compression, | |
overwrite: project.properties.overwrite, | |
src: project.properties.src, | |
dest: project.properties.dest) | |
compression: project.properties.compression, | |
overwrite: project.properties.overwrite, | |
src: project.properties.src, | |
dest: project.properties.dest) |
👍 @cb1kenobi I would love to split this up into smaller steps as this is a big PR: |
chore(android): let there be gradle 8
chore(android): fixed deprecations in kroll-apt project
chore(android): made kroll-apt incremental to enhance build time
GitHub issue: #13579
This PR is dedicated to my mentor Nafe Abboushi.