bundle addons in JAR

This commit is contained in:
dfsek
2021-07-10 21:17:21 -07:00
parent 3dc564c0f7
commit 3f539b1e30
3 changed files with 45 additions and 15 deletions
@@ -2,6 +2,7 @@ package com.dfsek.terra
import org.gradle.api.Project
import org.gradle.api.Task
import org.gradle.jvm.tasks.Jar
import org.gradle.kotlin.dsl.withType
import org.gradle.language.jvm.tasks.ProcessResources
import java.io.File
@@ -23,7 +24,7 @@ fun Project.addonDir(dir: File, task: Task) {
it.delete()
}
project(":common:addons").subprojects.forEach { addonProject ->
val jar = (addonProject.tasks.named("jar").get() as org.gradle.jvm.tasks.Jar);
val jar = (addonProject.tasks.named("jar").get() as Jar)
val target = File(dir, jar.archiveFileName.get())
@@ -37,17 +38,7 @@ fun Project.addonDir(dir: File, task: Task) {
}
fun matchingAddons(dir: File, matcher: Predicate<File>): Set<File> {
val matching = HashSet<File>();
val matching = HashSet<File>()
dir.walk().maxDepth(1).asStream().filter(matcher).forEach(matching::add)
return matching;
return matching
}
fun Project.configureAddons() {
tasks.withType<ProcessResources> {
project(":common:addons").subprojects.forEach {
it.afterEvaluate {
dependsOn(it.tasks.getByName("build")) // Depend on addon JARs
}
}
}
}