diff --git a/README.md b/README.md index fc8a950..645f8d3 100644 --- a/README.md +++ b/README.md @@ -56,16 +56,19 @@ It takes in the following parameters: - `MODULE_PATH` env var (required) - path to your module, e.g. `github.com/teamwork/amazingapp` - `EXEC_PATH` env var (optional) - path passed to kommentaar - can be relative or absolute, e.g. `./api/v3/...`, or `/go/src/github.com/teamwork/amazingapp/api/v3/...`. Default value is `/go/src/$MODULE_PATH/...` - `CONFIG_NAME` env var (optional) - name of kommentaar config file in the `/config` volume (see below). Default value is `kommentaar.conf` +- `OUTPUT` env var (optional) - the output format. Default value is `openapi2-yaml` - `/code` volume (required) - folder containing your go code - `/config` volume (optional) - folder containing your kommentaar config file, by default the included `config.example` file is copied there as `kommentaar.conf` -- `/output` volume (required) - folder where the generated `swagger.yaml` file will be placed. +- `/output` volume (required) - folder where the generated swagger file will be placed. Usage examples: - `docker run --rm -it -e MODULE_PATH="github.com/teamwork/amazingapp" -v .:/code -v .:/config -v .:/output ghcr.io/teamwork/kommentaar` - This assumes you are running the command in `amazingapp` folder - This is roughly equivalent to `kommentaar -config ./kommentaar.conf github.com/teamwork/amazingapp... > ./swagger.yaml` - `docker run --rm -it -e MODULE_PATH="github.com/teamwork/amazingapp" -e EXEC_PATH="./api/v3/controller/..." -e CONFIG_NAME=".kommentaar.v3" -v $HOME/dev/amazingapp:/code -v $HOME/dev/amazingapp/config:/config -v %HOME/dev/amazingapp/api/v3:/output ghcr.io/teamwork/kommentaar` - - This will run the equivalent of `kommentaar -config $HOME/dev/amazingapp/config/.kommentaar.v3 $GOPATH/src/github.com/teamwork/amazingapp/api/v3/controller/... > $HOME/dev/amazingapp/api/v3/swagger.yaml` + - This will run the equivalent of `kommentaar -config $HOME/dev/amazingapp/config/.kommentaar.v3 -output openapi2-yaml $GOPATH/src/github.com/teamwork/amazingapp/api/v3/controller/... > $HOME/dev/amazingapp/api/v3/swagger.yaml` +- `docker run --rm -it -e MODULE_PATH="github.com/teamwork/amazingapp" -e EXEC_PATH="./api/v3/controller/..." -e CONFIG_NAME=".kommentaar.v3" -e OUTPUT="html" -v $HOME/dev/amazingapp:/code -v $HOME/dev/amazingapp/config:/config -v %HOME/dev/amazingapp/api/v3:/output ghcr.io/teamwork/kommentaar` + - This will run the equivalent of `kommentaar -config $HOME/dev/amazingapp/config/.kommentaar.v3 -output html $GOPATH/src/github.com/teamwork/amazingapp/api/v3/controller/... > $HOME/dev/amazingapp/api/v3/swagger.html` Syntax diff --git a/run.sh b/run.sh index 199e969..2c6323a 100755 --- a/run.sh +++ b/run.sh @@ -15,6 +15,20 @@ if [ -n "$CONFIG_NAME" ]; then fi echo "Config will be loaded from $config" +output_ext="yaml" +output="openapi2-yaml" +if [ -n "$OUTPUT" ]; then + if [ "$OUTPUT" = "openapi2-json" ] || [ "$OUTPUT" = "openapi2-jsonindent" ]; then + output_ext="json" + output="$OUTPUT" + fi + + if [ "$OUTPUT" = "html" ]; then + output_ext="html" + output="$OUTPUT" + fi +fi + exec_path=/go/src/$MODULE_PATH/... if [ -n "$EXEC_PATH" ]; then exec_path=$EXEC_PATH @@ -26,4 +40,4 @@ export GO111MODULE=off go install /go/src/github.com/teamwork/kommentaar cd /go/src/$MODULE_PATH -/go/bin/kommentaar -config $config $exec_path > /output/swagger.yaml +/go/bin/kommentaar -config $config -output $output $exec_path > /output/swagger.$output_ext