This commit is contained in:
parent
1ee564c7b2
commit
6da613f1a1
23
.github/workflows/android.yml
vendored
23
.github/workflows/android.yml
vendored
@ -19,13 +19,14 @@ jobs:
|
||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
|
||||
- name: Set up environment variables
|
||||
run: |
|
||||
echo "GPR_USER=${{ github.actor }}" >> $GITHUB_ENV
|
||||
echo "GPR_KEY=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
|
||||
echo "GPR_USER=${{ secrets.GHUB_USER || github.actor }}" >> $GITHUB_ENV
|
||||
echo "GPR_KEY=${{ secrets.GHUB_TOKEN || secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
|
||||
echo "KEY_ALIAS=${{ secrets.KEY_ALIAS }}" >> $GITHUB_ENV
|
||||
echo "KEY_PASSWORD=${{ secrets.KEY_PASSWORD }}" >> $GITHUB_ENV
|
||||
echo "KEYSTORE_PASSWORD=${{ secrets.KEYSTORE_PASSWORD }}" >> $GITHUB_ENV
|
||||
echo "KEYSTORE_BASE64=${{ secrets.KEYSTORE_BASE64 }}" >> $GITHUB_ENV
|
||||
echo "BUILD_NUMBER=${{ github.run_number }}" >> $GITHUB_ENV
|
||||
echo "BASE_URL=${{ secrets.BASE_URL || '"https://github.com/timklge/karoo-powerbar/releases/latest/download"' }}" >> $GITHUB_ENV
|
||||
- uses: actions/checkout@v4
|
||||
- name: set up JDK 17
|
||||
uses: actions/setup-java@v4
|
||||
@ -34,6 +35,9 @@ jobs:
|
||||
distribution: 'temurin'
|
||||
cache: gradle
|
||||
|
||||
- name: Setup Android SDK
|
||||
uses: android-actions/setup-android@v3
|
||||
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Build with Gradle
|
||||
@ -47,12 +51,19 @@ jobs:
|
||||
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: ncipollo/release-action@v1
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
name: ${{ github.ref_name }}
|
||||
prerelease: false
|
||||
generateReleaseNotes: true
|
||||
artifacts: app/build/outputs/apk/release/app-release.apk, app/manifest.json, app/karoo-reminder.png, reminder.png, detail.png, list.png
|
||||
draft: false
|
||||
generate_release_notes: true
|
||||
make_latest: true
|
||||
files: |
|
||||
app/build/outputs/apk/release/app-release.apk
|
||||
app/manifest.json
|
||||
app/karoo-reminder.png
|
||||
reminder.png
|
||||
detail.png
|
||||
list.png
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,3 +9,4 @@
|
||||
.cxx
|
||||
local.properties
|
||||
/app/release
|
||||
app/manifest.json
|
||||
@ -1,3 +1,4 @@
|
||||
import com.android.build.gradle.tasks.ProcessApplicationManifest
|
||||
import org.jose4j.base64url.Base64
|
||||
|
||||
plugins {
|
||||
@ -61,27 +62,36 @@ tasks.register("generateManifest") {
|
||||
group = "build"
|
||||
|
||||
doLast {
|
||||
val baseUrl = System.getenv("BASE_URL") ?: "https://github.com/timklge/karoo-reminder/releases/latest/download"
|
||||
val manifestFile = file("$projectDir/manifest.json")
|
||||
val manifest = mapOf(
|
||||
"label" to "Reminder",
|
||||
"packageName" to "de.timklge.karooreminder",
|
||||
"iconUrl" to "https://github.com/timklge/karoo-reminder/releases/latest/download/karoo-reminder.png",
|
||||
"latestApkUrl" to "https://github.com/timklge/karoo-reminder/releases/latest/download/app-release.apk",
|
||||
"iconUrl" to "$baseUrl/karoo-reminder.png",
|
||||
"latestApkUrl" to "$baseUrl/app-release.apk",
|
||||
"latestVersion" to android.defaultConfig.versionName,
|
||||
"latestVersionCode" to android.defaultConfig.versionCode,
|
||||
"developer" to "github.com/timklge",
|
||||
"description" to "Open-source extension that shows in-ride alerts after a given time interval has passed, distance has been traveled or HR / power / speed / cadence range is exceeded",
|
||||
"releaseNotes" to "* Add rolling average setting for power triggers",
|
||||
"screenshotUrls" to listOf(
|
||||
"https://github.com/timklge/karoo-reminder/releases/latest/download/reminder.png",
|
||||
"https://github.com/timklge/karoo-reminder/releases/latest/download/list.png",
|
||||
"https://github.com/timklge/karoo-reminder/releases/latest/download/detail.png",
|
||||
"$baseUrl/reminder.png",
|
||||
"$baseUrl/list.png",
|
||||
"$baseUrl/detail.png",
|
||||
)
|
||||
)
|
||||
|
||||
val gson = groovy.json.JsonBuilder(manifest).toPrettyString()
|
||||
manifestFile.writeText(gson)
|
||||
println("Generated manifest.json with version ${android.defaultConfig.versionName} (${android.defaultConfig.versionCode})")
|
||||
|
||||
if (System.getenv()["BASE_URL"] != null){
|
||||
val androidManifestFile = file("$projectDir/src/main/AndroidManifest.xml")
|
||||
var androidManifestContent = androidManifestFile.readText()
|
||||
androidManifestContent = androidManifestContent.replace("\$BASE_URL\$", baseUrl)
|
||||
androidManifestFile.writeText(androidManifestContent)
|
||||
println("Replaced \$BASE_URL$ in AndroidManifest.xml")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -89,6 +99,12 @@ tasks.named("assemble") {
|
||||
dependsOn("generateManifest")
|
||||
}
|
||||
|
||||
tasks.withType<ProcessApplicationManifest>().configureEach {
|
||||
if (name == "processDebugMainManifest" || name == "processReleaseMainManifest") {
|
||||
dependsOn(tasks.named("generateManifest"))
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(libs.hammerhead.karoo.ext)
|
||||
implementation(libs.androidx.core.ktx)
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
<!-- Provide Karoo System with information about delivery of your app -->
|
||||
<meta-data
|
||||
android:name="io.hammerhead.karooext.MANIFEST_URL"
|
||||
android:value="https://github.com/timklge/karoo-reminder/releases/latest/download/manifest.json" />
|
||||
android:value="$BASE_URL$/manifest.json" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
Loading…
x
Reference in New Issue
Block a user