-
Notifications
You must be signed in to change notification settings - Fork 22
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
[#513] [KMM Support] Migrate to Gradle 8 #508
Conversation
Kover report for template-xml:🧛 Template - XML Unit Tests Code Coverage:
|
File | Coverage |
---|
Modified Files Not Found In Coverage Report:
AndroidManifest.xml
AndroidManifest.xml
AndroidManifest.xml
Plugins.kt
Versions.kt
backup_rules.xml
build.gradle.kts
build.gradle.kts
build.gradle.kts
build.gradle.kts
consumer-rules.pro
data_extraction_rules.xml
deploy_staging_and_production_to_firebase_app_distribution.yml
gradle-wrapper.jar
gradle-wrapper.properties
gradle.properties
gradlew.bat
ic_launcher.webp
ic_launcher.webp
ic_launcher.webp
ic_launcher.webp
ic_launcher.webp
ic_launcher.xml
ic_launcher_background.xml
ic_launcher_foreground.xml
ic_launcher_round.webp
ic_launcher_round.webp
ic_launcher_round.webp
ic_launcher_round.webp
ic_launcher_round.webp
ic_launcher_round.xml
new_project.kts
proguard-rules.pro
review_pull_request.yml
review_pull_request.yml
run_detekt_and_unit_tests.yml
run_detekt_and_unit_tests.yml
settings.gradle.kts
themes.xml
verify_newproject_script.yml
Codebase cunningly covered by count Shroud 🧛
Kover report for template-compose:
🧛 Template - Compose Unit Tests Code Coverage: 62.05%
Coverage of Modified Files:
File | Coverage |
---|
Modified Files Not Found In Coverage Report:
AndroidManifest.xml
AndroidManifest.xml
AndroidManifest.xml
Plugins.kt
Versions.kt
backup_rules.xml
build.gradle.kts
build.gradle.kts
build.gradle.kts
build.gradle.kts
consumer-rules.pro
data_extraction_rules.xml
deploy_staging_and_production_to_firebase_app_distribution.yml
gradle-wrapper.jar
gradle-wrapper.properties
gradle.properties
gradlew.bat
ic_launcher.webp
ic_launcher.webp
ic_launcher.webp
ic_launcher.webp
ic_launcher.webp
ic_launcher.xml
ic_launcher_background.xml
ic_launcher_foreground.xml
ic_launcher_round.webp
ic_launcher_round.webp
ic_launcher_round.webp
ic_launcher_round.webp
ic_launcher_round.webp
ic_launcher_round.xml
new_project.kts
proguard-rules.pro
review_pull_request.yml
review_pull_request.yml
run_detekt_and_unit_tests.yml
run_detekt_and_unit_tests.yml
settings.gradle.kts
themes.xml
verify_newproject_script.yml
Codebase cunningly covered by count Shroud 🧛
Generated by 🚫 Danger
template-compose/app/src/main/res/xml/data_extraction_rules.xml
Outdated
Show resolved
Hide resolved
@@ -2,4 +2,5 @@ | |||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> |
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.
The application adaptive icon is missing a monochrome tag |
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.
False-negative warning? 🤔
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.
@lydiasama monochrome
is a new feature of Adaptive Icon from API 33. It's default generated from the new project by AS as that is to prepare for the support 🤷♂️
template-compose/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
Show resolved
Hide resolved
5c675b7
to
d1a6dd2
Compare
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.
Can we remove the Cache gems step and set the bundler-cache: true
at Set up Ruby step like we did in KMM Templates?
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.
@lydiasama Yes, but it's out of this PR's scope. I recommend revising this workflow from this task instead #519.
buildTypes { | ||
getByName(BuildTypes.RELEASE) { | ||
release { |
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.
Why do we need to update this? 🤔
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.
@lydiasama release {
is a new supported block from Gradle 8's DSL. We should use any built-in features instead of manual configurations 🤓
android:icon="@mipmap/ic_launcher" | ||
android:label="@string/app_name" | ||
android:networkSecurityConfig="@xml/network_security_config" | ||
android:roundIcon="@mipmap/ic_launcher_round" | ||
android:supportsRtl="true" | ||
android:theme="@style/AppTheme"> | ||
android:theme="@style/AppTheme" | ||
tools:targetApi="31"> |
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.
May I know the purpose of this tools:targetApi="31"
? 🙏🏻
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.
@lydiasama To bypass this warning, it explains the dataExtractionRules
attr is used on API 31 only and will be ignored on lower APIs. The tools:targetApi="31"
is default generated for the new project by AS with Gradle 8.
3b98ce2
to
799ed77
Compare
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.
Good work 👏
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.
The rest lgtm
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.
lgtm now 🚀
Closes #513
What happened 👀
JDK 17
.template-compose
.Insight 📝
build.gradle
.pluginManagement
anddependencyResolutionManagement
blocks from the rootsettings.gradle
.android.enableJetifier=true
flag, as most dependencies are now written for AndroidX.BuildConfig
class anymore 👉 temporarily enables to optimize in a separate class.-dontwarn java.lang.invoke.StringConcatFactory
in the data module ✅OkHttp
to version4.11.0
to get the default added proguard rules from the dependency ✅Proof Of Work 📹
The app works properly after migrating: both
debug
andrelease
builds.References