import static org.gradle.api.JavaVersion.VERSION_1_7 apply plugin: 'java' apply plugin: 'maven' apply plugin: 'signing' sourceCompatibility = VERSION_1_7 targetCompatibility = VERSION_1_7 archivesBaseName = "java-hamcrest" group = "org.hamcrest" version = "2.0.0.0" repositories { mavenCentral() } dependencies { testCompile(group: 'junit', name: 'junit', version: '4.12') { transitive = false } } sourceSets { main { java { srcDirs 'hamcrest-core/src/main/java', 'hamcrest-library/src/main/java' } } test { java { srcDirs 'hamcrest-core/src/test/java', 'hamcrest-library/src/test/java' } } } jar { manifest { attributes 'Implementation-Title': 'hamcrest-all', 'Implementation-Vendor': 'hamcrest.org', 'Implementation-Version': version } } task sourcesJar(type: Jar) { classifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar) { classifier = 'javadoc' from javadoc } artifacts { archives sourcesJar, javadocJar } signing { required { gradle.taskGraph.hasTask("uploadArchives") } sign configurations.archives } uploadArchives { if (hasProperty('ossrhUsername') && hasProperty('ossrhPassword')) { repositories { mavenDeployer { beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { authentication(userName: ossrhUsername, password: ossrhPassword) } snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") { authentication(userName: ossrhUsername, password: ossrhPassword) } pom.project { name 'Java Hamcrest' packaging 'jar' description 'Hamcrest matcher library for Java' url 'http://hamcrest.org/JavaHamcrest/' scm { connection 'git@github.com:hamcrest/JavaHamcrest.git' url 'https://github.com/hamcrest/JavaHamcrest' } licenses { license { name 'BSD Licence 3' url 'http://opensource.org/licenses/BSD-3-Clause' } } developers { developer { id 'joewalnes' name 'Joe Walnes' } developer { id 'npryce' name 'Nat Pryce' } developer { id 'sf105' name 'Steve Freeman' } } } } } } }