mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
88 lines
No EOL
2 KiB
Groovy
88 lines
No EOL
2 KiB
Groovy
apply plugin: 'com.android.library'
|
|
apply plugin: 'kotlin-multiplatform'
|
|
apply plugin: 'kotlin-kapt'
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
|
|
defaultConfig {
|
|
|
|
minSdkVersion 21
|
|
targetSdkVersion 30
|
|
versionCode 1
|
|
versionName "1.0"
|
|
}
|
|
buildTypes {
|
|
release {
|
|
}
|
|
}
|
|
sourceSets{
|
|
main.java.srcDirs += 'src/androidMain/kotlin'
|
|
}
|
|
compileOptions {
|
|
targetCompatibility = '1.8'
|
|
}
|
|
}
|
|
|
|
kotlin {
|
|
targets {
|
|
final def iOSTarget = System.getenv('SDK_NAME')?.startsWith("iphoneos") \
|
|
? presets.iosArm64 : presets.iosX64
|
|
|
|
fromPreset(iOSTarget, 'ios') {
|
|
binaries {
|
|
framework('shared')
|
|
}
|
|
}
|
|
|
|
android()
|
|
}
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
api 'org.jetbrains.kotlin:kotlin-stdlib-common'
|
|
}
|
|
|
|
commonMain.kotlin.srcDirs += 'src/commonMain/kotlin'
|
|
|
|
androidMain.dependencies {
|
|
api 'org.jetbrains.kotlin:kotlin-stdlib'
|
|
}
|
|
|
|
iosMain.dependencies {
|
|
}
|
|
|
|
iosMain.kotlin.srcDirs += 'src/iosMain/kotlin'
|
|
}
|
|
}
|
|
|
|
// workaround for https://youtrack.jetbrains.com/issue/KT-27170
|
|
configurations {
|
|
compileClasspath
|
|
}
|
|
|
|
task packForXCode(type: Sync) {
|
|
final File frameworkDir = new File(buildDir, "xcode-frameworks")
|
|
final String mode = project.findProperty("XCODE_CONFIGURATION")?.toUpperCase() ?: 'DEBUG'
|
|
final def framework = kotlin.targets.ios.binaries.getFramework("shared", mode)
|
|
|
|
inputs.property "mode", mode
|
|
dependsOn framework.linkTask
|
|
|
|
from { framework.outputFile.parentFile }
|
|
into frameworkDir
|
|
|
|
doLast {
|
|
new File(frameworkDir, 'gradlew').with {
|
|
text = "#!/bin/bash\nexport 'JAVA_HOME=${System.getProperty("java.home")}'\ncd '${rootProject.rootDir}'\n./gradlew \$@\n"
|
|
setExecutable(true)
|
|
}
|
|
}
|
|
}
|
|
tasks.build.dependsOn packForXCode
|
|
|
|
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
}
|
|
} |