2019-11-20 18:16:10 +00:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
google()
|
|
|
|
mavenCentral()
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.10'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
apply plugin: 'java-library'
|
|
|
|
apply plugin: 'com.google.protobuf'
|
|
|
|
apply plugin: 'maven'
|
|
|
|
apply plugin: 'signing'
|
|
|
|
apply plugin: 'witness'
|
|
|
|
apply from: 'witness-verifications.gradle'
|
|
|
|
|
|
|
|
sourceCompatibility = 1.7
|
|
|
|
archivesBaseName = "signal-service-java"
|
|
|
|
version = lib_signal_service_version_number
|
|
|
|
group = lib_signal_service_group_info
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
mavenLocal()
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation 'com.google.protobuf:protobuf-javalite:3.10.0'
|
|
|
|
api 'com.googlecode.libphonenumber:libphonenumber:8.10.7'
|
|
|
|
api 'com.fasterxml.jackson.core:jackson-databind:2.9.9.2'
|
|
|
|
|
|
|
|
api "org.signal:signal-metadata-java:${lib_signal_metadata_version}"
|
|
|
|
api 'com.squareup.okhttp3:okhttp:3.12.1'
|
|
|
|
implementation 'org.threeten:threetenbp:1.3.6'
|
|
|
|
|
2019-12-03 17:31:23 +00:00
|
|
|
testImplementation 'junit:junit:4.12'
|
2019-11-20 18:16:10 +00:00
|
|
|
testImplementation 'org.assertj:assertj-core:1.7.1'
|
|
|
|
testImplementation 'org.conscrypt:conscrypt-openjdk-uber:2.0.0'
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencyVerification {
|
|
|
|
configuration = '(runtime|compile)Classpath'
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks.whenTaskAdded { task ->
|
|
|
|
if (task.name.equals("lint")) {
|
|
|
|
task.enabled = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protobuf {
|
|
|
|
protoc {
|
|
|
|
artifact = 'com.google.protobuf:protoc:3.10.0'
|
|
|
|
}
|
|
|
|
generateProtoTasks {
|
|
|
|
all().each { task ->
|
|
|
|
task.builtins {
|
|
|
|
java {
|
|
|
|
option "lite"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
main.proto.srcDir 'protobuf'
|
|
|
|
}
|
|
|
|
|
|
|
|
def isReleaseBuild() {
|
|
|
|
return version.contains("SNAPSHOT") == false
|
|
|
|
}
|
|
|
|
|
|
|
|
def getReleaseRepositoryUrl() {
|
|
|
|
return hasProperty('sonatypeRepo') ? sonatypeRepo
|
|
|
|
: "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
|
|
|
|
}
|
|
|
|
|
|
|
|
def getRepositoryUsername() {
|
|
|
|
return hasProperty('whisperSonatypeUsername') ? whisperSonatypeUsername : ""
|
|
|
|
}
|
|
|
|
|
|
|
|
def getRepositoryPassword() {
|
|
|
|
return hasProperty('whisperSonatypePassword') ? whisperSonatypePassword : ""
|
|
|
|
}
|
|
|
|
|
|
|
|
signing {
|
|
|
|
required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
|
|
|
|
sign configurations.archives
|
|
|
|
}
|
|
|
|
|
|
|
|
uploadArchives {
|
|
|
|
configuration = configurations.archives
|
|
|
|
repositories.mavenDeployer {
|
|
|
|
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
|
|
|
|
|
|
|
|
repository(url: getReleaseRepositoryUrl()) {
|
|
|
|
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
|
|
|
|
}
|
|
|
|
|
|
|
|
pom.project {
|
|
|
|
name 'signal-service-java'
|
|
|
|
packaging 'jar'
|
|
|
|
description 'Signal Service communication library for Java'
|
|
|
|
url 'https://github.com/WhisperSystems/libsignal-service-java'
|
|
|
|
|
|
|
|
scm {
|
|
|
|
url 'scm:git@github.com:WhisperSystems/libsignal-service-java.git'
|
|
|
|
connection 'scm:git@github.com:WhisperSystems/libsignal-service-java.git'
|
|
|
|
developerConnection 'scm:git@github.com:WhisperSystems/libsignal-service-java.git'
|
|
|
|
}
|
|
|
|
|
|
|
|
licenses {
|
|
|
|
license {
|
|
|
|
name 'GPLv3'
|
|
|
|
url 'https://www.gnu.org/licenses/gpl-3.0.txt'
|
|
|
|
distribution 'repo'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
developers {
|
|
|
|
developer {
|
|
|
|
name 'Moxie Marlinspike'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
task installArchives(type: Upload) {
|
|
|
|
description "Installs the artifacts to the local Maven repository."
|
|
|
|
configuration = configurations['archives']
|
|
|
|
repositories {
|
|
|
|
mavenDeployer {
|
|
|
|
repository url: "file://${System.properties['user.home']}/.m2/repository"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
task packageJavadoc(type: Jar, dependsOn: 'javadoc') {
|
|
|
|
from javadoc.destinationDir
|
|
|
|
classifier = 'javadoc'
|
|
|
|
}
|
|
|
|
|
|
|
|
task packageSources(type: Jar) {
|
|
|
|
from sourceSets.main.allSource
|
|
|
|
classifier = 'sources'
|
|
|
|
}
|
|
|
|
|
|
|
|
artifacts {
|
|
|
|
archives packageJavadoc
|
|
|
|
archives packageSources
|
|
|
|
}
|