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
|
- name: Build with Gradle
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: ./gradlew build
|
run: ./gradlew build clean
|
||||||
- name: Install Android build-tools
|
- name: Install Android build-tools
|
||||||
run: sdkmanager "build-tools;32.0.0"
|
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
|
- name: Setup semantic-release
|
||||||
run: npm install -g semantic-release @semantic-release/git @semantic-release/changelog gradle-semantic-release-plugin -D
|
run: npm install -g semantic-release @semantic-release/git @semantic-release/changelog gradle-semantic-release-plugin -D
|
||||||
- name: Release
|
- name: Release
|
||||||
|
|
|
@ -22,12 +22,25 @@ dependencies {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks {
|
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.
|
// Dummy task to fix the Gradle semantic-release plugin.
|
||||||
// Remove this if you forked it to support building only.
|
// Remove this if you forked it to support building only.
|
||||||
// Tracking issue: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435
|
// Tracking issue: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435
|
||||||
register<DefaultTask>("publish") {
|
register<DefaultTask>("publish") {
|
||||||
group = "publish"
|
group = "publish"
|
||||||
description = "Dummy task"
|
description = "Dummy task"
|
||||||
dependsOn(build)
|
dependsOn(named("generateDex"))
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue