🏃‍♂️ Usage

CLI


USAGE: java -jar beacher-1.1.0.jar [-hLV] [-@=INPUT] [--append-defs=DEFS_JSON] [-d=DEFS_JSON]
               [-f=FORMAT] [PROJECTs...]
A tool for detecting build tools of the projects
    <PROJECTs>...    The target project directories for beacher.
    -@ <INPUT>                       Specify the file contains project path list. If INPUT is dash
                                     ('-'), read from STDIN.
        --append-defs <DEFS_JSON>    Specify the additional definitions of the build tools.
    -d, --definition <DEFS_JSON>     Specify the definition of the build tools.
    -f, --format <FORMAT>            Specify the output format [default: default] [possible values:
                                     default, json, yaml, xml]
    -h, --help                       Print help information
    -L, --list-defs                  Print the build tools' definition list
        --no-ignore                  Do not respect ignore files (.ignore, .gitignore, etc.)
    -V, --version                    Print version information

Sample Output

$ java -jar beacher-1.1.0.jar . ../../AP/Java/HelloWorld/
.
  ./app/build.gradle: Gradle
../../AP/Java/HelloWorld
  ../../AP/Java/HelloWorld/build.xml: Apache Ant
  ../../AP/Java/HelloWorld/Makefile: Make
$ java -jar beacher-1.1.0.jar --format json . ../../AP/Java/HelloWorld/ | jq .
{
  "base":".",
  "build-tools":[
    {
      "file-path":"./app/build.gradle",
      "tool-name":"Gradle"
    }
  ]
},
{
  "base":"../../AP/Java/HelloWorld",
  "build-tools":[
    {
      "file-path":"../../AP/Java/HelloWorld/build.xml",
      "tool-name":"Apache Ant"
    },
    {
      "file-path":"../../AP/Java/HelloWorld/Makefile",
      "tool-name":"Make"
    }
  ]
}

🐳 Docker

docker run --rm -it -v $PWD:/home/beacher ghcr.io/tamadalab/beacher:latest

The working directory in the docker container is /home/beacher. The target project should be on the directory with -v flag of docker.

Available versions