mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
Resolve element-call-android from its GitHub releases
The component and the matrix-rust-rtc core publish as GitHub release assets rather than to Maven, so two filtered ivy repositories resolve them; both become plain coordinates the day they reach Maven Central. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -64,6 +64,8 @@ detekt_compose_rules = "0.4.28"
|
|||||||
ktlint = "1.8.0"
|
ktlint = "1.8.0"
|
||||||
androidx-test-ext-junit = "1.3.0"
|
androidx-test-ext-junit = "1.3.0"
|
||||||
kover = "0.9.9"
|
kover = "0.9.9"
|
||||||
|
# The native MatrixRTC call component, https://github.com/element-hq/element-call-android
|
||||||
|
element_call = "0.1.0-rc.2"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
# Project
|
# Project
|
||||||
@@ -182,7 +184,11 @@ test_detekt_test = { module = "io.gitlab.arturbosch.detekt:detekt-test", version
|
|||||||
# https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt
|
# https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt
|
||||||
# All new features should not be implemented in the pull request that upgrades the version, developers should
|
# All new features should not be implemented in the pull request that upgrades the version, developers should
|
||||||
# only fix API breaks and may add some TODOs.
|
# only fix API breaks and may add some TODOs.
|
||||||
matrix_sdk = "org.matrix.rustcomponents:sdk-android:26.09.28"
|
# `strictly` because element-call-matrix is a published AAR compiled against one SDK version and declares
|
||||||
|
# it as a plain `require`: without this, a library built against a newer SDK would silently drag this app
|
||||||
|
# onto it. With it, this pin always wins, and a library that needs something newer fails at configuration
|
||||||
|
# time naming both versions instead of at runtime with NoSuchMethodError.
|
||||||
|
matrix_sdk = { module = "org.matrix.rustcomponents:sdk-android", version = { strictly = "26.09.28" } }
|
||||||
rustls_platform_verifier = "org.rustls:rustls-platform-verifier:0.2.0"
|
rustls_platform_verifier = "org.rustls:rustls-platform-verifier:0.2.0"
|
||||||
|
|
||||||
# Others
|
# Others
|
||||||
@@ -236,6 +242,13 @@ metro_runtime = { module = "dev.zacsweers.metro:runtime", version.ref = "metro"
|
|||||||
|
|
||||||
# Element Call
|
# Element Call
|
||||||
element_call_embedded = "io.element.android:element-call-embedded:0.26.0"
|
element_call_embedded = "io.element.android:element-call-embedded:0.26.0"
|
||||||
|
# The native MatrixRTC call component. Versions come from the BOM, so every artifact moves together.
|
||||||
|
element_call_bom = { module = "io.element.android:element-call-bom", version.ref = "element_call" }
|
||||||
|
element_call_api = { module = "io.element.android:element-call-api" }
|
||||||
|
element_call_impl = { module = "io.element.android:element-call" }
|
||||||
|
element_call_ui = { module = "io.element.android:element-call-ui" }
|
||||||
|
element_call_matrix = { module = "io.element.android:element-call-matrix" }
|
||||||
|
element_call_test = { module = "io.element.android:element-call-test" }
|
||||||
|
|
||||||
# Auto services
|
# Auto services
|
||||||
google_autoservice = { module = "com.google.auto.service:auto-service", version.ref = "autoservice" }
|
google_autoservice = { module = "com.google.auto.service:auto-service", version.ref = "autoservice" }
|
||||||
|
|||||||
@@ -57,6 +57,48 @@ dependencyResolutionManagement {
|
|||||||
flatDir {
|
flatDir {
|
||||||
dirs("libraries/matrix/libs")
|
dirs("libraries/matrix/libs")
|
||||||
}
|
}
|
||||||
|
// Temporary: the native call component and the matrix-rust-rtc core publish as GitHub release
|
||||||
|
// assets, which carry full Maven metadata. Both blocks go once they reach Maven Central.
|
||||||
|
ivy {
|
||||||
|
url = uri("https://github.com/element-hq/element-call-android/releases/download")
|
||||||
|
patternLayout { artifact("v[revision]/[artifact]-[revision](-[classifier])(.[ext])") }
|
||||||
|
metadataSources { gradleMetadata() }
|
||||||
|
content {
|
||||||
|
// Per module: `element-call.*` would also catch element-call-embedded, the WebView call.
|
||||||
|
includeModule("io.element.android", "element-call-bom")
|
||||||
|
includeModule("io.element.android", "element-call-api")
|
||||||
|
includeModule("io.element.android", "element-call")
|
||||||
|
includeModule("io.element.android", "element-call-ui")
|
||||||
|
includeModule("io.element.android", "element-call-matrix")
|
||||||
|
includeModule("io.element.android", "element-call-test")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ivy {
|
||||||
|
url = uri("https://github.com/element-hq/matrix-rust-rtc/releases/download")
|
||||||
|
patternLayout { artifact("v[revision]/[artifact]-[revision](-[classifier])(.[ext])") }
|
||||||
|
// The core ships an AAR and nothing else; element-call's module metadata names it with an
|
||||||
|
// explicit aar artifact selector, so it needs no POM.
|
||||||
|
metadataSources { artifact() }
|
||||||
|
content { includeModule("io.element.android", "matrix-rtc-android") }
|
||||||
|
}
|
||||||
|
// Also temporary: testing an unreleased element-call-android build. Publish it there with
|
||||||
|
// `publishToMavenLocal -PVERSION_NAME=0.1.0-local`, then build here with
|
||||||
|
// `-PelementCallLocalVersion=0.1.0-local`. Absent without the property, so that everything
|
||||||
|
// resolves for a contributor who has never built the library.
|
||||||
|
providers.gradleProperty("elementCallLocalVersion").orNull?.let { elementCallVersion ->
|
||||||
|
logger.lifecycle("Note: resolving io.element.android:element-call-* $elementCallVersion from mavenLocal")
|
||||||
|
mavenLocal {
|
||||||
|
content {
|
||||||
|
// Per module: compound-android and element-call-embedded stay on Maven Central.
|
||||||
|
includeModule("io.element.android", "element-call-bom")
|
||||||
|
includeModule("io.element.android", "element-call-api")
|
||||||
|
includeModule("io.element.android", "element-call")
|
||||||
|
includeModule("io.element.android", "element-call-ui")
|
||||||
|
includeModule("io.element.android", "element-call-matrix")
|
||||||
|
includeModule("io.element.android", "element-call-test")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user