0.1.0-0-pre.9-fix.1
This commit is contained in:
@@ -1,22 +1,44 @@
|
||||
// file: Android/gradle/sasedev-assets.gradle
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
def generatedAssetsDirectory = layout.buildDirectory.dir("generated/sasedevAssets/main")
|
||||
def sourceCommonAssets = rootProject.file("../assets/common")
|
||||
def sourceGameAssets = rootProject.file("../assets/${project.ext.sasedevGameAssetDirectory}")
|
||||
abstract class StageSasedevAssetsTask extends DefaultTask {
|
||||
@InputDirectory
|
||||
abstract DirectoryProperty getCommonAssetsDirectory()
|
||||
|
||||
tasks.register("stageSasedevAssets", Sync) {
|
||||
into(generatedAssetsDirectory)
|
||||
from(sourceCommonAssets) {
|
||||
into("common")
|
||||
}
|
||||
from(sourceGameAssets) {
|
||||
into("game")
|
||||
@InputDirectory
|
||||
abstract DirectoryProperty getGameAssetsDirectory()
|
||||
|
||||
@OutputDirectory
|
||||
abstract DirectoryProperty getOutputDirectory()
|
||||
|
||||
@TaskAction
|
||||
void stageAssets() {
|
||||
def output = outputDirectory.get().asFile
|
||||
project.delete(output)
|
||||
|
||||
project.copy {
|
||||
from(commonAssetsDirectory)
|
||||
into(new File(output, "common"))
|
||||
}
|
||||
|
||||
project.copy {
|
||||
from(gameAssetsDirectory)
|
||||
into(new File(output, "game"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
android.sourceSets.main.assets.srcDir(generatedAssetsDirectory)
|
||||
androidComponents {
|
||||
onVariants(selector().all()) { variant ->
|
||||
def capitalizedVariantName = variant.name.substring(0, 1).toUpperCase() + variant.name.substring(1)
|
||||
def stageTask = tasks.register("stage${capitalizedVariantName}SasedevAssets", StageSasedevAssetsTask) {
|
||||
commonAssetsDirectory.set(rootProject.layout.projectDirectory.dir("../assets/common"))
|
||||
gameAssetsDirectory.set(rootProject.layout.projectDirectory.dir("../assets/${project.ext.sasedevGameAssetDirectory}"))
|
||||
outputDirectory.set(layout.buildDirectory.dir("generated/sasedevAssets/${variant.name}"))
|
||||
}
|
||||
|
||||
tasks.named("preBuild").configure {
|
||||
dependsOn(tasks.named("stageSasedevAssets"))
|
||||
variant.sources.assets.addGeneratedSourceDirectory(stageTask) { task ->
|
||||
task.outputDirectory
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user