From 1e3f75455c82638ec7f1104d2059d0d270466df9 Mon Sep 17 00:00:00 2001 From: Xisheng-Zhao Date: Wed, 3 Jun 2026 18:45:29 +0800 Subject: [PATCH] Prepare public-only GitHub publication --- app/build.gradle | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 0c731de..fb4cef1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,18 +4,32 @@ plugins { id "org.jetbrains.kotlin.plugin.compose" } -def umengPublicAppKey = providers.gradleProperty("multicaUmengPublicAppKey") - .orElse("") - .get() -def postHogPublicApiKey = providers.gradleProperty("multicaPostHogPublicApiKey") - .orElse("") - .get() -def postHogPublicHost = providers.gradleProperty("multicaPostHogPublicHost") - .orElse("https://us.i.posthog.com") - .get() -def analyticsRoute = providers.gradleProperty("multicaAnalyticsRoute") - .orElse("auto") - .get() +def localProperties = new Properties() +def localPropertiesFile = rootProject.file("local.properties") +if (localPropertiesFile.exists()) { + localPropertiesFile.withInputStream { localProperties.load(it) } +} + +def configValue = { String propertyName, String environmentName, String defaultValue -> + def localValue = localProperties.getProperty(propertyName) + if (localValue != null && !localValue.isBlank()) { + return localValue + } + def gradleValue = providers.gradleProperty(propertyName).orNull + if (gradleValue != null && !gradleValue.isBlank()) { + return gradleValue + } + def environmentValue = providers.environmentVariable(environmentName).orNull + if (environmentValue != null && !environmentValue.isBlank()) { + return environmentValue + } + return defaultValue +} + +def umengPublicAppKey = configValue("multicaUmengPublicAppKey", "MULTICA_UMENG_PUBLIC_APP_KEY", "") +def postHogPublicApiKey = configValue("multicaPostHogPublicApiKey", "MULTICA_POSTHOG_PUBLIC_API_KEY", "") +def postHogPublicHost = configValue("multicaPostHogPublicHost", "MULTICA_POSTHOG_PUBLIC_HOST", "https://us.i.posthog.com") +def analyticsRoute = configValue("multicaAnalyticsRoute", "MULTICA_ANALYTICS_ROUTE", "auto") android { namespace "ai.multica.app"