Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions buildSrc/src/main/java/PostHogKotlinConfig.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion

fun KotlinJvmOptions.postHogConfig(strict: Boolean = true) {
jvmTarget = PosthogBuildConfig.Build.JAVA_VERSION.toString()
languageVersion = PosthogBuildConfig.Kotlin.KOTLIN_COMPATIBILITY
allWarningsAsErrors = true
apiVersion = PosthogBuildConfig.Kotlin.KOTLIN_COMPATIBILITY
fun KotlinJvmCompilerOptions.postHogConfig(strict: Boolean = true) {
jvmTarget.set(JvmTarget.JVM_1_8)
val compatVersion = KotlinVersion.fromVersion(PosthogBuildConfig.Kotlin.KOTLIN_COMPATIBILITY)
languageVersion.set(compatVersion)
apiVersion.set(compatVersion)
allWarningsAsErrors.set(true)
if (strict) {
// remove when https://youtrack.jetbrains.com/issue/KT-37652 is fixed
freeCompilerArgs += "-Xexplicit-api=strict"
freeCompilerArgs.add("-Xexplicit-api=strict")
}
}
17 changes: 11 additions & 6 deletions posthog-android-gradle-plugin/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.net.URI
import java.util.Properties
Expand Down Expand Up @@ -84,12 +86,15 @@ val dokkaHtmlJar by tasks.register<Jar>("dokkaHtmlJar") {
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = JavaVersion.toVersion(versions["jdkVersion"] as String).toString()
languageVersion = versions["kotlinCompatibility"] as String
allWarningsAsErrors = true
apiVersion = versions["kotlinCompatibility"] as String
freeCompilerArgs += "-Xexplicit-api=strict"
compilerOptions {
jvmTarget.set(
JvmTarget.fromTarget(JavaVersion.toVersion(versions["jdkVersion"] as String).toString()),
)
val compatVersion = KotlinVersion.fromVersion(versions["kotlinCompatibility"] as String)
languageVersion.set(compatVersion)
allWarningsAsErrors.set(true)
apiVersion.set(compatVersion)
freeCompilerArgs.add("-Xexplicit-api=strict")
}
}

Expand Down
13 changes: 8 additions & 5 deletions posthog-android/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
@file:Suppress("ktlint:standard:max-line-length")

import org.jetbrains.kotlin.config.KotlinCompilerVersion
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile


version = properties["androidVersion"].toString()

Expand Down Expand Up @@ -52,8 +53,6 @@ android {
isReturnDefaultValues = true
isIncludeAndroidResources = true
}

kotlinOptions.postHogConfig(false)
}

lint {
Expand All @@ -73,20 +72,24 @@ android {
it.enable = !PosthogBuildConfig.shouldSkipDebugVariant(it.name)
}

kotlinOptions.postHogConfig()
buildFeatures {
buildConfig = true
}
}

kotlin {
jvmToolchain(PosthogBuildConfig.Build.JDK_VERSION)
compilerOptions.postHogConfig()
}

tasks.withType<KotlinCompile>().configureEach {
compilerOptions.postHogConfig(false)
}

dependencies {
// runtime
api(project(mapOf("path" to ":posthog")))
implementation(kotlin("stdlib-jdk8", KotlinCompilerVersion.VERSION))
implementation(kotlin("stdlib-jdk8", PosthogBuildConfig.Kotlin.KOTLIN))
implementation("androidx.lifecycle:lifecycle-process:${PosthogBuildConfig.Dependencies.LIFECYCLE}")
implementation("androidx.lifecycle:lifecycle-common-java8:${PosthogBuildConfig.Dependencies.LIFECYCLE}")
implementation("androidx.core:core:${PosthogBuildConfig.Dependencies.ANDROIDX_CORE}")
Expand Down
3 changes: 1 addition & 2 deletions posthog-samples/posthog-android-sample/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,6 @@ android {
targetCompatibility = PosthogBuildConfig.Build.JAVA_VERSION
}

kotlinOptions.postHogConfig(false)

buildFeatures {
compose = true
buildConfig = true
Expand Down Expand Up @@ -70,6 +68,7 @@ android {

kotlin {
jvmToolchain(PosthogBuildConfig.Build.JDK_VERSION)
compilerOptions.postHogConfig(false)
}

dependencies {
Expand Down
5 changes: 2 additions & 3 deletions posthog-server/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
@file:Suppress("ktlint:standard:max-line-length")

import org.jetbrains.kotlin.config.KotlinCompilerVersion
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

version = properties["serverVersion"].toString()
Expand Down Expand Up @@ -68,7 +67,7 @@ publishing {
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions.postHogConfig()
compilerOptions.postHogConfig()
}

kotlin {
Expand All @@ -89,7 +88,7 @@ dependencies {
// Depend on posthog-core module (not posthog-android)
api(project(":posthog"))

implementation(kotlin("stdlib-jdk8", KotlinCompilerVersion.VERSION))
implementation(kotlin("stdlib-jdk8", PosthogBuildConfig.Kotlin.KOTLIN))

implementation("com.google.code.gson:gson:${PosthogBuildConfig.Dependencies.GSON}")

Expand Down
5 changes: 2 additions & 3 deletions posthog/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
@file:Suppress("ktlint:standard:max-line-length")

import org.jetbrains.kotlin.config.KotlinCompilerVersion
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

version = properties["coreVersion"].toString()
Expand Down Expand Up @@ -68,7 +67,7 @@ publishing {
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions.postHogConfig()
compilerOptions.postHogConfig()
}

kotlin {
Expand All @@ -92,7 +91,7 @@ animalsniffer {
}

dependencies {
implementation(kotlin("stdlib-jdk8", KotlinCompilerVersion.VERSION))
implementation(kotlin("stdlib-jdk8", PosthogBuildConfig.Kotlin.KOTLIN))

implementation("com.google.code.gson:gson:${PosthogBuildConfig.Dependencies.GSON}")

Expand Down
Loading