gradle: add plugin from local jar not working

Viewed 24

I need to use flyway from source branch. I cloned project and build from desired branch:

[INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ flyway-gradle-plugin ---
[INFO] Building jar: /n/Projects/flyway/flyway-gradle-plugin/target/flyway-gradle-plugin-0-SNAPSHOT.jar

Next I copied this library to our project where I want to use this plugin (placed in libs dir).

build.gradle.kt

buildscript {
    repositories {
        flatDir {
            dirs("libs")
        }
    }
    dependencies {
        classpath("com.google.protobuf:protobuf-gradle-plugin:0.8.19")
        classpath(":flyway-gradle-plugin:0-SNAPSHOT")
        classpath(":flyway-core:0-SNAPSHOT")
    }
}

apply {
    plugin("org.flywaydb.flyway-gradle-plugin")
    // plugin(":flyway-gradle-plugin")
    // plugin("org.flywaydb.gradle.FlywayPlugin") 
}

But plugin isn't works:

FAILURE: Build failed with an exception.

* Where:
Build file '/n/Projects/user-stats/build.gradle.kts' line: 27

* What went wrong:
Plugin with id 'org.flywaydb.flyway-gradle-plugin' not found.

Also tried another ids, but got same error.

plugins {
    //id("org.flywaydb.flyway") version ("0-SNAPSHOT")
    //id("org.flywaydb.flyway")
    //id("org.flywaydb.flyway-gradle-plugin") version ("0-SNAPSHOT")
    //id("flyway-gradle-plugin") version ("0-SNAPSHOT")
    //id("flyway-gradle-plugin")
    //id("org.flywaydb.gradle.FlywayPlugin")
}

Where is my mistake?

1 Answers

Analyzing source I found the next way

apply {
    plugin(org.flywaydb.gradle.FlywayPlugin::class)
}

And it works!

Related