mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-10-31 16:22:49 +00:00
03fd288c47
* Upgrade to `rustls-platform-verifier:0.2.0`. This re-enables certificate revocation checks, but v0.2.0 contains a list of CRL servers that can be accessed using clear text requests to check the validity of certain certificates, which should fix the issue that prevented us from using certificate revocation and at the same time strengthening the security of the client app. Since we already had some network configuration in Element X, and `network_security_config.xml` files can't be merged, what we can do is manually download and merge the XML contents using `tools/dependencies/update_rustls_platform_verifier.py` like this: ```sh ./update_rustls_platform_verifier.py 0.2.0 ``` It will automatically bump the Gradle dependency and merge the security config entries. * Bump SDK bindings to `v26.09.28`, containing the rustls bump on the SDK side * Fix unused resources caused by `app/src/main/res/xml/network_security_config_element.xml`
106 lines
3.6 KiB
Kotlin
106 lines
3.6 KiB
Kotlin
/*
|
|
* Copyright (c) 2025 Element Creations Ltd.
|
|
* Copyright 2022-2025 New Vector Ltd.
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
* Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
pluginManagement {
|
|
repositories {
|
|
includeBuild("plugins")
|
|
gradlePluginPortal()
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
dependencyResolutionManagement {
|
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
|
repositories {
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
url = uri("https://github.com/rustls/rustls-platform-verifier/raw/maven-archive/android-release-support/maven/")
|
|
}
|
|
}
|
|
filter {
|
|
includeModule("org.rustls", "rustls-platform-verifier")
|
|
}
|
|
}
|
|
maven {
|
|
url = uri("https://www.jitpack.io")
|
|
content {
|
|
includeModule("com.github.matrix-org", "matrix-analytics-events")
|
|
// Required transitively by androidx.media3:media3-exoplayer-midi for MIDI playback.
|
|
includeModule("com.github.philburk", "jsyn")
|
|
// This is a fork of Konsist that skips hidden folders and files, which otherwise can cause performance issues.
|
|
includeModule("com.github.jmartinesp", "konsist")
|
|
}
|
|
}
|
|
// Check for official Android-related packages only in Google's maven repo
|
|
exclusiveContent {
|
|
forRepository {
|
|
google()
|
|
}
|
|
filter {
|
|
includeGroupByRegex("android\\..*")
|
|
includeGroupByRegex("androidx\\..*")
|
|
includeGroupByRegex("com\\.android\\.tools.*")
|
|
includeGroupByRegex("com\\.google\\.firebase.*")
|
|
includeGroupByRegex("com\\.google\\.android.*")
|
|
}
|
|
}
|
|
mavenCentral()
|
|
maven {
|
|
url = uri("https://repo1.maven.org/maven2/")
|
|
}
|
|
flatDir {
|
|
dirs("libraries/matrix/libs")
|
|
}
|
|
}
|
|
}
|
|
|
|
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
|
|
|
|
rootProject.name = "ElementX"
|
|
include(":app")
|
|
include(":appnav")
|
|
include(":appconfig")
|
|
include(":appicon:element")
|
|
include(":appicon:enterprise")
|
|
include(":tests:detekt-rules")
|
|
include(":tests:konsist")
|
|
include(":tests:uitests")
|
|
include(":tests:testutils")
|
|
include(":annotations")
|
|
include(":codegen")
|
|
|
|
fun includeProjects(directory: File, path: String, maxDepth: Int = 1) {
|
|
directory.listFiles().orEmpty().also { it.sort() }.forEach { file ->
|
|
if (file.isDirectory) {
|
|
val newPath = "$path:${file.name}"
|
|
val buildFile = File(file, "build.gradle.kts")
|
|
if (buildFile.exists()) {
|
|
include(newPath)
|
|
logger.lifecycle("Included project: $newPath")
|
|
} else if (maxDepth > 0) {
|
|
includeProjects(file, newPath, maxDepth - 1)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
includeProjects(File(rootDir, "enterprise"), ":enterprise", maxDepth = 2)
|
|
includeProjects(File(rootDir, "features"), ":features")
|
|
includeProjects(File(rootDir, "libraries"), ":libraries")
|
|
includeProjects(File(rootDir, "services"), ":services")
|
|
|
|
// Uncomment to include the compound-android module as a local dependency so you can work on it locally.
|
|
// You will also need to clone it in the specified folder.
|
|
// includeBuild("checkouts/compound-android") {
|
|
// dependencySubstitution {
|
|
// // substitute remote dependency with local module
|
|
// substitute(module("io.element.android:compound-android")).using(project(":compound"))
|
|
// }
|
|
// }
|