plugins {
    id "com.gradle.plugin-publish" version "1.2.1"
}

apply plugin: "java-gradle-plugin"
apply plugin: "org.jetbrains.kotlin.jvm"
apply plugin: "org.jetbrains.kotlin.kapt"
apply plugin: "com.vanniktech.maven.publish"

repositories {
    mavenCentral()
}

group = "dev.ahmedmourad.nocopy"
version = "1.5.0"

gradlePlugin {
    website = "http://nocopy.ahmedmourad.dev/"
    vcsUrl = "https://github.com/AhmedMourad0/no-copy"
    plugins {
        noCopyPlugin {
            id = "dev.ahmedmourad.nocopy.nocopy-gradle-plugin"
            implementationClass = "dev.ahmedmourad.nocopy.gradle.NoCopyGradlePlugin"
            displayName = "NoCopy Gradle Plugin"
            version = "1.5.0"
            description = "The Gradle plugin for no-copy, a Kotlin compiler plugin that removes the `copy` method of data classes."
            tags.addAll("kotlin-compiler", "gradle-plugin", "intellij-plugin", "compiler-plugin", "data-class", "value-based",
                    "annotations", "kotlin-extensions", "kotlin", "kotlin-language", "kotlin-library", "kotlin-compiler-plugin",
                    "inspections", "kotlin-plugin")
        }
    }
}

jar {
    manifest {
        attributes["Specification-Title"] = project.name
        attributes["Specification-Version"] = project.version
        attributes["Implementation-Title"] = "dev.ahmedmourad.nocopy.nocopy-gradle-plugin"
        attributes["Implementation-Version"] = project.version
    }
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation "org.jetbrains.kotlin:kotlin-gradle-plugin-api:$kotlin_version"
    compileOnly "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    implementation project(":core")
}
