platform/jps-bootstrap/README.md
jps-bootstrap: a small utility that loads JPS project, compiles it, and runs any class from it.
It tries very hard to run your code that same way you'd run it from IDE's gutter.
Locally: run *.gant from IDEA or via gant.xml
On buildserver: gant.xml
Downsides:
Run the CLASS_NAME from IDEA from the gutter ▶️ icon, or
Run any main class (written in Java/Kotlin) from the IntelliJ project from CLI via:
./jps-bootstrap.cmd PROJECT_HOME MODULE_NAME CLASS_NAME ARGS
Where PROJECT_HOME is the path where the .idea folder is (either the ultimate or community root), the MODULE_NAME is the name of
the JPS module that contains the class, and CLASS_NAME is the FQN of the class that contains the main() to run.
Example:
./community/platform/jps-bootstrap/jps-bootstrap.sh . intellij.idea.ultimate.build DownloadLibrariesBuildTarget
Special wrappers could be written to make scripts easier, see e.g. build/downloadLibraries.cmd