🏃♂️ Usage
CLI
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]
-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]
-v, --verbose Show verbose output.
-h, --help Print help (see more with '--help')
-V, --version Print version
The default build tool definitions are available on the GitHub repository (JSON schema).
Sample Output
$ btmeister ~/github.com/tamada/gibo-wrapper
/Users/tamada/github.com/tamada/gibo-wrapper
Cargo.toml: Cargo
Dockerfile: Docker
build.rs: Cargo
$ btmeister --format json ~/github.com/tamada/gibo-wrapper | jq .
[
{
"base": "/Users/tamada/products/gibo-wrapper",
"build-tools": [
{
"path": "Cargo.toml",
"tool-name": "Cargo"
},
{
"path": "Dockerfile",
"tool-name": "Docker"
},
{
"path": "build.rs",
"tool-name": "Cargo"
}
]
}
]
🐳 Docker
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:
Supported build tools
The btmeister supports the following build tools.
- Apache Ant
- Apache Ivy
- Apache Maven
- autoconf
- automake
- Bazel
- Blade
- Buck
- Cake
- Cmake
- Cargo
- Cargo make
- Circle CI
- deno
- Docker
- Docker Compose
- Earthly
- GitHub Actions
- Go
- GitLab CI/CD
- Gradle
- Grunt
- Gulp
- Jenkins
- just
- latexmk
- llmk
- Make
- Mage
- mise
- ninja
- npm
- Pants
- please.build
- PyBuilder
- Rake
- rollup.js
- SCons
- sbt
- Task
- Travis
- Terraform
- distutils/setuptools/distribution
- vagrant
- Webpack