diff --git a/core/src/main/java/com/volmit/iris/core/loader/IrisData.java b/core/src/main/java/com/volmit/iris/core/loader/IrisData.java index 5edd4ba9f..1bfcd1ba2 100644 --- a/core/src/main/java/com/volmit/iris/core/loader/IrisData.java +++ b/core/src/main/java/com/volmit/iris/core/loader/IrisData.java @@ -284,6 +284,7 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { public void close() { closed = true; dump(); + dataLoaders.remove(dataFolder); } public IrisData copy() { diff --git a/core/src/main/java/com/volmit/iris/core/project/IrisProject.java b/core/src/main/java/com/volmit/iris/core/project/IrisProject.java index 8c2f17252..716173bd6 100644 --- a/core/src/main/java/com/volmit/iris/core/project/IrisProject.java +++ b/core/src/main/java/com/volmit/iris/core/project/IrisProject.java @@ -355,7 +355,7 @@ public class IrisProject { settings.put("json.schemas", schemas); ws.put("settings", settings); - SimpleEnvironment.create().configureProject(path); + dm.getEnvironment().configureProject(); File schemasFile = new File(path, ".idea" + File.separator + "jsonSchemas.xml"); Document doc = IO.read(schemasFile); Element mappings = (Element) doc.selectSingleNode("//component[@name='JsonSchemaMappingsProjectConfiguration']"); diff --git a/core/src/main/java/com/volmit/iris/core/scripting/environment/SimpleEnvironment.java b/core/src/main/java/com/volmit/iris/core/scripting/environment/SimpleEnvironment.java index 2c07c0d81..4eb7e0ce8 100644 --- a/core/src/main/java/com/volmit/iris/core/scripting/environment/SimpleEnvironment.java +++ b/core/src/main/java/com/volmit/iris/core/scripting/environment/SimpleEnvironment.java @@ -12,7 +12,11 @@ public interface SimpleEnvironment { return new IrisSimpleExecutionEnvironment(); } - void configureProject(@NonNull File projectDir); + static SimpleEnvironment create(@NonNull File projectDir) { + return new IrisSimpleExecutionEnvironment(projectDir); + } + + void configureProject(); void execute(@NonNull String script); diff --git a/core/src/main/kotlin/com/volmit/iris/core/scripting/kotlin/environment/IrisSimpleExecutionEnvironment.kt b/core/src/main/kotlin/com/volmit/iris/core/scripting/kotlin/environment/IrisSimpleExecutionEnvironment.kt index 2bb96e768..bcc955954 100644 --- a/core/src/main/kotlin/com/volmit/iris/core/scripting/kotlin/environment/IrisSimpleExecutionEnvironment.kt +++ b/core/src/main/kotlin/com/volmit/iris/core/scripting/kotlin/environment/IrisSimpleExecutionEnvironment.kt @@ -77,14 +77,14 @@ open class IrisSimpleExecutionEnvironment( return null } - override fun configureProject(projectDir: File) { - projectDir.mkdirs() + override fun configureProject() { + runner.baseDir.mkdirs() val libs = listOf(javaClass.classLoader.classpath, KotlinScript::class.java.classLoader.classpath) .flatMap { it } .sortedBy { it.absolutePath } .toMutableList() - File(projectDir, "build.gradle.kts") + File(runner.baseDir, "build.gradle.kts") .updateClasspath(libs) } diff --git a/core/src/main/kotlin/com/volmit/iris/core/scripting/kotlin/runner/ScriptRunner.kt b/core/src/main/kotlin/com/volmit/iris/core/scripting/kotlin/runner/ScriptRunner.kt index 887d346b4..04b3b535d 100644 --- a/core/src/main/kotlin/com/volmit/iris/core/scripting/kotlin/runner/ScriptRunner.kt +++ b/core/src/main/kotlin/com/volmit/iris/core/scripting/kotlin/runner/ScriptRunner.kt @@ -19,7 +19,7 @@ import kotlin.script.experimental.jvmhost.BasicJvmScriptingHost class ScriptRunner( private val host: BasicJvmScriptingHost, - private val baseDir: File + val baseDir: File ) { constructor(baseDir: File) : this(BasicJvmScriptingHost(), baseDir)