buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'kotlin'
apply plugin: 'net.corda.plugins.publish-utils'
apply plugin: 'com.jfrog.artifactory'

description 'A small gradle plugin for adding some basic Quasar tasks and configurations to reduce build.gradle bloat.'

repositories {
    mavenCentral()
}

configurations {
    noderunner
    compile.extendsFrom noderunner
}

sourceSets {
    runnodes {
        kotlin {
            srcDir file('src/noderunner/kotlin')
            compileClasspath += configurations.noderunner
        }
    }
}

dependencies {
    compile gradleApi()
    compile project(":cordapp")
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"

    noderunner "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"

    compile project(':cordform-common')
    // Docker-compose file generation
    compile "org.yaml:snakeyaml:$snake_yaml_version"
}

task createNodeRunner(type: Jar, dependsOn: [classes]) {
    manifest {
        attributes('Main-Class': 'net.corda.plugins.NodeRunnerKt')
    }
    classifier = 'fatjar'
    from { configurations.noderunner.collect { it.isDirectory() ? it : zipTree(it) } }
    from sourceSets.runnodes.output
}

jar {
    from(createNodeRunner) {
        rename { 'net/corda/plugins/runnodes.jar' }
    }
}

publish {
    name project.name
}
