diff --git a/src/main/kotlin/com/replaymod/gradle/preprocess/PreprocessPlugin.kt b/src/main/kotlin/com/replaymod/gradle/preprocess/PreprocessPlugin.kt index c3d0185..a67a422 100644 --- a/src/main/kotlin/com/replaymod/gradle/preprocess/PreprocessPlugin.kt +++ b/src/main/kotlin/com/replaymod/gradle/preprocess/PreprocessPlugin.kt @@ -37,7 +37,7 @@ class PreprocessPlugin : Plugin { val graph = rootExtension.rootNode ?: throw IllegalStateException("Preprocess graph was not configured.") val projectNode = graph.findNode(project.name) ?: throw IllegalStateException("Prepocess graph does not contain ${project.name}.") - val coreProjectFile = project.file("../mainProject") + val coreProjectFile = rootExtension.mainProjectFile.asFile.get() val coreProject = coreProjectFile.readText().trim() val mcVersion = projectNode.mcVersion project.extra["mcVersion"] = mcVersion diff --git a/src/main/kotlin/com/replaymod/gradle/preprocess/RootPreprocessExtension.kt b/src/main/kotlin/com/replaymod/gradle/preprocess/RootPreprocessExtension.kt index f3ede34..32251f8 100644 --- a/src/main/kotlin/com/replaymod/gradle/preprocess/RootPreprocessExtension.kt +++ b/src/main/kotlin/com/replaymod/gradle/preprocess/RootPreprocessExtension.kt @@ -1,13 +1,21 @@ package com.replaymod.gradle.preprocess +import org.gradle.api.Project +import org.gradle.api.file.RegularFileProperty import java.io.File -open class RootPreprocessExtension : ProjectGraphNodeDSL { +open class RootPreprocessExtension(project: Project) : ProjectGraphNodeDSL { + val mainProjectFile: RegularFileProperty = project.objects.fileProperty() + var rootNode: ProjectGraphNode? = null get() = field ?: linkNodes()?.also { field = it } private val nodes = mutableSetOf() + init { + mainProjectFile.convention(project.layout.projectDirectory.file("versions/mainProject")) + } + fun createNode(project: String, mcVersion: Int, mappings: String): Node { return Node(project, mcVersion, mappings).also { nodes.add(it) } } diff --git a/src/main/kotlin/com/replaymod/gradle/preprocess/RootPreprocessPlugin.kt b/src/main/kotlin/com/replaymod/gradle/preprocess/RootPreprocessPlugin.kt index 2fbb216..4656524 100644 --- a/src/main/kotlin/com/replaymod/gradle/preprocess/RootPreprocessPlugin.kt +++ b/src/main/kotlin/com/replaymod/gradle/preprocess/RootPreprocessPlugin.kt @@ -12,6 +12,6 @@ class RootPreprocessPlugin : Plugin { override fun apply(project: Project) { project.logger.lifecycle("Preprocessor $version") - project.extensions.create("preprocess", RootPreprocessExtension::class) + project.extensions.create("preprocess", RootPreprocessExtension::class, project) } }