/* * Copyright 2022 The Android Open Source Project * * 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 * * https://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 com.android.build.api.variant.BuildConfigField import java.io.StringReader import java.util.Properties plugins { alias(libs.plugins.nowinandroid.android.library) alias(libs.plugins.nowinandroid.android.library.jacoco) alias(libs.plugins.nowinandroid.hilt) id("kotlinx-serialization") } android { buildFeatures { buildConfig = true } namespace = "com.google.samples.apps.nowinandroid.core.network" testOptions.unitTests.isIncludeAndroidResources = true } dependencies { api(libs.kotlinx.datetime) api(projects.core.common) api(projects.core.model) implementation(libs.coil.kt) implementation(libs.coil.kt.svg) implementation(libs.kotlinx.serialization.json) implementation(libs.okhttp.logging) implementation(libs.retrofit.core) implementation(libs.retrofit.kotlin.serialization) testImplementation(libs.kotlinx.coroutines.test) } val backendUrl = providers.fileContents( isolated.rootProject.projectDirectory.file("local.properties") ).asText.map { text -> val properties = Properties() properties.load(StringReader(text)) properties["BACKEND_URL"] }.orElse("http://example.com") androidComponents { onVariants { it.buildConfigFields!!.put("BACKEND_URL", backendUrl.map { value -> BuildConfigField(type = "String", value = """"$value"""", comment = null) }) } }