mirror of
https://github.com/mihonapp/mihon.git
synced 2026-10-16 13:48:09 -07:00
Simplify build flags setup with distribution profile
This commit is contained in:
@@ -62,7 +62,7 @@ jobs:
|
||||
path: app/build/reports/tests/testDebugUnitTest
|
||||
|
||||
- name: Build app
|
||||
run: ./gradlew assembleRelease -Pinclude-telemetry -Penable-updater
|
||||
run: ./gradlew assembleRelease -Pdist=ci
|
||||
|
||||
- name: Upload APK
|
||||
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
|
||||
|
||||
- name: Build
|
||||
run: ./gradlew assembleRelease -Pinclude-telemetry -Penable-updater
|
||||
run: ./gradlew assembleRelease -Pdist=github
|
||||
env:
|
||||
storeFile: ${{ runner.temp }}/antsy.keystore
|
||||
storePassword: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||
@@ -106,7 +106,7 @@ jobs:
|
||||
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
|
||||
|
||||
- name: Build
|
||||
run: ./gradlew assembleFoss -Penable-updater
|
||||
run: ./gradlew assembleFoss -Pdist=foss
|
||||
env:
|
||||
storeFile: ${{ runner.temp }}/antsy.keystore
|
||||
storePassword: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||
|
||||
@@ -8,8 +8,31 @@ interface BuildConfig {
|
||||
val includeDependencyInfo: Boolean
|
||||
}
|
||||
|
||||
val Project.Config: BuildConfig get() = object : BuildConfig {
|
||||
override val includeTelemetry: Boolean = project.hasProperty("include-telemetry")
|
||||
override val enableUpdater: Boolean = project.hasProperty("enable-updater")
|
||||
override val includeDependencyInfo: Boolean = project.hasProperty("include-dependency-info")
|
||||
private enum class Distribution {
|
||||
LOCAL,
|
||||
CI,
|
||||
GITHUB,
|
||||
FOSS,
|
||||
}
|
||||
|
||||
val Project.Config: BuildConfig get() = object : BuildConfig {
|
||||
private val distribution: Distribution = project.providers.gradleProperty("dist").orNull
|
||||
?.let { name ->
|
||||
Distribution.entries.firstOrNull { it.name.equals(name, ignoreCase = true) }
|
||||
?: error("Unknown -Pdist=$name, expected one of $distributionNames")
|
||||
}
|
||||
?: Distribution.LOCAL
|
||||
|
||||
override val includeTelemetry: Boolean = project.flag("include-telemetry")
|
||||
?: (distribution == Distribution.CI || distribution == Distribution.GITHUB)
|
||||
|
||||
override val enableUpdater: Boolean = project.flag("enable-updater")
|
||||
?: (distribution != Distribution.LOCAL)
|
||||
|
||||
override val includeDependencyInfo: Boolean = project.flag("include-dependency-info") ?: false
|
||||
}
|
||||
|
||||
private val distributionNames = Distribution.entries.joinToString { it.name.lowercase() }
|
||||
|
||||
private fun Project.flag(name: String): Boolean? = providers.gradleProperty(name).orNull
|
||||
?.let { it.isEmpty() || it.toBoolean() }
|
||||
|
||||
Reference in New Issue
Block a user