Add apk downloader project based on aurora's core
Docker all in one
This commit is contained in:
79
apk-downloader/build.gradle.kts
Normal file
79
apk-downloader/build.gradle.kts
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2026 Aurora OSS
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import org.gradle.api.file.DuplicatesStrategy
|
||||
import org.gradle.api.attributes.Category
|
||||
import org.gradle.api.attributes.Usage
|
||||
import org.gradle.api.attributes.java.TargetJvmEnvironment
|
||||
import org.gradle.api.tasks.JavaExec
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.jetbrains.kotlin.jvm)
|
||||
alias(libs.plugins.jetbrains.kotlin.serialization)
|
||||
application
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
}
|
||||
|
||||
application {
|
||||
mainClass.set("com.aurora.apkdownloader.MainKt")
|
||||
}
|
||||
|
||||
val gplayapiAar by configurations.creating {
|
||||
isCanBeConsumed = false
|
||||
isCanBeResolved = true
|
||||
attributes {
|
||||
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
|
||||
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME))
|
||||
attribute(TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, objects.named("android"))
|
||||
attribute(KotlinPlatformType.attribute, KotlinPlatformType.androidJvm)
|
||||
}
|
||||
}
|
||||
|
||||
val extractedGplayApiJar = layout.buildDirectory.file("gplayapi/gplayapi.jar")
|
||||
val extractGplayApiJar by tasks.registering(Copy::class) {
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
from({ gplayapiAar.files.map { zipTree(it) } }) {
|
||||
include("classes.jar")
|
||||
rename { "gplayapi.jar" }
|
||||
}
|
||||
into(layout.buildDirectory.dir("gplayapi"))
|
||||
}
|
||||
|
||||
dependencies {
|
||||
gplayapiAar(libs.auroraoss.gplayapi)
|
||||
implementation(files(extractedGplayApiJar))
|
||||
implementation("com.google.code.gson:gson:2.14.0")
|
||||
implementation(libs.google.protobuf.javalite)
|
||||
implementation("org.jetbrains.kotlin:kotlin-parcelize-runtime:${libs.versions.kotlin.get()}")
|
||||
implementation(libs.kotlinx.coroutines.core)
|
||||
implementation(libs.kotlinx.serialization.json)
|
||||
implementation(libs.squareup.okhttp)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.google.truth)
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile>().configureEach {
|
||||
dependsOn(extractGplayApiJar)
|
||||
}
|
||||
|
||||
tasks.withType<JavaExec>().configureEach {
|
||||
workingDir = rootProject.projectDir
|
||||
}
|
||||
|
||||
tasks.named<JavaExec>("run") {
|
||||
isIgnoreExitValue = true
|
||||
doLast {
|
||||
val exitValue = executionResult.get().exitValue
|
||||
if (exitValue != 0) {
|
||||
logger.lifecycle("apk-downloader exited with code $exitValue")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user