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
27 changes: 5 additions & 22 deletions compat-patrouille-gradle-plugin/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import com.gradleup.librarian.gradle.Librarian
import org.gradle.api.internal.artifacts.dependencies.DefaultFileCollectionDependency

plugins {
id("org.jetbrains.kotlin.jvm")
id("java-gradle-plugin")
id("com.gradleup.compat.patrouille")
id("com.gradleup.gratatouille")
id("com.google.devtools.ksp")
id("com.gradleup.gratatouille.wiring")
}

Librarian.module(project)
Expand All @@ -14,25 +12,10 @@ dependencies {
compileOnly(libs.gradle.api)
compileOnly(libs.agp)
compileOnly(libs.kgp)
implementation(libs.gratatouille.wiring.runtime)
gratatouille(project(":compat-patrouille-tasks"))
}

configurations.getByName("api").dependencies.removeIf {
it is DefaultFileCollectionDependency
gratatouille {
codeGeneration()
}

compatPatrouille {
java(11)
kotlin("2.0.21")
}

gradlePlugin {
plugins {
create("com.gradleup.compat.patrouille") {
id = "com.gradleup.compat.patrouille"
description = "Helps with your compatibility troubles"
implementationClass = "compat.patrouille.CompatPatrouillePlugin"
}
}
}

Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
package compat.patrouille

import compat.patrouille.internal.CompatPatrouilleExtensionImpl
import compat.patrouille.internal.isKmp
import compat.patrouille.internal.kotlinExtensionOrNull
import compat.patrouille.task.registerCheckApiDependenciesTask
import org.gradle.api.Plugin
import gratatouille.wiring.GPlugin
import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion

class CompatPatrouillePlugin : Plugin<Project> {
override fun apply(target: Project) {
target.extensions.create(
CompatPatrouilleExtension::class.java,
"compatPatrouille",
CompatPatrouilleExtensionImpl::class.java,
target
)
}
}
@GPlugin(id = "com.gradleup.compat.patrouille")
fun plugin(target: Project) {
target.extensions.create(
CompatPatrouilleExtension::class.java,
"compatPatrouille",
CompatPatrouilleExtensionImpl::class.java,
target,
)
}
12 changes: 6 additions & 6 deletions compat-patrouille-tasks/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import com.gradleup.librarian.core.tooling.init.kotlinPluginVersion
import com.gradleup.librarian.gradle.Librarian
import com.gradleup.librarian.gradle.configureKotlinCompatibility

plugins {
id("org.jetbrains.kotlin.jvm")
id("com.gradleup.compat.patrouille")
id("com.gradleup.gratatouille")
id("com.gradleup.gratatouille.tasks")
id("com.google.devtools.ksp")
}

Librarian.module(project)

dependencies {
implementation(libs.gratatouille.runtime)
implementation(libs.kotlinx.metadata)
implementation(libs.gratatouille.tasks.runtime)
}

compatPatrouille {
java(11)
}
// Override the default from Librarian, we want to be able to use the latest Kotlin version here.
configureKotlinCompatibility(kotlinPluginVersion)

gratatouille {
codeGeneration {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package compat.patrouille.task

import gratatouille.GClasspath
import gratatouille.GOutputFile
import gratatouille.GTask
import gratatouille.tasks.GClasspath
import gratatouille.tasks.GOutputFile
import gratatouille.tasks.GTask
import kotlinx.metadata.jvm.JvmMetadataVersion
import kotlinx.metadata.jvm.KotlinModuleMetadata
import kotlinx.metadata.jvm.UnstableMetadataApi
Expand Down
5 changes: 3 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
[versions]
gratatouille = "0.0.9"
gratatouille = "0.1.0"

[libraries]
gradle-api = "dev.gradleplugins:gradle-api:8.0"
agp = "com.android.tools.build:gradle:8.2.0"
kgp = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
gratatouille-runtime = { module = "com.gradleup.gratatouille:gratatouille-runtime", version.ref = "gratatouille" }
gratatouille-tasks-runtime = { module = "com.gradleup.gratatouille:gratatouille-tasks-runtime", version.ref = "gratatouille" }
gratatouille-wiring-runtime = { module = "com.gradleup.gratatouille:gratatouille-wiring-runtime", version.ref = "gratatouille" }
kotlinx-metadata = "org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.9.0"

[plugins]
Expand Down
7 changes: 5 additions & 2 deletions test-kgp-1-9/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import cast.cast
import com.nfeld.jsonpathkt.kotlinx.resolvePathOrNull
import compat.patrouille.CompatPatrouilleExtension
import java.util.zip.ZipInputStream
import kotlinx.metadata.jvm.KotlinModuleMetadata
import kotlinx.metadata.jvm.UnstableMetadataApi
Expand All @@ -12,7 +13,6 @@ import org.objectweb.asm.Opcodes

plugins {
id("org.jetbrains.kotlin.jvm").version("1.9.0")
id("com.gradleup.compat.patrouille")
id("maven-publish")
}

Expand All @@ -23,13 +23,16 @@ buildscript {
classpath("net.mbonnin.cast:cast:0.0.1")
classpath("org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.9.0")
classpath("org.ow2.asm:asm:9.8")
classpath("com.gradleup.compat.patrouille:compat-patrouille-gradle-plugin")
}
}

compatPatrouille {
pluginManager.apply("com.gradleup.compat.patrouille")
extensions.getByType(CompatPatrouilleExtension::class.java).apply {
java(11)
kotlin("1.9.0")
}

abstract class VerifyCompatibility : DefaultTask() {
@get:InputFiles
abstract val m2Dir: ConfigurableFileCollection
Expand Down
7 changes: 6 additions & 1 deletion tests/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
plugins {
alias(libs.plugins.kgp).apply(false)
alias(libs.plugins.compat.patrouille).apply(false)
}
buildscript {
dependencies {
classpath("com.gradleup.compat.patrouille:compat-patrouille-gradle-plugin")
}
}