Permalink
Browse files

Run all the CLI commands in the Docker environment (#5564)

* [docker] Allow "validate" and "version" in Docker

* [docker] Allow all the available CLI commands

* [docker] Quote some more variables
  • Loading branch information...
1 parent a81cff0 commit f5f3dbd94ae215143e03eb0ee9022ea600f6c6bf @ppentchev ppentchev committed with wing328 May 8, 2017
Showing with 15 additions and 15 deletions.
  1. +15 −15 docker-entrypoint.sh
View
@@ -6,19 +6,19 @@ set -euo pipefail
GEN_DIR=${GEN_DIR:-/opt/swagger-codegen}
JAVA_OPTS=${JAVA_OPTS:-"-Xmx1024M -DloggerPath=conf/log4j.properties"}
-codegen="${GEN_DIR}/modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+cli="${GEN_DIR}/modules/swagger-codegen-cli"
+codegen="${cli}/target/swagger-codegen-cli.jar"
+cmdsrc="${cli}/src/main/java/io/swagger/codegen/cmd"
-case "$1" in
- generate|help|langs|meta|config-help)
- # If ${GEN_DIR} has been mapped elsewhere from default, and that location has not been built
- if [[ ! -f "${codegen}" ]]; then
- (cd ${GEN_DIR} && exec mvn -am -pl "modules/swagger-codegen-cli" package)
- fi
- command=$1
- shift
- exec java ${JAVA_OPTS} -jar ${codegen} ${command} "$@"
- ;;
- *) # Any other commands, e.g. docker run imagename ls -la or docker run -it imagename /bin/bash
- exec "$@"
- ;;
-esac
+pattern="@Command(name = \"$1\""
+if expr "x$1" : 'x[a-z][a-z-]*$' > /dev/null && fgrep -qe "$pattern" "$cmdsrc"/*.java; then
+ # If ${GEN_DIR} has been mapped elsewhere from default, and that location has not been built
+ if [[ ! -f "${codegen}" ]]; then
+ (cd "${GEN_DIR}" && exec mvn -am -pl "modules/swagger-codegen-cli" package)
+ fi
+ command=$1
+ shift
+ exec java ${JAVA_OPTS} -jar "${codegen}" "${command}" "$@"
+else
+ exec "$@"
+fi

0 comments on commit f5f3dbd

Please sign in to comment.