107 lines
3.3 KiB
Kotlin
107 lines
3.3 KiB
Kotlin
pluginManagement {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
includeBuild("build-logic")
|
|
}
|
|
dependencyResolutionManagement {
|
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
|
repositories {
|
|
google {
|
|
content {
|
|
includeGroupByRegex("com\\.android(\\..*)?")
|
|
includeGroupByRegex("com\\.google(\\..*)?")
|
|
includeGroupByRegex("androidx?(\\..*)?")
|
|
}
|
|
}
|
|
mavenLocal {
|
|
content {
|
|
includeGroup("im.molly")
|
|
includeGroup("org.signal")
|
|
}
|
|
}
|
|
maven {
|
|
url = uri("https://dl.cloudsmith.io/public/mollyim/ringrtc/maven/")
|
|
content {
|
|
includeModule("im.molly", "ringrtc-android")
|
|
}
|
|
}
|
|
maven {
|
|
url = uri("https://dl.cloudsmith.io/public/mollyim/libsignal/maven/")
|
|
content {
|
|
includeModule("im.molly", "libsignal-client")
|
|
includeModule("im.molly", "libsignal-android")
|
|
}
|
|
}
|
|
maven {
|
|
url = uri("https://raw.githubusercontent.com/signalapp/maven/master/sqlcipher/release/")
|
|
content {
|
|
includeModule("org.signal", "sqlcipher-android")
|
|
}
|
|
}
|
|
maven {
|
|
url = uri("https://raw.githubusercontent.com/signalapp/maven/master/aesgcmprovider/release/")
|
|
content {
|
|
includeModule("org.signal", "aesgcmprovider")
|
|
}
|
|
}
|
|
mavenCentral()
|
|
}
|
|
versionCatalogs {
|
|
// libs.versions.toml is automatically registered.
|
|
create("testLibs") {
|
|
from(files("gradle/test-libs.versions.toml"))
|
|
}
|
|
create("lintLibs") {
|
|
from(files("gradle/lint-libs.versions.toml"))
|
|
}
|
|
}
|
|
}
|
|
|
|
// To build libsignal from source, set the libsignalClientPath property in gradle.properties.
|
|
val libsignalClientPath = if (extra.has("libsignalClientPath")) extra.get("libsignalClientPath") else null
|
|
if (libsignalClientPath is String) {
|
|
includeBuild(rootDir.resolve(libsignalClientPath + "/java")) {
|
|
name = "libsignal-client"
|
|
dependencySubstitution {
|
|
substitute(module("im.molly:libsignal-client")).using(project(":client"))
|
|
substitute(module("im.molly:libsignal-android")).using(project(":android"))
|
|
}
|
|
}
|
|
}
|
|
|
|
includeProject("app")
|
|
includeProject("libsignal-service")
|
|
includeProject("core-gms:base", "core-gms/base")
|
|
includeProject("core-gms:cloud-messaging", "core-gms/cloud-messaging")
|
|
includeProject("core-gms:safeparcel", "core-gms/safeparcel")
|
|
includeProject("core-gms:safeparcel-processor", "core-gms/safeparcel-processor")
|
|
includeProject("core-gms:tasks", "core-gms/tasks")
|
|
includeProject("libnetcipher")
|
|
includeProject("lintchecks")
|
|
includeProject("paging", "paging/lib")
|
|
includeProject("core-util")
|
|
includeProject("core-util-jvm")
|
|
includeProject("core-models")
|
|
includeProject("glide-config")
|
|
includeProject("device-transfer", "device-transfer/lib")
|
|
includeProject("image-editor", "image-editor/lib")
|
|
includeProject("donations", "donations/lib")
|
|
includeProject("debuglogs-viewer", "debuglogs-viewer/lib")
|
|
includeProject("contacts", "contacts/lib")
|
|
includeProject("qr", "qr/lib")
|
|
includeProject("sticky-header-grid")
|
|
includeProject("photoview")
|
|
includeProject("core-ui")
|
|
includeProject("video", "video/lib")
|
|
includeProject("registration", "registration/lib")
|
|
|
|
rootProject.name = "Molly"
|
|
|
|
fun includeProject(projectName: String, projectRoot: String = projectName) {
|
|
val projectId = ":$projectName"
|
|
include(projectId)
|
|
project(projectId).projectDir = file(projectRoot)
|
|
}
|