This tool generates either new projects for some build systems or configuration files for some Continuous Integration with the use of templates.
Templates define the layout for a project and allow developers to insert data at runtime.
Each template contains all files necessary to build a project with a build system, in addition to Continuous Integration and Docker files used to run tests and implement further checks.
| Build system | Languages | Project template | CI style checks | CI build | CI test | CI coverage upload | CI static analysis | CI dynamic analisys | CI license checks | | - | - | - | - | - | - | - | - | - | - | | meson | C / C++ | provided | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: |:heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | poetry | Python | provided | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :whitecheckmark: | :heavycheckmark: | | maven | Java | provided | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :whitecheckmark: | :heavycheckmark: | | cargo | Rust | offloaded | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | yarn | Javascript / Typescript| offloaded | :x: | :heavycheckmark: | :x: | :x: | :x: | :whitecheckmark: | :heavycheckmark: |
:whitecheckmark:: Not necessary for the considered language
To see the list of supported commands, run: sifis-generate --help
Each command has an optional argument to define a license and an optional argument to
override the project name instead of using the last component of the project-path.
The default value for the license argument is MIT
.
$ sifis-generate cargo [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path
$ sifis-generate maven [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-group project-path
$ sifis-generate meson [--kind meson-project-kind] [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path
Admitted values for the kind
argument:
c
c++
$ sifis-generate poetry [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path
$ sifis-generate yarn [--license LICENSE --name NAME --branch GITHUB_BRANCH] project-path
It is possible to save a config.toml
in ${XDG_CONFIG_HOME}/sifis-generate
with overrides for all the default and optional values, e.g:
``` toml [default] license = "BSD-3-Clause"
[meson] kind = "c++" ```
Released under the MIT License.
This software has been developed in the scope of the H2020 project SIFIS-Home with GA n. 952652.