buildscript { // For sharing constants between builds Properties constants = new Properties() file("$projectDir/../../constants.properties").withInputStream { constants.load(it) } ext.kotlin_version = constants.getProperty("kotlinVersion") ext.javaassist_version = "3.12.1.GA" repositories { mavenLocal() mavenCentral() jcenter() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } repositories { mavenLocal() mavenCentral() jcenter() } apply plugin: 'kotlin' apply plugin: 'kotlin-kapt' apply plugin: 'idea' description 'A javaagent to allow hooking into Kryo' dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" compile "javassist:javassist:$javaassist_version" compile "com.esotericsoftware:kryo:4.0.0" compile "$quasar_group:quasar-core:$quasar_version:jdk8" } jar { archiveName = "${project.name}.jar" manifest { attributes( 'Premain-Class': 'net.corda.kryohook.KryoHookAgent', 'Can-Redefine-Classes': 'true', 'Can-Retransform-Classes': 'true', 'Can-Set-Native-Method-Prefix': 'true', 'Implementation-Title': "KryoHook", 'Implementation-Version': rootProject.version ) } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } }