mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-04 00:45:57 +00:00
improve addonDir addon installation
This commit is contained in:
parent
5de8df188a
commit
db0067a6d9
@ -3,7 +3,6 @@ import java.io.File
|
|||||||
import java.util.function.Predicate
|
import java.util.function.Predicate
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.gradle.jvm.tasks.Jar
|
|
||||||
import org.gradle.kotlin.dsl.extra
|
import org.gradle.kotlin.dsl.extra
|
||||||
import kotlin.streams.asStream
|
import kotlin.streams.asStream
|
||||||
|
|
||||||
@ -12,8 +11,9 @@ import kotlin.streams.asStream
|
|||||||
* Configures a directory where addons will be put.
|
* Configures a directory where addons will be put.
|
||||||
*/
|
*/
|
||||||
fun Project.addonDir(dir: File, task: Task) {
|
fun Project.addonDir(dir: File, task: Task) {
|
||||||
task.dependsOn("compileAddons")
|
val moveAddons = tasks.register("moveAddons" + task.name) {
|
||||||
task.doFirst {
|
dependsOn("compileAddons")
|
||||||
|
doLast {
|
||||||
dir.parentFile.mkdirs()
|
dir.parentFile.mkdirs()
|
||||||
matchingAddons(dir) {
|
matchingAddons(dir) {
|
||||||
it.name.startsWith("Terra-") // Assume everything that starts with Terra- is a core addon.
|
it.name.startsWith("Terra-") // Assume everything that starts with Terra- is a core addon.
|
||||||
@ -34,6 +34,10 @@ fun Project.addonDir(dir: File, task: Task) {
|
|||||||
jar.archiveFile.orNull?.asFile?.copyTo(target)
|
jar.archiveFile.orNull?.asFile?.copyTo(target)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
task.dependsOn(moveAddons)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun matchingAddons(dir: File, matcher: Predicate<File>): Set<File> {
|
fun matchingAddons(dir: File, matcher: Predicate<File>): Set<File> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user