mirror of
https://github.com/signalapp/libsignal.git
synced 2026-04-25 17:25:18 +02:00
134 lines
3.3 KiB
Groovy
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'
|
|
}
|