jar { baseName = 'WelcomePlugin' version = '0.1.0' manifest { attributes 'Plugin-Class': 'org.pf4j.demo.welcome.WelcomePlugin', 'Plugin-Id': 'WelcomePlugin', 'Plugin-Version': '1.0.0', 'Plugin-Provider': 'Decebal Suiu' } } task plugin(type: Jar) { baseName = 'WelcomePlugin' version = '0.1.0' into('classes') { with jar } into('lib') { from configurations.compile } extension('zip') } assemble.dependsOn plugin dependencies { compileOnly project(':api') // compileOnly important!!! We do not want to put the api into the zip file since the main program has it already! compile('org.pf4j:pf4j:1.4.0-SNAPSHOT') { exclude group: "org.slf4j" } compile 'org.apache.commons:commons-lang3:3.5' testCompile group: 'junit', name: 'junit', version: '4.+' }