liquibase / liquibase-gradle-plugin

A Gradle plugin for Liquibase
Other
197 stars 57 forks source link

Configuration as a dependency Gradle 8.0 #121

Closed shrralis closed 10 months ago

shrralis commented 1 year ago

Gradle 8.0.2, Kotlin DSL

plugins {
// ...
    id("org.liquibase.gradle") version "2.2.0"
// ...
}
// ...
dependencies {
// ...
    liquibaseRuntime(sourceSets.main.get().compileClasspath)
    liquibaseRuntime("org.liquibase.ext:liquibase-hibernate6:4.21.1")
// ...
}
// ...
configurations {
// ...
    liquibaseRuntime {
        extendsFrom(configurations.compileClasspath.get())
    }
// ...
}

Maybe I simply missing something but the code above gives me an error: Adding a Configuration as a dependency is no longer allowed as of Gradle 8.0.

I'm pretty sure there's something about the configurations block but idk how it could be resolved

KorDum commented 1 year ago

try it

configurations {
    liquibaseRuntime {
        extendsFrom(configurations.compileClasspath.get())
    }
}

dependencies {
    liquibaseRuntime(rootProject.libs.postgresql)
    liquibaseRuntime("info.picocli:picocli:4.7.3")
    liquibaseRuntime(rootProject.libs.liquibase.core)
    liquibaseRuntime(rootProject.libs.liquibase.hibernate) // version 6+
    liquibaseRuntime(rootProject.libs.spring.jpa)
    liquibaseRuntime(sourceSets.getByName("main").output) // not compileClasspath
}
a616101 commented 4 months ago

It's work for me.

Groovy DSL:

configurations {
    liquibaseRuntime {
        extendsFrom configurations.compileClasspath
    }
}

dependencies {
    liquibaseRuntime 'org.liquibase:liquibase-core:4.26.0'
    liquibaseRuntime 'org.liquibase.ext:liquibase-hibernate6:4.25.1'
    liquibaseRuntime 'org.springframework.boot:spring-boot-starter-data-jpa:3.2.2'
    liquibaseRuntime 'info.picocli:picocli:4.7.5'
    liquibaseRuntime("jakarta.xml.bind:jakarta.xml.bind-api:4.0.1")
    liquibaseRuntime(sourceSets.getByName("main").output)
}