Because "don't repeat yourself"
If you need to build a project in matter of seconds, this tool for you.
Download binary file for your specific platform from release page.
Or, if you are Rust and Cargo user, type:
$ cargo install reframe
$ reframe [SOURCE]
$ reframe anvie/basic-rust
anvie/basic-rust
is refering to my github repo: basic-rust.rf.
To create Reframe template is super duper easy, all you needs is write file called Reframe.toml
and place in root project dir, example:
```toml [project] name = "Hello World" version = "1.0"
[[param]] with_serde = { ask = "Dengan serde?", default = false }
[[param]] serdeversion = { ask = "Versi serde?", default = "1.0", if="withserde" }
[[param]]
author_name = { ask = "Author name?" }
[[param]] author_email = { ask = "Author email?" } ```
Every string type param will have case variants automagically, eg: author_name
will have: author_name_lowercase
, author_name_snake_case
, author_name_kebab_case
.
After finish writing project template you can test using reframe [YOUR-WORKING-TEMPLATE-DIR]
,
if all is ok, push to your github repo with additional postfix .rf
at it repo name, eg: if your repo name is unicorn
then you must push with name unicorn.rf
, and finally you can use by simply typing:
$ reframe [MY-GITHUB-USERNAME]/[MY-TEMPLATE]
Example:
$ reframe agus/unicorn
For more detail please see working examples: * anvie/basic-rust.rf. * anvie/hello-world-py.rf
Supported case variants:
*_lower_case
-> my cool app*_snake_case
-> mycoolapp*_kebab_case
-> my-cool-app*_shout_snake_case
-> MYCOOLAPP*_upper_case
-> MY COOL APP*_camel_case
-> myCoolApp*_pascal_case
-> MyCoolAppYou can also use builtin variables:
year
-> Print current year, eg: 2019.month_name
-> Print current month, eg: July