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...
Showing
with
15 additions
and
15 deletions.
-
+15
−15
docker-entrypoint.sh
|
|
@@ -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