Skip to content

Commit

Permalink
Use Azul JDK for toolchains (#3857)
Browse files Browse the repository at this point in the history
* Use Azul JDK for toolchains

* Add foojay-resolved-convention plugin

* Create convention plugin(s) for jvm toolchain
  • Loading branch information
dellisd committed Feb 26, 2023
1 parent 2e4da91 commit cc56d28
Show file tree
Hide file tree
Showing 35 changed files with 78 additions and 64 deletions.
3 changes: 1 addition & 2 deletions adapters/primitive-adapters/build.gradle
Expand Up @@ -4,10 +4,9 @@ plugins {
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.multiplatform")
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-primitive-adapters'

kotlin {
Expand Down
3 changes: 2 additions & 1 deletion buildLogic/settings.gradle
Expand Up @@ -18,4 +18,5 @@ dependencyResolutionManagement {
}
}

include(":multiplatform-convention")
include(":multiplatform-convention")
include(":toolchain-convention")
21 changes: 21 additions & 0 deletions buildLogic/toolchain-convention/build.gradle
@@ -0,0 +1,21 @@
plugins {
alias(libs.plugins.kotlin.jvm)
id("java-gradle-plugin")
}

gradlePlugin {
plugins {
runtime {
id = "app.cash.sqldelight.toolchain.runtime"
implementationClass = "app.cash.sqldelight.toolchain.RuntimeToolchainConventions"
}
compiler {
id = "app.cash.sqldelight.toolchain.compiler"
implementationClass = "app.cash.sqldelight.toolchain.CompilerToolchainConventions"
}
}
}

dependencies {
compileOnly libs.kotlin.plugin
}
@@ -0,0 +1,20 @@
package app.cash.sqldelight.toolchain

import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.jvm.toolchain.JavaLanguageVersion
import org.gradle.jvm.toolchain.JvmVendorSpec
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension

abstract class ToolchainConventions(private val jdkVersion: Int) : Plugin<Project> {
override fun apply(project: Project) {
project.kotlinExtension.jvmToolchain { spec ->
spec.languageVersion.set(JavaLanguageVersion.of(jdkVersion))
spec.vendor.set(JvmVendorSpec.AZUL)
}
}
}

class RuntimeToolchainConventions : ToolchainConventions(8)

class CompilerToolchainConventions : ToolchainConventions(11)
3 changes: 1 addition & 2 deletions dialects/hsql/build.gradle
Expand Up @@ -3,14 +3,13 @@ plugins {
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':sqldelight-compiler:dialect')

Expand Down
3 changes: 1 addition & 2 deletions dialects/mysql/build.gradle
Expand Up @@ -4,14 +4,13 @@ plugins {
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
ksp libs.moshiCodegen

Expand Down
3 changes: 1 addition & 2 deletions dialects/postgresql/build.gradle
Expand Up @@ -4,14 +4,13 @@ plugins {
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
ksp libs.moshiCodegen

Expand Down
3 changes: 1 addition & 2 deletions dialects/sqlite-3-18/build.gradle
Expand Up @@ -2,14 +2,13 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':sqldelight-compiler:dialect')

Expand Down
3 changes: 1 addition & 2 deletions dialects/sqlite-3-24/build.gradle
Expand Up @@ -2,14 +2,13 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':dialects:sqlite-3-18')

Expand Down
3 changes: 1 addition & 2 deletions dialects/sqlite-3-25/build.gradle
Expand Up @@ -2,14 +2,13 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':dialects:sqlite-3-24')

Expand Down
3 changes: 1 addition & 2 deletions dialects/sqlite-3-30/build.gradle
Expand Up @@ -2,14 +2,13 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':dialects:sqlite-3-25')

Expand Down
3 changes: 1 addition & 2 deletions dialects/sqlite-3-33/build.gradle
Expand Up @@ -2,14 +2,13 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':dialects:sqlite-3-30')

Expand Down
3 changes: 1 addition & 2 deletions dialects/sqlite-3-35/build.gradle
Expand Up @@ -2,14 +2,13 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':dialects:sqlite-3-33')

Expand Down
3 changes: 1 addition & 2 deletions dialects/sqlite-3-38/build.gradle
Expand Up @@ -2,14 +2,13 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':dialects:sqlite-3-35')

Expand Down
3 changes: 1 addition & 2 deletions dialects/sqlite/json-module/build.gradle
Expand Up @@ -3,14 +3,13 @@ plugins {
alias(libs.plugins.grammarKitComposer)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.compiler")
}

grammarKit {
intellijRelease.set(libs.versions.idea)
}

kotlin.jvmToolchain(11)

dependencies {
api project(':sqldelight-compiler:dialect')

Expand Down
3 changes: 1 addition & 2 deletions drivers/android-driver/build.gradle
Expand Up @@ -3,10 +3,9 @@ plugins {
alias(libs.plugins.kotlin.android)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-android-driver'

android {
Expand Down
3 changes: 1 addition & 2 deletions drivers/driver-test/build.gradle
@@ -1,5 +1,6 @@
plugins {
id("app.cash.sqldelight.multiplatform")
id("app.cash.sqldelight.toolchain.runtime")
}

// https://youtrack.jetbrains.com/issue/KTIJ-14471
Expand All @@ -8,8 +9,6 @@ sourceSets {
}

kotlin {
jvmToolchain(8)

mingwX86()

sourceSets {
Expand Down
5 changes: 1 addition & 4 deletions drivers/jdbc-driver/build.gradle
@@ -1,13 +1,10 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-jdbc-driver'

dependencies {
Expand Down
3 changes: 1 addition & 2 deletions drivers/r2dbc-driver/build.gradle
Expand Up @@ -4,10 +4,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-r2dbc-driver'

dependencies {
Expand Down
3 changes: 1 addition & 2 deletions drivers/sqlite-driver/build.gradle
Expand Up @@ -2,10 +2,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-sqlite-driver'

dependencies {
Expand Down
3 changes: 1 addition & 2 deletions extensions/androidx-paging3/build.gradle
Expand Up @@ -2,12 +2,11 @@ plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.runtime")
}

archivesBaseName = 'sqldelight-androidx-paging3'

kotlin.jvmToolchain(8)

kotlin {
ios()
jvm()
Expand Down
3 changes: 1 addition & 2 deletions extensions/async-extensions/build.gradle
Expand Up @@ -2,10 +2,9 @@ plugins {
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.multiplatform")
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-async-extensions'

kotlin {
Expand Down
3 changes: 1 addition & 2 deletions extensions/coroutines-extensions/build.gradle
Expand Up @@ -2,10 +2,9 @@ plugins {
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.multiplatform")
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-coroutines-extensions'

kotlin {
Expand Down
3 changes: 1 addition & 2 deletions extensions/rxjava2-extensions/build.gradle
Expand Up @@ -2,10 +2,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-rxjava2-extensions'

dependencies {
Expand Down
3 changes: 1 addition & 2 deletions extensions/rxjava3-extensions/build.gradle
Expand Up @@ -2,10 +2,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.toolchain.runtime")
}

kotlin.jvmToolchain(8)

archivesBaseName = 'sqldelight-rxjava3-extensions'

dependencies {
Expand Down
3 changes: 1 addition & 2 deletions runtime/build.gradle
Expand Up @@ -2,15 +2,14 @@ plugins {
alias(libs.plugins.publish)
alias(libs.plugins.dokka)
id("app.cash.sqldelight.multiplatform")
id("app.cash.sqldelight.toolchain.runtime")
}

// https://youtrack.jetbrains.com/issue/KTIJ-14471
sourceSets {
main
}

kotlin.jvmToolchain(8)

kotlin {
mingwX86()

Expand Down
5 changes: 4 additions & 1 deletion sample/android/build.gradle
Expand Up @@ -3,7 +3,10 @@ plugins {
alias(libs.plugins.kotlin.android)
}

kotlin.jvmToolchain(8)
kotlin.jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(8))
vendor.set(JvmVendorSpec.AZUL)
}

android {
compileSdk libs.versions.compileSdk.get() as int
Expand Down

0 comments on commit cc56d28

Please sign in to comment.