Details
-
Sub-task
-
Status: Done
-
Major
-
Resolution: Done
-
None
-
None
-
None
Description
This subtask is to add a function to make a package for distribution, which has a directory layout like usual unix-based projects:
/ ┣ bin/ # executable bash scripts to start/stop daemon processes ┣ conf/ # templates of configuration files ┣ lib/ # all jar files to be included in the classpath └ logs/ # an empty directory, where logs will be saved
When an official release is made, this directory will be compressed into a tar.gz file which the users will download from the website.
Currently this is being done using the stage task that is a part of Play! framework, but the startup script provided by it is functionally very limited and not easy to tweak.
We would like to add the flexibility to add various bash scripts and make it easy for users to run and configure s2graph, and check the logs.
Specifically, an SBT task will be made that resembles what Play! framework's one does, and also will a few bash scripts that call the SBT task will be made as necessary.
In order for this to happen, I suggest to make changes to a few top-level directories as follows:
- move the old /bin to /dev which contains scripts used during development; there is only one bash script for release auditing now, and more bash scripts should be added here.
- make a new /bin which contains the bash scripts that go to the distribution package, and thus the users will use.
- make a new /conf which contains the templates for configurations, like hbase-site.xml, application.conf.template, logback.xml.template, etc.