jar { baseName = 'HelloPlugin' version = '0.1.0' manifest { attributes 'Plugin-Class' : 'ro.fortsoft.pf4j.demo.hello.HelloPlugin', 'Plugin-Id' : 'HelloPlugin', 'Plugin-Version' : '1.0.0', 'Plugin-Provider' : 'Decebal Suiu' } } task plugin(type: Jar) { baseName = 'HelloPlugin' 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 'ro.fortsoft.pf4j:pf4j:1.1.1' compile 'org.apache.commons:commons-lang3:3.0' testCompile group: 'junit', name: 'junit', version: '4.+' }