Add inputs & output definitions to script assembler plugin
Also have assembler scripts be output into build directory Partially fixes #2665
This commit is contained in:
@@ -148,6 +148,12 @@ tasks {
|
||||
archiveClassifier.set("shaded")
|
||||
}
|
||||
|
||||
processResources {
|
||||
dependsOn(":runelite-script-assembler-plugin:indexMojo")
|
||||
|
||||
from("${buildDir}/scripts")
|
||||
}
|
||||
|
||||
withType<BootstrapTask> {
|
||||
group = "openosrs"
|
||||
}
|
||||
|
||||
@@ -39,28 +39,34 @@ dependencies {
|
||||
|
||||
tasks {
|
||||
register<JavaExec>("assembleMojo") {
|
||||
inputs.files(
|
||||
fileTree("${project.extra["rootPath"]}/runelite-client/src/main/scripts")
|
||||
)
|
||||
|
||||
outputs.dir("${project.extra["rootPath"]}/runelite-client/build/scripts/runelite");
|
||||
|
||||
classpath = project.sourceSets.main.get().runtimeClasspath
|
||||
main = "net.runelite.script.AssembleMojo"
|
||||
args(listOf(
|
||||
"${project.extra["rootPath"]}/runelite-client/src/main/scripts",
|
||||
"${project.extra["rootPath"]}/runelite-client/src/main/resources/runelite"
|
||||
"${project.extra["rootPath"]}/runelite-client/build/scripts/runelite"
|
||||
))
|
||||
}
|
||||
|
||||
register<JavaExec>("indexMojo") {
|
||||
inputs.files(
|
||||
fileTree("${project.extra["rootPath"]}/runelite-client/build/scripts/runelite")
|
||||
)
|
||||
|
||||
outputs.file("${project.extra["rootPath"]}/runelite-client/build/scripts/runelite/index");
|
||||
|
||||
dependsOn("assembleMojo")
|
||||
|
||||
classpath = project.sourceSets.main.get().runtimeClasspath
|
||||
main = "net.runelite.script.IndexMojo"
|
||||
args(listOf(
|
||||
"${project.extra["rootPath"]}/runelite-client/src/main/resources/runelite",
|
||||
"${project.extra["rootPath"]}/runelite-client/src/main/resources/runelite/index"
|
||||
"${project.extra["rootPath"]}/runelite-client/build/scripts/runelite",
|
||||
"${project.extra["rootPath"]}/runelite-client/build/scripts/runelite/index"
|
||||
))
|
||||
}
|
||||
|
||||
compileJava {
|
||||
outputs.upToDateWhen {false}
|
||||
|
||||
finalizedBy("indexMojo")
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,8 @@
|
||||
package net.runelite.script;
|
||||
|
||||
import com.google.common.io.Files;
|
||||
import com.google.common.io.MoreFiles;
|
||||
import com.google.common.io.RecursiveDeleteOption;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
@@ -86,6 +88,16 @@ public class AssembleMojo extends AbstractMojo
|
||||
File scriptOut = new File(outputDirectory, Integer.toString(IndexType.CLIENTSCRIPT.getNumber()));
|
||||
scriptOut.mkdirs();
|
||||
|
||||
// Clear the target directory to remove stale entries
|
||||
try
|
||||
{
|
||||
MoreFiles.deleteDirectoryContents(scriptOut.toPath(), RecursiveDeleteOption.ALLOW_INSECURE);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
throw new MojoExecutionException("Could not clear scriptOut: " + scriptOut, e);
|
||||
}
|
||||
|
||||
for (File scriptFile : scriptDirectory.listFiles((dir, name) -> name.endsWith(".rs2asm")))
|
||||
{
|
||||
log.debug("Assembling " + scriptFile);
|
||||
|
||||
Reference in New Issue
Block a user