From cc6e55984316ff6be938bc475da6e75e87d76caf Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Sun, 18 Sep 2022 13:56:02 +0200 Subject: [PATCH] more prep for included-build Gradle plugins --- buildSrc/build.gradle.kts | 6 ++--- .../builder-plugins/build.gradle.kts | 24 +++++++++++++++++ .../builder-plugins/settings.gradle.kts | 27 +++---------------- .../factorio-mod-manager/build.gradle.kts | 24 +++++++++++++++++ .../factorio-mod-manager/settings.gradle.kts | 25 +++-------------- .../settings-plugins/build.gradle.kts | 12 ++++++--- .../convention/settings/repositories.kt | 9 +++++++ .../settings/repositories.settings.gradle.kts | 13 ++------- 8 files changed, 77 insertions(+), 63 deletions(-) create mode 100644 gradle-plugins/builder-plugins/build.gradle.kts create mode 100644 gradle-plugins/factorio-mod-manager/build.gradle.kts diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index de1982b..4c2e332 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -101,10 +101,10 @@ kotlin { jvmToolchain { (this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(gradleJvmTarget)) } +} - kotlinDslPluginOptions { - jvmTarget.set(gradleJvmTarget) - } +kotlinDslPluginOptions { + jvmTarget.set(gradleJvmTarget) } idea { diff --git a/gradle-plugins/builder-plugins/build.gradle.kts b/gradle-plugins/builder-plugins/build.gradle.kts new file mode 100644 index 0000000..cf30adb --- /dev/null +++ b/gradle-plugins/builder-plugins/build.gradle.kts @@ -0,0 +1,24 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + `kotlin-dsl` + kotlin("jvm") version embeddedKotlinVersion +} + +val gradleJvmTarget = "11" + +kotlin { + jvmToolchain { + (this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(gradleJvmTarget)) + } +} + +kotlinDslPluginOptions { + jvmTarget.set(gradleJvmTarget) +} + +tasks.withType().configureEach { + kotlinOptions { + jvmTarget = gradleJvmTarget + } +} diff --git a/gradle-plugins/builder-plugins/settings.gradle.kts b/gradle-plugins/builder-plugins/settings.gradle.kts index ba1c7f1..c5b5c98 100644 --- a/gradle-plugins/builder-plugins/settings.gradle.kts +++ b/gradle-plugins/builder-plugins/settings.gradle.kts @@ -1,31 +1,10 @@ -@file:Suppress("UnstableApiUsage") - rootProject.name = "builder-plugins" - pluginManagement { + @Suppress("UnstableApiUsage") includeBuild("../settings-plugins/") } - -dependencyResolutionManagement { - repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) - - repositories { - mavenCentral() - gradlePluginPortal() - } - - pluginManagement { - repositories { - gradlePluginPortal() - mavenCentral() - } - } - - versionCatalogs { - create("libs") { - from(files("../../gradle/libs.versions.toml")) - } - } +plugins { + id("kafkatorio.convention.settings.repositories") } diff --git a/gradle-plugins/factorio-mod-manager/build.gradle.kts b/gradle-plugins/factorio-mod-manager/build.gradle.kts new file mode 100644 index 0000000..cf30adb --- /dev/null +++ b/gradle-plugins/factorio-mod-manager/build.gradle.kts @@ -0,0 +1,24 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + `kotlin-dsl` + kotlin("jvm") version embeddedKotlinVersion +} + +val gradleJvmTarget = "11" + +kotlin { + jvmToolchain { + (this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(gradleJvmTarget)) + } +} + +kotlinDslPluginOptions { + jvmTarget.set(gradleJvmTarget) +} + +tasks.withType().configureEach { + kotlinOptions { + jvmTarget = gradleJvmTarget + } +} diff --git a/gradle-plugins/factorio-mod-manager/settings.gradle.kts b/gradle-plugins/factorio-mod-manager/settings.gradle.kts index 7fafd65..d95228b 100644 --- a/gradle-plugins/factorio-mod-manager/settings.gradle.kts +++ b/gradle-plugins/factorio-mod-manager/settings.gradle.kts @@ -2,30 +2,11 @@ rootProject.name = "factorio-mod-manager" - pluginManagement { + @Suppress("UnstableApiUsage") includeBuild("../settings-plugins/") } - -dependencyResolutionManagement { - repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) - - repositories { - mavenCentral() - gradlePluginPortal() - } - - pluginManagement { - repositories { - gradlePluginPortal() - mavenCentral() - } - } - - versionCatalogs { - create("libs") { - from(files("../../gradle/libs.versions.toml")) - } - } +plugins { + id("kafkatorio.convention.settings.repositories") } diff --git a/gradle-plugins/settings-plugins/build.gradle.kts b/gradle-plugins/settings-plugins/build.gradle.kts index 67a25ac..9e00fd7 100644 --- a/gradle-plugins/settings-plugins/build.gradle.kts +++ b/gradle-plugins/settings-plugins/build.gradle.kts @@ -7,14 +7,20 @@ plugins { val gradleJvmTarget = "11" +dependencies { + // This project should only be providing simple plugins for configuring Gradle without + // dependencies. Try to avoid setting dependencies here, else the Gradle script classpath might + // get polluted and messy. +} + kotlin { jvmToolchain { (this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(gradleJvmTarget)) } +} - kotlinDslPluginOptions { - jvmTarget.set(gradleJvmTarget) - } +kotlinDslPluginOptions { + jvmTarget.set(gradleJvmTarget) } tasks.withType().configureEach { diff --git a/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/convention/settings/repositories.kt b/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/convention/settings/repositories.kt index 49df5f0..5f63f3f 100644 --- a/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/convention/settings/repositories.kt +++ b/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/convention/settings/repositories.kt @@ -75,3 +75,12 @@ fun RepositoryHandler.gitHub() { } } } + + +fun RepositoryHandler.kotlinxHtml() { + maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") { + mavenContent { + includeGroup("org.jetbrains.kotlinx") + } + } +} diff --git a/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/convention/settings/repositories.settings.gradle.kts b/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/convention/settings/repositories.settings.gradle.kts index 985683f..6bca2b5 100644 --- a/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/convention/settings/repositories.settings.gradle.kts +++ b/gradle-plugins/settings-plugins/src/main/kotlin/kafkatorio/convention/settings/repositories.settings.gradle.kts @@ -2,14 +2,7 @@ package kafkatorio.convention.settings @Suppress("UnstableApiUsage") // Central declaration of repositories is an incubating feature dependencyResolutionManagement { - - // https://github.com/gradle/gradle/issues/15754#issuecomment-763614651 - // https://github.com/gradle/gradle/blob/09fcaacc9848f09aa584b4119be9271bee6916e6/build-logic/build-logic-base/settings-plugin/src/main/kotlin/gradlebuild.repositories.settings.gradle.kts#L68 - - // Cannot use 'FAIL_ON_PROJECT_REPOS' because - // - the 'gradle-guides-plugin' adds a repo (which it should not do) - // - the 'kotlin-gradle-plugin' adds a repo (and removes it afterwards) to download NodeJS -// repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) + repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { myMavenLocal() @@ -25,9 +18,7 @@ dependencyResolutionManagement { content { includeGroup("dev.adamko.kotka") } } - maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") { - content { includeGroup("org.jetbrains.kotlinx") } - } + kotlinxHtml() sonatypeSnapshot() }