JarExtractor.ktURLClassLoader for the scripting engine.Checks whether the code source location starts with "jar:", indicating execution from a fat JAR. If not (e.g., running in IDE), skips extraction and uses the current classpath.
ProjectForge-extracted-jar temp directory, deleting any previous copy.JarFile..jar file matching the configured regex patterns (projectforge-business, projectforge-common, poi, poi-ooxml, merlin-core, and plugin jars), extracts to the temp directory.classpathFiles list and classpathUrls array for use by URLClassLoader.The git history shows extensive struggles (commits de4d8d2af, 302470ef9, 7617cf5da, 31545575d) to get Kotlin scripting working in the fat JAR. Multiple approaches were tried before settling on JAR extraction.
868d6abb7 2025 -> 2026 63081666f Source file headers: 2024-> 2025. b0058e39e WIP 0c7685b60 WIP: gradle... 921638f43 WIP