1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
//Note: this section 'buildscript` is only for the dependencies of the buildscript itself.
buildscript {
repositories {
mavenCentral()
}
}
plugins {
id "java"
id 'maven'
id 'signing'
}
compileJava {
options.compilerArgs = ['-proc:none', '-Xlint:all','-Werror','-Xdiags:verbose']
}
// sourceCompatibility = 1.9
// targetCompatibility = 1.9
final isRelease = Boolean.getBoolean("release")
// version = (isRelease ? gitVersion() : gitVersion() + "-SNAPSHOT").replaceAll(".dirty", "")
def getDebianVersion() {
def dpkgStdOut = new ByteArrayOutputStream()
exec {
commandLine "dpkg-parsechangelog", "-S", "Version"
standardOutput = dpkgStdOut
}
return dpkgStdOut.toString().trim().replaceFirst(/(-gradle)?([+]dfsg[.0-9]*)?-[^-]+$/, "")
}
version = getDebianVersion()
logger.info("build for version:" + version)
group = 'org.broadinstitute'
task wrapper(type: Wrapper) {
gradleVersion = '4.0.1'
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from 'build/docs/javadoc'
}
task sourcesJar(type: Jar) {
from sourceSets.main.allSource
classifier = 'sources'
}
// This is a hack to disable the java 8 default javadoc lint until we fix the html formatting
if (JavaVersion.current().isJava8Compatible()) {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
/**
*This specifies what artifacts will be built and uploaded when performing a maven upload.
*/
artifacts {
archives jar
archives javadocJar
archives sourcesJar
}
/**
* Sign non-snapshot releases with our secret key. This should never need to be invoked directly.
*/
signing {
required { gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}
/**
* Upload a release to sonatype. You must be an authorized uploader and have your sonatype
* username and password information in your gradle properties file.
*
* For releasing to your local maven repo, use gradle install
*/
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: project.findProperty("sonatypeUsername"), password: project.findProperty("sonatypePassword"))
}
snapshotRepository(url: "https://broadinstitute.jfrog.io/broadinstitute/libs-snapshot-local/") {
authentication(userName: System.env.ARTIFACTORY_USERNAME, password: System.env.ARTIFACTORY_PASSWORD)
}
pom.project {
name 'gatk-native-bindings'
packaging 'jar'
description 'Bindings for native libraries to implement to be compatible with GATK4'
url 'http://github.com/broadinstitute/gatk-native-bindings'
scm {
url 'scm:git@github.com:broadinstitute/gatk-native-bindings.git'
connection 'scm:git@github.com:broadinstitute/gatk-native-bindings.git'
developerConnection 'scm:git@github.com:broadinstitute/gatk-native-bindings.git'
}
developers {
developer {
id = "gatkdev"
name = "GATK Development Team"
email = "gatk-dev-public@broadinstitute.org"
}
}
licenses {
license {
name 'BSD 3-Clause'
url 'https://github.com/broadinstitute/gatk-native-bindings/blob/master/LICENSE.TXT'
distribution 'repo'
}
}
}
}
}
doFirst{
System.out.println("Uploading version $version")
}
}
|