subprojects { jar { manifest { attributes 'Plugin-Class': "${pluginClass}", 'Plugin-Id': "${pluginId}", 'Plugin-Version': "${archiveVersion}", 'Plugin-Provider': "${pluginProvider}", 'Plugin-Dependencies': "${pluginDependencies}" } } task plugin(type: Jar) { archiveBaseName = "plugin-${pluginId}" into('classes') { with jar } into('lib') { from configurations.runtimeClasspath } archiveExtension ='zip' } task assemblePlugin(type: Copy) { from plugin into pluginsDir } } task assemblePlugins(type: Copy) { dependsOn subprojects.assemblePlugin } build.dependsOn project.tasks.assemblePlugins