Because "don't repeat yourself"
If you need to build project in matter of seconds, this tool for you.
For detail usage please check Reframe Documentation.
Download binary 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 at the 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
.
So when you need to get project name with snake case, write: $namesnakecase$.
When you done, you can test using reframe [YOUR-WORKING-TEMPLATE-DIR]
,
if all is ok, push the project to your github repo with additional postfix .rf
at the project name, eg: if your repo name is unicorn
then you must push with name unicorn.rf
, and finally you can use anywhere by simply typing:
$ reframe [MY-GITHUB-USERNAME]/[MY-TEMPLATE]
Example:
$ reframe agus/unicorn
For detail usage please check Reframe Documentation.
Reframe source 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