apply plugin: 'java' apply plugin: 'findbugs' apply plugin: 'maven' def env = System.getenv() // // I defaults valgono per HUDSON // project.ext { webapp_name = 'ari4java' app_version = 'c2.0.0' build_number = env["BUILD_NUMBER"] version_class = 'ch/loway/oss/ari4java/BUILD.java' build_time = "" + new Date() } sourceSets { main { java { srcDirs "$buildDir/classes_subst" } } test { java { srcDirs "./tests" } } } //artifacts { // archives sourcesJar // archives javadocJar //} task writeNewPom << { pom { project { groupId 'ch.loway.oss.ari4java' version project.ext.app_version inceptionYear '2013' packaging 'jar' name 'ari4java' description 'Asterisk ARI interface bindings for Java' licenses { license { name 'GNU LGPL v3' } } scm { url 'http://github.com/l3nz/ari4java' connection 'http://github.com/l3nz/ari4java' } developers { developer { name 'lenz e.' email 'nomail@home' } } } }.writeTo("$buildDir/libs/ari4java-" + project.ext.app_version + ".pom") } task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from "$buildDir/classes_subst" archiveName project.ext.webapp_name + "-" + project.ext.app_version + "-sources.jar" } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir archiveName project.ext.webapp_name + "-" + project.ext.app_version + "-javadoc.jar" } jar { manifest { attributes("Implementation-Title": project.ext.webapp_name, "Implementation-Version": project.ext.app_version) } archiveName project.ext.webapp_name + "-" + project.ext.app_version + ".jar" from( "$buildDir/classes_subst" ) } jar.dependsOn writeNewPom jar.dependsOn sourcesJar jar.dependsOn javadocJar repositories { mavenCentral() } dependencies { compile 'com.fasterxml.jackson.core:jackson-core:2.2.2' compile 'com.fasterxml.jackson.core:jackson-databind:2.2.2' compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.2' compile 'io.netty:netty-all:4.0.25.Final' compile 'org.freemarker:freemarker:2.3.23' testCompile 'junit:junit:4.10' } task setVersionInSources() { doLast { def cjd = new File( "$buildDir/classes_subst" ) cjd.mkdirs(); def FileTree tree = fileTree( dir: "./classes" ) //tree.each { File file -> println file } copy { from './classes' into "$buildDir/classes_subst" } ant.replace( file: "$buildDir/classes_subst/" + project.ext.version_class, token: "VERSION", value: "VERSION = \"" + project.ext.app_version + "\"; //" ) ant.replace( file: "$buildDir/classes_subst/" + project.ext.version_class, token: "BUILD_N", value: "BUILD_N = \"" + project.ext.build_number + " - " + project.ext.build_time + "\"; //" ) } } compileJava.dependsOn setVersionInSources // decide what to see -only one can be enabled // get the HTML report from build/reports/findbugs/main.html tasks.withType(FindBugs) { reports { xml.enabled = false html.enabled = true } ignoreFailures = true } task downloadJars << { copy { from configurations.compile into './libs' include '**/*.jar' } }