Merge pull request #1913 from liutikas/removesecretsplugin

Move to a custom setup for BuildConfig.BACKEND_URL
pull/1918/head
Don Turner 1 month ago committed by GitHub
commit f73073f88b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -14,12 +14,15 @@
* 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")
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}
android {
@ -34,10 +37,6 @@ android {
}
}
secrets {
defaultPropertiesFileName = "secrets.defaults.properties"
}
dependencies {
api(libs.kotlinx.datetime)
api(projects.core.common)
@ -52,3 +51,22 @@ dependencies {
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))
if (properties.containsKey("BACKEND_URL"))
(properties["BACKEND_URL"] as String)
else "http://example.com"
// Move to returning `properties["BACKEND_URL"] as String?` after upgrading to Gradle 9.0.0
}.orElse("http://example.com")
androidComponents {
onVariants {
it.buildConfigFields.put("BACKEND_URL", backendUrl.map { value ->
BuildConfigField(type = "String", value = """"$value"""", comment = null)
})
}
}

@ -1,4 +0,0 @@
## This file provides default values to modules using the secrets-gradle-plugin. It is necessary
# because the secrets properties file is not under source control so CI builds will fail without
# default values.
BACKEND_URL="http://example.com"
Loading…
Cancel
Save