Generates a shell script which lets you easily run your main class without SBT (much faster than sbt run!).
The plugin is hosted in sbt-plugin-releases repository so you can simply add the following line to your global ~/.sbt/0.13/plugins/plugins.sbt to make it available in all of your projects:
addSbtPlugin("pl.tues" % "sbt-runfast" % "0.1")Alternatively, you can enable it per-project by adding the above line to <your-project>/project/plugins.sbt.
Next, run:
sbt runfastGenerateinside your project. It will generate a script called runfast.sh in the target/ directory. Running your program now is straightforward:
target/runfast.shThe script uses absolute paths, so you can run it from anywhere:
/path/to/your/project/target/runfast.shYou can even copy it somewhere else and run from there.
The script passes all arguments to your program. This was actually the reason I wrote the plugin, as I wanted to use Bash's temporary files as arguments to my program:
target/runfast.sh foo <(grep bar baz | head)Speed is a nice side-effect.
This plugin requires sbt 0.13.5+, /bin/bash and chmod. I might add support for other platforms in the future, but I don't need it myself, so contributions are welcome.
The plugin simply generates a file target/runfast.sh containing something like:
#!/bin/bash
java -cp '<fullClasspath>' '<mainClass>'Really simple, but saves a lot of time!
Got an idea how to improve the code, tests or docs? All contributions are welcome!
It's really simple, just run:
sbt publishLocaland the plugin will be published to your local repository (e.g. ~/.ivy2/local/). You can then change the version in your plugins.sbt:
addSbtPlugin("pl.tues" % "sbt-runfast" % "0.2-SNAPSHOT")Run sbt scripted for sbt script tests.
Feel free to ask in sbt-runfast Gitter room!