- Notifications
You must be signed in to change notification settings - Fork 6k
/
Copy pathdocker-entrypoint.sh
executable file
·24 lines (20 loc) · 946 Bytes
/
docker-entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env bash
set -euo pipefail
# GEN_DIR allows to share the entrypoint between Dockerfile and run-in-docker.sh (backward compatible)
GEN_DIR=${GEN_DIR:-/opt/swagger-codegen}
JAVA_OPTS=${JAVA_OPTS:-"-Xmx1024M -Dlogback.configurationFile=conf/logback.xml"}
cli="${GEN_DIR}/modules/swagger-codegen-cli"
codegen="${cli}/target/swagger-codegen-cli.jar"
cmdsrc="${cli}/src/main/java/io/swagger/codegen/cmd"
pattern="${1^} implements Runnable"
if expr "x$1":'x[a-z][a-z-]*$'> /dev/null && fgrep -qe "$pattern""$cmdsrc"/*.java || expr "$1" = 'help'> /dev/null;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" -Duser.home=$(dirname MAVEN_CONFIG) package)
fi
command=$1
shift
exec java ${JAVA_OPTS} -jar "${codegen}""${command}""$@"
else
exec"$@"
fi