From 2fde47a86f1f96027ddd4848806aa763396e9c24 Mon Sep 17 00:00:00 2001 From: albexk Date: Wed, 15 Nov 2023 22:10:44 +0300 Subject: [PATCH] Move qt binding java code to a separate module --- client/android/build.gradle.kts | 7 ++++--- client/android/qt/build.gradle.kts | 25 +++++++++++++++++++++++++ client/android/settings.gradle.kts | 2 ++ 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 client/android/qt/build.gradle.kts diff --git a/client/android/build.gradle.kts b/client/android/build.gradle.kts index 7ca91d852..5461a3a9d 100644 --- a/client/android/build.gradle.kts +++ b/client/android/build.gradle.kts @@ -11,7 +11,6 @@ kotlin { // get values from gradle or local properties val qtTargetSdkVersion: String by gradleProperties val qtTargetAbiList: String by gradleProperties -val qtAndroidDir: String by gradleProperties android { namespace = "org.amnezia.vpn" @@ -42,8 +41,9 @@ android { sourceSets { getByName("main") { manifest.srcFile("AndroidManifest.xml") - java.setSrcDirs(listOf("$qtAndroidDir/src", "src")) - res.setSrcDirs(listOf("$qtAndroidDir/res", "res")) + java.setSrcDirs(listOf("src")) + res.setSrcDirs(listOf("res")) + // androyddeployqt creates the folders below assets.setSrcDirs(listOf("assets")) jniLibs.setSrcDirs(listOf("libs")) } @@ -80,6 +80,7 @@ android { dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar")))) + implementation(project(":qt")) implementation(libs.androidx.core) implementation(libs.androidx.appcompat) implementation(libs.androidx.security.crypto) diff --git a/client/android/qt/build.gradle.kts b/client/android/qt/build.gradle.kts new file mode 100644 index 000000000..2ec2c941c --- /dev/null +++ b/client/android/qt/build.gradle.kts @@ -0,0 +1,25 @@ +plugins { + id(libs.plugins.android.library.get().pluginId) + id("property-delegate") +} + +java { + toolchain.languageVersion.set(JavaLanguageVersion.of(17)) +} + +val qtAndroidDir: String by gradleProperties + +android { + namespace = "org.qtproject.qt.android.binding" + + sourceSets { + getByName("main") { + java.setSrcDirs(listOf("$qtAndroidDir/src")) + res.setSrcDirs(listOf("$qtAndroidDir/res")) + } + } +} + +dependencies { + implementation(fileTree(mapOf("dir" to "../libs", "include" to listOf("*.jar", "*.aar")))) +} diff --git a/client/android/settings.gradle.kts b/client/android/settings.gradle.kts index 2d8e19f1c..ac37a9639 100644 --- a/client/android/settings.gradle.kts +++ b/client/android/settings.gradle.kts @@ -33,6 +33,8 @@ plugins { rootProject.name = "AmneziaVPN" rootProject.buildFileName = "build.gradle.kts" +include(":qt") + // get values from gradle or local properties val androidBuildToolsVersion: String by gradleProperties val androidCompileSdkVersion: String by gradleProperties