Nice, plenty of good things there!
That will surely facilitate development of S4 applications.
And my understanding is that more advanced admin facilities would be a separate set of scripts, right?
So a typical scenario would be:
- create an application:
This creates a project skeleton in the specified directory, along with a gradle build script for that project.
- optionally prepare for editing in an IDE:
s4 eclipsify|idealize <app-dir>
- the developer adds application code in this project (and possibly adds dependencies in the gradle script if needed)
- build and package
This creates an S4R archive
- start a cluster
(we might add parameters such as the number of nodes).
This starts S4 nodes locally, a Zookeeper instance, and create a logical cluster with the running S4 nodes (for instance by default a 2 nodes cluster)
- deploy to the cluster
This deploys the application to the running local S4 cluster