buildscript { ext.kotlin_version = '1.1.2-2' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } jar { baseName = 'KotlinPlugin' version = '0.1.0' manifest { attributes 'Plugin-Class': 'org.pf4j.demo.kotlin.KotlinPlugin', 'Plugin-Id': 'KotlinPlugin', 'Plugin-Version': '1.0.0', 'Plugin-Provider': 'Anindya Chatterjee' } } task plugin(type: Jar) { baseName = 'KotlinPlugin' version = '0.1.0' into('classes') { with jar } into('lib') { from configurations.compile } extension('zip') } assemble.dependsOn plugin apply plugin: 'kotlin' apply plugin: 'kotlin-kapt' repositories { mavenCentral() } dependencies { compileOnly project(':api') kapt('org.pf4j:pf4j:2.0.0-SNAPSHOT') { exclude group: "org.slf4j" } compile 'org.apache.commons:commons-lang3:3.5' testCompile group: 'junit', name: 'junit', version: '4.+' compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" }