forked from ReplayMod/preprocessor
-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
enhancementNew feature or requestNew feature or request
Description
I've created the following mock-up for the in-settings DSL:
preprocess {
create(rootProject) {
// Now acts as a true root build file for the project passed to `create`.
// This script no longer needs to handle nodes, as they're handled below.
// OPTIONAL! Can be left unset
rootBuildScript = "root.gradle.kts" // Relative to the project's directory
// `root` sets that node as the root node, aka your "branch" node
// this acts as the head from which all subsequent nodes will remap from
//
// `node` takes the subproject (auto-generated) name and the version number
// as an integer representation, empty spaces 0-padded (aside from the major)
root(node("1.21.8-neoforge", 1_21_08))
// `to` links to the given node and returns it back, making you chain `to`
// calls to link consecutive nodes. extra mappings will be configurable via
// a sealed interface, either letting the plugin decide the filename for you
// (while making you select path still), or giving you reign over the full path
// (`EM` for short, as to keep lines readable... `"mappings"` here is the relative path)
.to(node("1.21.8-fabric", 1_21_08, EM.named("mappings")))
// of course, it must still be in correct order
.to(node("1.21.7-fabric", 1_21_07) {
// You can pass a block to `node` which lets you configure some things,
// such as the `Project` it's tied to should you not want it to be done
// auto-magically in the background
include(":fabric-1.21.7") // Different name!
project = project(":fabric-1.21.7")
}).to(...) // And then right back to linking more nodes...
}
}This also entirely removes the requirement of any form of root.gradle.kts.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request