From 344edb6b7d0e88ab6611606a12dd45b54a4d84e4 Mon Sep 17 00:00:00 2001 From: kitakkun <48154936+kitakkun@users.noreply.github.com> Date: Sun, 8 Dec 2024 15:33:44 +0900 Subject: [PATCH 1/4] rename build-logic to gradle-conventions --- .../convention/build.gradle.kts | 0 .../backintime/convention/BackInTimePublicationPlugin.kt | 4 ++-- .../kitakkun/backintime/convention/LintConventionPlugin.kt | 0 .../convention/extension/BackInTimePublicationExtension.kt | 0 .../com/kitakkun/backintime/convention/extension/Project.kt | 0 {build-logic => gradle-conventions}/settings.gradle.kts | 2 +- settings.gradle.kts | 2 +- 7 files changed, 4 insertions(+), 4 deletions(-) rename {build-logic => gradle-conventions}/convention/build.gradle.kts (100%) rename {build-logic => gradle-conventions}/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt (98%) rename {build-logic => gradle-conventions}/convention/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt (100%) rename {build-logic => gradle-conventions}/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt (100%) rename {build-logic => gradle-conventions}/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt (100%) rename {build-logic => gradle-conventions}/settings.gradle.kts (87%) diff --git a/build-logic/convention/build.gradle.kts b/gradle-conventions/convention/build.gradle.kts similarity index 100% rename from build-logic/convention/build.gradle.kts rename to gradle-conventions/convention/build.gradle.kts diff --git a/build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt b/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt similarity index 98% rename from build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt rename to gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt index ab40e807..9df9e57e 100644 --- a/build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt +++ b/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt @@ -2,10 +2,10 @@ package com.kitakkun.backintime.convention -import build_logic.convention.BuildConfig +import com.kitakkun.backintime.convention.extension.BackInTimePublicationExtension import com.vanniktech.maven.publish.MavenPublishBaseExtension import com.vanniktech.maven.publish.SonatypeHost -import com.kitakkun.backintime.convention.extension.BackInTimePublicationExtension +import gradle_conventions.convention.BuildConfig import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure diff --git a/build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt b/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt similarity index 100% rename from build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt rename to gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt diff --git a/build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt b/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt similarity index 100% rename from build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt rename to gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt diff --git a/build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt b/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt similarity index 100% rename from build-logic/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt rename to gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt diff --git a/build-logic/settings.gradle.kts b/gradle-conventions/settings.gradle.kts similarity index 87% rename from build-logic/settings.gradle.kts rename to gradle-conventions/settings.gradle.kts index 0f813ff4..e2e79b08 100644 --- a/build-logic/settings.gradle.kts +++ b/gradle-conventions/settings.gradle.kts @@ -11,5 +11,5 @@ dependencyResolutionManagement { } } -rootProject.name = "build-logic" +rootProject.name = "gradle-conventions" include(":convention") diff --git a/settings.gradle.kts b/settings.gradle.kts index 232551e2..2b1a6e50 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,5 @@ pluginManagement { - includeBuild("build-logic") + includeBuild("gradle-conventions") repositories { mavenLocal() mavenCentral() From 468a3cbd7cbd04d44c81a64ac707565c04b0cbc5 Mon Sep 17 00:00:00 2001 From: kitakkun <48154936+kitakkun@users.noreply.github.com> Date: Sun, 8 Dec 2024 15:43:32 +0900 Subject: [PATCH 2/4] Move sources in conventions under gradle-conventions --- gradle-conventions/{convention => }/build.gradle.kts | 0 gradle-conventions/settings.gradle.kts | 1 - .../backintime/convention/BackInTimePublicationPlugin.kt | 2 +- .../com/kitakkun/backintime/convention/LintConventionPlugin.kt | 0 .../convention/extension/BackInTimePublicationExtension.kt | 0 .../com/kitakkun/backintime/convention/extension/Project.kt | 0 6 files changed, 1 insertion(+), 2 deletions(-) rename gradle-conventions/{convention => }/build.gradle.kts (100%) rename gradle-conventions/{convention => }/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt (98%) rename gradle-conventions/{convention => }/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt (100%) rename gradle-conventions/{convention => }/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt (100%) rename gradle-conventions/{convention => }/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt (100%) diff --git a/gradle-conventions/convention/build.gradle.kts b/gradle-conventions/build.gradle.kts similarity index 100% rename from gradle-conventions/convention/build.gradle.kts rename to gradle-conventions/build.gradle.kts diff --git a/gradle-conventions/settings.gradle.kts b/gradle-conventions/settings.gradle.kts index e2e79b08..777095d6 100644 --- a/gradle-conventions/settings.gradle.kts +++ b/gradle-conventions/settings.gradle.kts @@ -12,4 +12,3 @@ dependencyResolutionManagement { } rootProject.name = "gradle-conventions" -include(":convention") diff --git a/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt similarity index 98% rename from gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt rename to gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt index 9df9e57e..a12fef40 100644 --- a/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt +++ b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt @@ -5,7 +5,7 @@ package com.kitakkun.backintime.convention import com.kitakkun.backintime.convention.extension.BackInTimePublicationExtension import com.vanniktech.maven.publish.MavenPublishBaseExtension import com.vanniktech.maven.publish.SonatypeHost -import gradle_conventions.convention.BuildConfig +import gradle_conventions.BuildConfig import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure diff --git a/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt similarity index 100% rename from gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt rename to gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt diff --git a/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt similarity index 100% rename from gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt rename to gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt diff --git a/gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt similarity index 100% rename from gradle-conventions/convention/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt rename to gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt From f0b29a504cacce001ce4b3715aa5918dd4c7dc37 Mon Sep 17 00:00:00 2001 From: kitakkun <48154936+kitakkun@users.noreply.github.com> Date: Sun, 8 Dec 2024 15:51:49 +0900 Subject: [PATCH 3/4] Introduce gradle-conventions-settings to optimize buildscripts --- gradle-conventions-settings/build.gradle.kts | 3 ++ .../settings.gradle.kts | 3 ++ .../settings-conventions.settings.gradle.kts | 53 +++++++++++++++++++ gradle-conventions/settings.gradle.kts | 19 +++---- settings.gradle.kts | 23 +++----- {gradle => versions-root}/libs.versions.toml | 0 6 files changed, 73 insertions(+), 28 deletions(-) create mode 100644 gradle-conventions-settings/build.gradle.kts create mode 100644 gradle-conventions-settings/settings.gradle.kts create mode 100644 gradle-conventions-settings/src/main/kotlin/settings-conventions.settings.gradle.kts rename {gradle => versions-root}/libs.versions.toml (100%) diff --git a/gradle-conventions-settings/build.gradle.kts b/gradle-conventions-settings/build.gradle.kts new file mode 100644 index 00000000..46f9c3f7 --- /dev/null +++ b/gradle-conventions-settings/build.gradle.kts @@ -0,0 +1,3 @@ +plugins { + `kotlin-dsl` +} \ No newline at end of file diff --git a/gradle-conventions-settings/settings.gradle.kts b/gradle-conventions-settings/settings.gradle.kts new file mode 100644 index 00000000..02703de0 --- /dev/null +++ b/gradle-conventions-settings/settings.gradle.kts @@ -0,0 +1,3 @@ +rootProject.name = "gradle-conventions-settings" + +apply(from = "src/main/kotlin/settings-conventions.settings.gradle.kts") diff --git a/gradle-conventions-settings/src/main/kotlin/settings-conventions.settings.gradle.kts b/gradle-conventions-settings/src/main/kotlin/settings-conventions.settings.gradle.kts new file mode 100644 index 00000000..e9234927 --- /dev/null +++ b/gradle-conventions-settings/src/main/kotlin/settings-conventions.settings.gradle.kts @@ -0,0 +1,53 @@ +import java.nio.file.Files +import java.nio.file.Path + +/** + * This buildscript can be applied with id "settings-conventions" in plugins block. + * (note that you need to includeBuild before use it) + * + * This file is written referencing kotlinx-rpc project: + * https://github.com/Kotlin/kotlinx-rpc/blob/main/gradle-conventions-settings/src/main/kotlin/settings-conventions.settings.gradle.kts + */ + +pluginManagement { + repositories { + mavenCentral() + gradlePluginPortal() + google() + } +} + +dependencyResolutionManagement { + repositories { + mavenCentral() + gradlePluginPortal() + google() + } + + versionCatalogs { + create("libs") { + val globalRootPath = findGlobalRootPath(rootDir.toPath()) + from(files("$globalRootPath/versions-root/libs.versions.toml")) + System.getenv("KOTLIN_VERSION")?.let { version("kotlin", it) } + } + } +} + +/** + * This plugin will be applied to all modules in the rootProject. + * So, $rootProject doesn't always represents root directory for this repository. + * We need to traverse directories until we find "versions-root" directory. + */ +fun findGlobalRootPath(start: Path): Path { + var path = start + + while ( + Files.newDirectoryStream(path).use { it.toList() }.none { + Files.isDirectory(it) && it.fileName.toString() == "versions-root" + } + ) { + path = path.parent ?: error("Unable to find root path for Kondition project.") + } + + return path +} diff --git a/gradle-conventions/settings.gradle.kts b/gradle-conventions/settings.gradle.kts index 777095d6..86ba4a1a 100644 --- a/gradle-conventions/settings.gradle.kts +++ b/gradle-conventions/settings.gradle.kts @@ -1,14 +1,9 @@ -dependencyResolutionManagement { - repositories { - gradlePluginPortal() - google() - mavenCentral() - } - versionCatalogs { - create("libs") { - from(files("../gradle/libs.versions.toml")) - } - } +rootProject.name = "gradle-conventions" + +pluginManagement { + includeBuild("../gradle-conventions-settings") } -rootProject.name = "gradle-conventions" +plugins { + id("settings-conventions") +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 2b1a6e50..ec33326e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,25 +1,16 @@ +rootProject.name = "backintime" + +enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") + pluginManagement { + includeBuild("gradle-conventions-settings") includeBuild("gradle-conventions") - repositories { - mavenLocal() - mavenCentral() - gradlePluginPortal() - google() - } } -dependencyResolutionManagement { - repositories { - mavenLocal() - mavenCentral() - google() - } +plugins { + id("settings-conventions") } -enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") - -rootProject.name = "backintime" - include( ":plugin-common", ":gradle-plugin", diff --git a/gradle/libs.versions.toml b/versions-root/libs.versions.toml similarity index 100% rename from gradle/libs.versions.toml rename to versions-root/libs.versions.toml From f75fe177d1d361fd9ae17a605e8867210d6b1ad4 Mon Sep 17 00:00:00 2001 From: kitakkun <48154936+kitakkun@users.noreply.github.com> Date: Sun, 8 Dec 2024 16:05:10 +0900 Subject: [PATCH 4/4] Migrate to gradlescript-based convention plugins --- .../src/main/kotlin/util/Project.kt | 7 ++ gradle-conventions/build.gradle.kts | 19 +---- .../main/kotlin/backintime-lint.gradle.kts | 15 ++++ .../kotlin/backintime-publication.gradle.kts | 58 ++++++++++++++ .../convention/BackInTimePublicationPlugin.kt | 76 ------------------- .../convention/LintConventionPlugin.kt | 26 ------- .../BackInTimePublicationExtension.kt | 5 -- .../convention/extension/Project.kt | 7 -- versions-root/libs.versions.toml | 4 +- 9 files changed, 83 insertions(+), 134 deletions(-) create mode 100644 gradle-conventions-settings/src/main/kotlin/util/Project.kt create mode 100644 gradle-conventions/src/main/kotlin/backintime-lint.gradle.kts create mode 100644 gradle-conventions/src/main/kotlin/backintime-publication.gradle.kts delete mode 100644 gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt delete mode 100644 gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt delete mode 100644 gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt delete mode 100644 gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt diff --git a/gradle-conventions-settings/src/main/kotlin/util/Project.kt b/gradle-conventions-settings/src/main/kotlin/util/Project.kt new file mode 100644 index 00000000..82919921 --- /dev/null +++ b/gradle-conventions-settings/src/main/kotlin/util/Project.kt @@ -0,0 +1,7 @@ +package util + +import org.gradle.api.Project +import org.gradle.api.artifacts.VersionCatalogsExtension +import org.gradle.kotlin.dsl.getByType + +val Project.libs get() = extensions.getByType().named("libs") diff --git a/gradle-conventions/build.gradle.kts b/gradle-conventions/build.gradle.kts index 1e819137..6fe5ee7a 100644 --- a/gradle-conventions/build.gradle.kts +++ b/gradle-conventions/build.gradle.kts @@ -1,26 +1,9 @@ plugins { `kotlin-dsl` - alias(libs.plugins.buildconfig) -} - -gradlePlugin { - plugins { - register("com.kitakkun.backintime.conventions.ktlint") { - id = "backintime.lint" - implementationClass = "com.kitakkun.backintime.convention.LintConventionPlugin" - } - register("com.kitakkun.backintime.conventions.publication") { - id = "backintime.publication" - implementationClass = "com.kitakkun.backintime.convention.BackInTimePublicationPlugin" - } - } } dependencies { + implementation(":gradle-conventions-settings") compileOnly(libs.ktlint.gradle) compileOnly(libs.maven.publish) } - -buildConfig { - buildConfigField("VERSION", libs.versions.backintime.get()) -} diff --git a/gradle-conventions/src/main/kotlin/backintime-lint.gradle.kts b/gradle-conventions/src/main/kotlin/backintime-lint.gradle.kts new file mode 100644 index 00000000..bd341632 --- /dev/null +++ b/gradle-conventions/src/main/kotlin/backintime-lint.gradle.kts @@ -0,0 +1,15 @@ +import org.jlleitschuh.gradle.ktlint.KtlintExtension +import org.jlleitschuh.gradle.ktlint.reporter.ReporterType +import util.libs + +with(pluginManager) { + apply("org.jlleitschuh.gradle.ktlint") +} + +configure { + version.set(libs.findVersion("ktlint").get().requiredVersion) + ignoreFailures.set(true) + reporters { + reporter(ReporterType.CHECKSTYLE) + } +} diff --git a/gradle-conventions/src/main/kotlin/backintime-publication.gradle.kts b/gradle-conventions/src/main/kotlin/backintime-publication.gradle.kts new file mode 100644 index 00000000..e1b3807e --- /dev/null +++ b/gradle-conventions/src/main/kotlin/backintime-publication.gradle.kts @@ -0,0 +1,58 @@ +import com.vanniktech.maven.publish.MavenPublishBaseExtension +import com.vanniktech.maven.publish.SonatypeHost + +open class BackInTimePublicationExtension { + var artifactId: String = "" +} + +extensions.create("backintimePublication") + +with(pluginManager) { + apply("com.vanniktech.maven.publish") +} + +afterEvaluate { + val extension = extensions.getByType(BackInTimePublicationExtension::class.java) + val artifactId = extension.artifactId + if (artifactId.isBlank()) error("Artifact ID must be specified.") + + configure { + coordinates(artifactId = artifactId) + + pom { + name.set("back-in-time") + description.set("Kondition ensure that your Kotlin code runs under some conditions are met. It inserts code to verify conditions for value parameters or variables at compile time.") + inceptionYear.set("2024") + url.set("https://github.com/kitakkun/back-in-time-plugin") + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("https://github.com/kitakkun/back-in-time-plugin/blob/master/LICENSE") + distribution.set("repo") + } + developers { + developer { + id.set("kitakkun") + name.set("kitakkun") + url.set("https://github.com/kitakkun") + } + } + scm { + url.set("https://github.com/kitakkun/back-in-time-plugin") + connection.set("scm:git:git://github.com/kitakkun/back-in-time-plugin.git") + developerConnection.set("scm:git:ssh://git@github.com/kitakkun/back-in-time-plugin.git") + } + } + } + + publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) + signAllPublications() + + // avoid failure when executing publishToMavenLocal + tasks.withType(Sign::class).configureEach { + onlyIf { + !gradle.startParameter.taskNames.contains("publishToMavenLocal") + } + } + } +} diff --git a/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt deleted file mode 100644 index a12fef40..00000000 --- a/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/BackInTimePublicationPlugin.kt +++ /dev/null @@ -1,76 +0,0 @@ -@file:Suppress("UNUSED") - -package com.kitakkun.backintime.convention - -import com.kitakkun.backintime.convention.extension.BackInTimePublicationExtension -import com.vanniktech.maven.publish.MavenPublishBaseExtension -import com.vanniktech.maven.publish.SonatypeHost -import gradle_conventions.BuildConfig -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.kotlin.dsl.configure -import org.gradle.kotlin.dsl.create -import org.gradle.kotlin.dsl.withType -import org.gradle.plugins.signing.Sign - -class BackInTimePublicationPlugin : Plugin { - override fun apply(target: Project) { - with(target) { - extensions.create("backintimePublication") - - with(pluginManager) { - apply("com.vanniktech.maven.publish") - } - - afterEvaluate { - val extension = extensions.getByType(BackInTimePublicationExtension::class.java) - val artifactId = extension.artifactId - if (artifactId.isBlank()) error("Artifact ID must be specified.") - - configure { - coordinates( - groupId = "com.kitakkun.backintime", - artifactId = artifactId, - version = BuildConfig.VERSION, - ) - - pom { - name.set("back-in-time") - description.set("Kondition ensure that your Kotlin code runs under some conditions are met. It inserts code to verify conditions for value parameters or variables at compile time.") - inceptionYear.set("2024") - url.set("https://github.com/kitakkun/back-in-time-plugin") - licenses { - license { - name.set("The Apache License, Version 2.0") - url.set("https://github.com/kitakkun/back-in-time-plugin/blob/master/LICENSE") - distribution.set("repo") - } - developers { - developer { - id.set("kitakkun") - name.set("kitakkun") - url.set("https://github.com/kitakkun") - } - } - scm { - url.set("https://github.com/kitakkun/back-in-time-plugin") - connection.set("scm:git:git://github.com/kitakkun/back-in-time-plugin.git") - developerConnection.set("scm:git:ssh://git@github.com/kitakkun/back-in-time-plugin.git") - } - } - } - - publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) - signAllPublications() - - // avoid failure when executing publishToMavenLocal - tasks.withType(Sign::class).configureEach { - onlyIf { - !gradle.startParameter.taskNames.contains("publishToMavenLocal") - } - } - } - } - } - } -} \ No newline at end of file diff --git a/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt deleted file mode 100644 index d3a0a6c3..00000000 --- a/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/LintConventionPlugin.kt +++ /dev/null @@ -1,26 +0,0 @@ -package com.kitakkun.backintime.convention - -import com.kitakkun.backintime.convention.extension.libs -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.kotlin.dsl.configure -import org.jlleitschuh.gradle.ktlint.KtlintExtension -import org.jlleitschuh.gradle.ktlint.reporter.ReporterType - -class LintConventionPlugin : Plugin { - override fun apply(target: Project) { - with(target) { - with(pluginManager) { - apply("org.jlleitschuh.gradle.ktlint") - } - - configure { - version.set(libs.findVersion("ktlint").get().requiredVersion) - ignoreFailures.set(true) - reporters { - reporter(ReporterType.CHECKSTYLE) - } - } - } - } -} diff --git a/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt deleted file mode 100644 index 1b601a84..00000000 --- a/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/BackInTimePublicationExtension.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.kitakkun.backintime.convention.extension - -open class BackInTimePublicationExtension { - var artifactId: String = "" -} diff --git a/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt b/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt deleted file mode 100644 index 469a3bea..00000000 --- a/gradle-conventions/src/main/kotlin/com/kitakkun/backintime/convention/extension/Project.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.kitakkun.backintime.convention.extension - -import org.gradle.api.Project -import org.gradle.api.artifacts.VersionCatalogsExtension -import org.gradle.kotlin.dsl.getByType - -val Project.libs get() = this.extensions.getByType().named("libs") diff --git a/versions-root/libs.versions.toml b/versions-root/libs.versions.toml index 453c52a8..c63d467a 100644 --- a/versions-root/libs.versions.toml +++ b/versions-root/libs.versions.toml @@ -102,8 +102,8 @@ maven-publish = { module = "com.vanniktech:gradle-maven-publish-plugin", version [plugins] # convention -backintimeLint = { id = "backintime.lint", version = "unspecified" } -backintimePublication = { id = "backintime.publication", version = "unspecified" } +backintimeLint = { id = "backintime-lint", version = "unspecified" } +backintimePublication = { id = "backintime-publication", version = "unspecified" } ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint-gradle" } kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }