buildscript { if ("local".equals(mavenRepo)) { repositories { maven { url localPluginRepoUrl } } dependencies { classpath "com.beecode:mk-gradle-plugin:1.1.0" } } } apply plugin: "eclipse" configure(subprojects) { project -> apply from: "../common.gradle" repositories { maven { url mavenRepoUrl } } task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource } publishing { publications { mavenJava(MavenPublication) { from components.java artifact sourcesJar } } repositories { maven { credentials { username publishUsername password publishPassword } if (version.endsWith('-SNAPSHOT')) { url publishSnapshotRepo } else { url publishReleaseRepo } } } } task buildJma(type: Zip, dependsOn: [generateJma, processResources]) { extension = "jma" destinationDir = new File(buildDir, "jma") from "${projectDir}/bin" from "${buildDir}/resources/main" } } task buildJma() { subprojects.forEach { dependsOn it.getTasksByName("buildJma", false) } } task clean(type: Delete) { subprojects.forEach { dependsOn it.getTasksByName("clean", false) } delete buildDir } task build(type: Zip) { subprojects.forEach { dependsOn it.getTasksByName("build", false) from it.tasks.jar.archivePath } destinationDir = new File(buildDir, "archive") } task buildCopy(type: Copy) { subprojects.forEach { dependsOn it.getTasksByName("build", false) from it.tasks.jar.archivePath } destinationDir = new File(buildDir, "metadata") } build.baseName = "${name}" def projName = name def projVersion = version def warPath = build.archivePath.absolutePath task generateResultInfo() { if (outFile != null && !outFile.isEmpty()) { doLast { def builder = new groovy.xml.StreamingMarkupBuilder() builder.encoding = 'UTF-8' def resultInfo = { mkp.xmlDeclaration() it.build { it.project(name: projName, version: projVersion) { it.artifact(path: warPath) } } } def writer = new FileWriter(outFile) try { writer << builder.bind(resultInfo) } finally { writer.close() } } } } build.dependsOn 'generateResultInfo'