feat: generate dex files using gradle task
This commit is contained in:
parent
2c336e11b7
commit
c34c1be21f
11
.github/workflows/release.yml
vendored
11
.github/workflows/release.yml
vendored
|
@ -35,18 +35,9 @@ jobs:
|
|||
- name: Build with Gradle
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./gradlew build
|
||||
run: ./gradlew build clean
|
||||
- name: Install Android build-tools
|
||||
run: sdkmanager "build-tools;32.0.0"
|
||||
- name: Generate Patches DEX
|
||||
run: |
|
||||
mkdir -p bin
|
||||
fn=$(find build/libs -maxdepth 1 | grep -P "[\d]+\.jar")
|
||||
out=bin/$(basename "$fn" | sed 's/jar/dex/g')
|
||||
$ANDROID_HOME/build-tools/32.0.0/d8 $fn
|
||||
mv *.dex $out
|
||||
- name: Clean build
|
||||
run: ./gradlew clean
|
||||
- name: Setup semantic-release
|
||||
run: npm install -g semantic-release @semantic-release/git @semantic-release/changelog gradle-semantic-release-plugin -D
|
||||
- name: Release
|
||||
|
|
|
@ -22,12 +22,25 @@ dependencies {
|
|||
}
|
||||
|
||||
tasks {
|
||||
register<Exec>("generateDex") {
|
||||
description = "Generate dex files from build"
|
||||
dependsOn(build)
|
||||
|
||||
val androidHome = System.getenv("ANDROID_HOME") ?: throw GradleException("ANDROID_HOME not found")
|
||||
val d8 = "${androidHome}/build-tools/32.0.0/d8"
|
||||
val input = build.get().outputs.files.singleFile.absolutePath
|
||||
val output = input.replace(".jar", ".dex")
|
||||
|
||||
workingDir = File("${buildDir}/libs")
|
||||
commandLine = listOf(d8, input)
|
||||
commandLine = listOf("mv", "*.dex", output)
|
||||
}
|
||||
// Dummy task to fix the Gradle semantic-release plugin.
|
||||
// Remove this if you forked it to support building only.
|
||||
// Tracking issue: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435
|
||||
register<DefaultTask>("publish") {
|
||||
group = "publish"
|
||||
description = "Dummy task"
|
||||
dependsOn(build)
|
||||
dependsOn(named("generateDex"))
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue