Detecting the build tools in use.
This tool aims to detect the build tools in use for the project for surveying the share of the build tools. The build tools build a project along with the rules defined in the build files. The default names of the build files are fixed for each build tool. This tool finds the build files from the specified directories, and identifies the build tools in use.
Detecting build tools/task runners in use of the projects
Usage: btmeister [OPTIONS] [PROJECTs]...
Arguments:
[PROJECTs]... The target project paths. If "-" was given, reads from stdin.
Also, the first character was "@", read from the file eliminating "@".
This parameters accept directories and archive files.
Supported archive files: tar, tar.bz2, tar.gz, tar.xz, tar.zstd, and zip.
Options:
-D, --definition <DEFS_JSON> Specify the definition of the build tools.
--append-defs <DEFS_JSON> Specify the additional definitions of the build tools.
-i, --ignore-type <IGNORE_TYPE> Specify the ignore type. [default: default] [possible values: default, hidden, ignore, git-ignore, git-global, git-exclude]
-e, --excludes <EXCLUDEs> Specify the filters of excluding files or directories.
-L, --list-defs Print the build tools' definition list
-f, --format <FORMAT> Specify the output format [default: default] [possible values: csv, default, json, markdown, xml, yaml]
-l, --level <LEVEL> Specify the log level. [default: warn] [possible values: error, warn, info, debug, trace]
-h, --help Print help (see more with '--help')
-V, --version Print version
$ btmeister ~/github.com/tamada/gibo-wrapper
/home/tamada/github.com/tamada/gibo-wrapper
Cargo.toml: Cargo
Dockerfile: Docker
build.rs: Cargo
.github/workflows/publish.yaml: GitHub Actions
.github/workflows/docker.yaml: GitHub Actions
.github/workflows/versionup.yaml: GitHub Actions
.github/workflows/build.yaml: GitHub Actions
$ btmeister --format json ~/github.com/tamada/gibo-wrapper | jq .
[
{
"base": "/home/tamada/github.com/tamada/gibo-wrapper",
"build-tools": [
{
"path": "Cargo.toml",
"tool-name": "Cargo"
},
{
"path": "Dockerfile",
"tool-name": "Docker"
},
{
"path": "build.rs",
"tool-name": "Cargo"
},
{
"path": ".github/workflows/publish.yaml",
"tool-name": "GitHub Actions"
},
{
"path": ".github/workflows/docker.yaml",
"tool-name": "GitHub Actions"
},
{
"path": ".github/workflows/versionup.yaml",
"tool-name": "GitHub Actions"
},
{
"path": ".github/workflows/build.yaml",
"tool-name": "GitHub Actions"
}
]
}
]
docker run --rm -it -v $PWD:/app ghcr.io/tamada/btmeister:latest .
- Container OS
- Working directory:
/app
- entry point:
/opt/btmeister/btmeister
- user:
nonroot
- Working directory: