Files
libsignal/java/android/build.gradle
2020-11-06 16:40:54 -05:00

134 lines
3.3 KiB
Groovy

buildscript {
repositories {
google()
mavenCentral()
jcenter {
content {
includeVersion 'org.jetbrains.trove4j', 'trove4j', '20160824'
}
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.1'
}
}
apply plugin: 'com.android.library'
apply plugin: 'maven'
apply plugin: 'signing'
archivesBaseName = "signal-client-android"
version = version_number
group = group_info
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
minSdkVersion 19
targetSdkVersion 28
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
sourceSets {
androidTest {
java.srcDirs = ['src/androidTest/java', project(':tests').file('src/test/java')]
}
}
}
repositories {
google()
mavenCentral()
mavenLocal()
jcenter {
content {
includeVersion 'org.jetbrains.trove4j', 'trove4j', '20160824'
}
}
}
dependencies {
api project(':java')
}
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-client-android'
packaging 'aar'
description 'Signal Protocol cryptography library for Android'
url 'https://github.com/signalapp/libsignal-client'
scm {
url 'scm:git@github.com:signalapp/libsignal-client.git'
connection 'scm:git@github.com:signalapp/libsignal-client.git'
developerConnection 'scm:git@github.com:signalapp/libsignal-client.git'
}
licenses {
license {
name 'AGPLv3'
url 'https://www.gnu.org/licenses/agpl-3.0.txt'
distribution 'repo'
}
}
developers {
developer {
name 'Signal Messenger LLC'
}
}
}
}
}
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"
}
}
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ':makeJniLibrariesAndroid'
}