Maptiler custom map ids are only useable by the account that create them. So if we hardcode them forkers won't be able to use the maps even if the bring in their own api key (because they can't access our maps with their api key). Requires to set our map ids in `local.properties` for local development: ``` services.maptiler.lightMapId=9bc819c8-e627-474a-a348-ec144fe3d810 services.maptiler.darkMapId=dea61faf-292b-4774-9660-58fcef89a7f3 ```
71 lines
2.3 KiB
Kotlin
71 lines
2.3 KiB
Kotlin
/*
|
|
* Copyright (c) 2022 New Vector Ltd
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import java.util.Properties
|
|
|
|
plugins {
|
|
id("io.element.android-compose-library")
|
|
alias(libs.plugins.ksp)
|
|
id("kotlin-parcelize")
|
|
}
|
|
|
|
fun readLocalProperty(name: String): String? = Properties().apply {
|
|
try {
|
|
load(rootProject.file("local.properties").reader())
|
|
} catch (ignored: java.io.IOException) {
|
|
}
|
|
}.getProperty(name)
|
|
|
|
android {
|
|
namespace = "io.element.android.features.location.api"
|
|
|
|
defaultConfig {
|
|
resValue(
|
|
type = "string",
|
|
name = "maptiler_api_key",
|
|
value = System.getenv("ELEMENT_ANDROID_MAPTILER_API_KEY")
|
|
?: readLocalProperty("services.maptiler.apikey")
|
|
?: ""
|
|
)
|
|
resValue(
|
|
type = "string",
|
|
name = "maptiler_light_map_id",
|
|
value = System.getenv("ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID")
|
|
?: readLocalProperty("services.maptiler.lightMapId")
|
|
?: "basic-v2" // fall back to maptiler's default light map.
|
|
)
|
|
resValue(
|
|
type = "string",
|
|
name = "maptiler_dark_map_id",
|
|
value = System.getenv("ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID")
|
|
?: readLocalProperty("services.maptiler.darkMapId")
|
|
?: "basic-v2-dark" // fall back to maptiler's default dark map.
|
|
)
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(projects.libraries.architecture)
|
|
implementation(projects.libraries.designsystem)
|
|
implementation(projects.libraries.core)
|
|
implementation(projects.libraries.matrixui)
|
|
implementation(projects.libraries.uiStrings)
|
|
implementation(libs.coil.compose)
|
|
ksp(libs.showkase.processor)
|
|
|
|
testImplementation(libs.test.junit)
|
|
testImplementation(libs.test.truth)
|
|
}
|