StoDevX / AAO-React-Native

The St. Olaf community, now in pocket size.
GNU Affero General Public License v3.0
42 stars 16 forks source link

Fix Android builds #6798

Closed hawkrives closed 1 year ago

hawkrives commented 1 year ago

Device(s) with issues

Exceptions

drewvolz commented 1 year ago

Our first step could be trying to cherry-pick https://github.com/StoDevX/AAO-React-Native/pull/6719/commits/e7f48ab45ff11878d13edc6eaaf902975b6e1fdb out of the rn-71 feature branch. It removes the manual linkage of date picker.

drewvolz commented 1 year ago

Next step should be locking down our android dependencies. We can add gradle dependency locking to the android side to prevent headaches of upstream updates (in particular, androidx) from bumping beta versions and causing build breakages across builds.

drewvolz commented 1 year ago

Option 1: Locking down android dependencies with a gradle lockfile

If that does not pan out as a good enough approach for us, we have other tools to fall back upon.

Option 2: We could try something like this (make sure the versions are correct, I pulled this as an example)

dependencies {
     constraints {
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
            because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
        }
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
            because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
        }
    }
}

Option 3: There's also an opportunity to try out BOM (software bill of materials)

implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
hawkrives commented 1 year ago

from https://github.com/StoDevX/AAO-React-Native/actions/runs/4026063585/jobs/6920228703

Task :react-native-gradle-plugin:compileKotlin

compileJava task (current target is 1.8) and compileKotlin task (current target is 11) jvm target compatibility should be set to the same Java version.

hawkrives commented 1 year ago

from https://github.com/StoDevX/AAO-React-Native/actions/runs/4026063585/jobs/6920228703

Configure project :@react-native-community_datetimepicker

Unable to detect AGP versions for included builds. All projects in the build should use the same AGP version. Class name for the included build object: org.gradle.composite.internal.DefaultIncludedBuild$IncludedBuildImpl_Decorated.