From f060d2298da1841d584edef64d799921540c2d98 Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Sat, 22 Aug 2020 00:43:22 +0200 Subject: [PATCH] Added android plugin, need to sort out shared jvm code next --- buildSrc/build.gradle.kts | 2 ++ buildSrc/src/main/kotlin/Deps.kt | 2 ++ gradle.properties | 2 ++ .../build.gradle.kts | 25 ++++++++++++++++++- .../src/main/AndroidManifest.xml | 2 ++ 5 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 multiplatform-crypto-libsodium-bindings/src/main/AndroidManifest.xml diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 6b9af03..2658b0f 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -25,10 +25,12 @@ repositories { maven ("https://dl.bintray.com/kotlin/kotlin-eap") maven("https://dl.bintray.com/kotlin/kotlin-dev") jcenter() + google() } dependencies { implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0-rc") + implementation("com.android.tools.build:gradle:4.0.1") } System.setProperty("PROJECT_PATH", project.projectDir.parentFile.toString()) diff --git a/buildSrc/src/main/kotlin/Deps.kt b/buildSrc/src/main/kotlin/Deps.kt index 8c65ccd..c98ede8 100644 --- a/buildSrc/src/main/kotlin/Deps.kt +++ b/buildSrc/src/main/kotlin/Deps.kt @@ -107,5 +107,7 @@ object PluginsDeps { val signing = "signing" val dokka = "org.jetbrains.dokka" val taskTree = "com.dorongold.task-tree" + val androidLibrary = "com.android.library" + val kotlinAndroidExtensions = "kotlin-android-extensions" } diff --git a/gradle.properties b/gradle.properties index 9296ffa..51da301 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,3 +23,5 @@ kotlin.js.compiler=ir kotlin.native.disableCompilerDaemon=true org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m + +android.useAndroidX=true diff --git a/multiplatform-crypto-libsodium-bindings/build.gradle.kts b/multiplatform-crypto-libsodium-bindings/build.gradle.kts index 6cbea96..4d29078 100644 --- a/multiplatform-crypto-libsodium-bindings/build.gradle.kts +++ b/multiplatform-crypto-libsodium-bindings/build.gradle.kts @@ -28,6 +28,9 @@ plugins { id(PluginsDeps.node) version Versions.nodePlugin id(PluginsDeps.dokka) id(PluginsDeps.taskTree) version Versions.taskTreePlugin + id(PluginsDeps.androidLibrary) + id(PluginsDeps.kotlinAndroidExtensions) + } val sonatypeStaging = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" @@ -51,13 +54,27 @@ version = ReleaseInfo.version val ideaActive = isInIdea() println("Idea active: $ideaActive") - +android { + compileSdkVersion(29) + defaultConfig { + minSdkVersion(24) + targetSdkVersion(29) + versionCode = 1 + versionName = "1.0" + } + buildTypes { + getByName("release") { + isMinifyEnabled = false + } + } +} kotlin { val hostOsName = getHostOsName() runningOnLinuxx86_64 { println("Configuring Linux X86-64 targets") jvm() + android() js { browser { testTask { @@ -428,6 +445,12 @@ kotlin { implementation(kotlin(Deps.Jvm.reflection)) } } + val androidMain by getting { + dependencies { + implementation("androidx.core:core-ktx:1.2.0") + } + } + val jsMain by getting { dependencies { implementation(kotlin(Deps.Js.stdLib)) diff --git a/multiplatform-crypto-libsodium-bindings/src/main/AndroidManifest.xml b/multiplatform-crypto-libsodium-bindings/src/main/AndroidManifest.xml new file mode 100644 index 0000000..0b4b599 --- /dev/null +++ b/multiplatform-crypto-libsodium-bindings/src/main/AndroidManifest.xml @@ -0,0 +1,2 @@ + +