Skip to content

Commit

Permalink
Add support for Android Gradle plugin 8.7 (#1245)
Browse files Browse the repository at this point in the history
  • Loading branch information
mhsmith committed Sep 28, 2024
1 parent a6567bb commit b611cc1
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/actions/create-local-properties/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ runs:
steps:
- shell: bash
run: |
for version in 8 11 17; do
for version in 8 11 17 21; do
java_home_var=JAVA_HOME_${version}_X64
echo chaquopy.java.home.$version=${!java_home_var} | sed 's|\\|\\\\|g'
done > product/local.properties
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
// Plugin versions are configured in settings.gradle.kts, because dynamic versions
// are not possible here. See
// https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_version_management
//
// Listing the plugins in settings.gradle.kts is enough to enable the `plugins`
// syntax in subprojects, but the `apply` syntax requires them to be listed here as
// well.
id("com.android.application") apply false
id("com.android.library") apply false
id("com.android.dynamic-feature") apply false
id("org.jetbrains.kotlin.android") apply false
id("com.chaquo.python") apply false
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# The test script uses this to set JAVA_HOME.
chaquopy.java.version=21

agpVersion=8.7.0-rc01
kotlinVersion=2.0.0

# These variables will be filled in by the test script.
chaquopyRepository=
chaquopyVersion=

# Gradle Daemon will terminate itself after specified number of idle milliseconds.
# Default is 10800000 (3 hours), but that can overload the machine when running
# integration tests on many versions. Reduce to 30 minutes.
org.gradle.daemon.idletimeout=1800000

# Default settings generated by the new project wizard:

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. For more details, visit
# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
pluginManagement {
// These are defined in gradle.properties.
val chaquopyRepository: String by settings
val chaquopyVersion: String by settings
val agpVersion: String by settings
val kotlinVersion: String by settings

repositories {
maven { url = uri(chaquopyRepository) }
google {
content {
includeGroupByRegex("com\\.android.*")
includeGroupByRegex("com\\.google.*")
includeGroupByRegex("androidx.*")
}
}
mavenCentral()
gradlePluginPortal()
}

plugins {
id("com.android.application") version agpVersion
id("com.android.library") version agpVersion
id("com.android.dynamic-feature") version agpVersion
id("org.jetbrains.kotlin.android") version kotlinVersion
id("com.chaquo.python") version chaquopyVersion
}
}

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}

rootProject.name = "My Application"

for (f in rootDir.listFiles()!!) {
for (ext in listOf("gradle", "gradle.kts")) {
if (File(f, "build.$ext").exists()) {
include(f.name)
break
}
}
}

0 comments on commit b611cc1

Please sign in to comment.