Project is built with mill, and as such it adopts mill's project structure: the application is split into two modules
- core: contains the model and the parser
- cli: contains a cli interface for the parser
To prepare the project for intellij, run mill mill.scalalib.GenIdeaModule/idea
in the project folder (YMMV)
mill all core.test cli.test
or, to keep testing as the code changes,
mill --watch all core.test cli.test
Need to find out how to integrate scoverage
with mill
mill cli.assembly
mill cli.run "* * * * * /foo/bar"
or, after assembly:
java -cp out/cli/assembly/dest/out.jar cronexpressionparser.cli.CronExpressionParserCli "* * * * * /foo/bar"
When using * as one of the tokens, don't forget to escape it
eg.:
- this is ok (has no *):
mill cli.run */1 */1 */1 */1 */1 /foo/bar
- this might fail:
mill cli.run * * * * * /foo/bar
- this is ok again:
mill cli.run "* * * * * /foo/bar"
- this works too:
mill cli.run \* \* \* \* \* /foo/bar
Wondering what's happening? Try echo *