buildscript { // For sharing constants between builds Properties constants = new Properties() file("$projectDir/../../constants.properties").withInputStream { constants.load(it) } ext.kotlin_version = constants.getProperty("kotlinVersion") repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'groovy' apply plugin: 'kotlin' apply plugin: 'net.corda.plugins.publish-utils' 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 localGroovy() noderunner "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" compile project(':cordform-common') } task createNodeRunner(type: Jar, dependsOn: [classes]) { manifest { attributes('Main-Class': 'net.corda.plugins.NodeRunnerKt') } baseName = project.name + '-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 }