This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git


The following commit(s) were added to refs/heads/master by this push:
     new 3e3cf17  SCB-1542 fix Test build error with Alpha Server (#580)
3e3cf17 is described below

commit 3e3cf1746e64fb9a32b5984bdc5b48c4711df50f
Author: Daniel Qian <chanjars...@gmail.com>
AuthorDate: Fri Oct 25 16:49:30 2019 +0800

    SCB-1542 fix Test build error with Alpha Server (#580)
    
    * SCB-1542 fix Test build error with Alpha Server
    
    * SCB-1542 fix LICENSE issue
    
    * SCB-1542 fix LICENSE issue again
---
 LICENSE                                   |  8 ++++
 docker-build-config/assembly/assembly.xml |  6 +++
 docker-build-config/docker-entrypoint.sh  |  2 +-
 docker-build-config/pom.xml               |  3 +-
 docker-build-config/wait-for              | 79 +++++++++++++++++++++++++++++++
 5 files changed, 95 insertions(+), 3 deletions(-)

diff --git a/LICENSE b/LICENSE
index b911910..811ef56 100644
--- a/LICENSE
+++ b/LICENSE
@@ -206,4 +206,12 @@ For web/src/main/java/resources/saga-frontend
 This product bundles ngx-admin libraries which is licensed under the
 MIT license.
 For details, see https://github.com/akveo/ngx-admin
+================================================================
+For docker-build-config
+================================================================
+This product bundles wait-for script which is licensed under the
+MIT license.
+For details, see https://github.com/eficode/wait-for
+
+* wait-for script (docker-build-config/wait-for - 
https://github.com/eficode/wait-for)
 ================================================================
\ No newline at end of file
diff --git a/docker-build-config/assembly/assembly.xml 
b/docker-build-config/assembly/assembly.xml
index e8e6557..7b4e3de 100644
--- a/docker-build-config/assembly/assembly.xml
+++ b/docker-build-config/assembly/assembly.xml
@@ -46,5 +46,11 @@
       <fileMode>0755</fileMode>
       <filtered>true</filtered>
     </file>
+    <file>
+      <source>${root.basedir}/docker-build-config/wait-for</source>
+      <outputDirectory>saga</outputDirectory>
+      <fileMode>0755</fileMode>
+      <filtered>true</filtered>
+    </file>
   </files>
 </assembly>
diff --git a/docker-build-config/docker-entrypoint.sh 
b/docker-build-config/docker-entrypoint.sh
old mode 100644
new mode 100755
index bd4ae72..19f7558
--- a/docker-build-config/docker-entrypoint.sh
+++ b/docker-build-config/docker-entrypoint.sh
@@ -22,7 +22,7 @@ wait_for_services() {
     port=$(printf "%s\n" "$svc"| cut -d : -f 2)
     timeout=$(printf "%s\n" "$svc"| cut -d : -f 3)
     echo "Waiting for service $host:$port(timeout: $timeout seconds) ready"
-    /wait-for $host:$port -t $timeout
+    /maven/saga/wait-for $host:$port -t $timeout
     result=$?
     if [ $result -eq 0 ] ; then
       echo "Service $host:$port is ready"
diff --git a/docker-build-config/pom.xml b/docker-build-config/pom.xml
index df12d8d..7d66bdf 100644
--- a/docker-build-config/pom.xml
+++ b/docker-build-config/pom.xml
@@ -51,8 +51,7 @@
                     </descriptor>
                   </assembly>
                   <runCmds>
-                    <run>wget -O /wait-for 
https://raw.githubusercontent.com/eficode/wait-for/master/wait-for</run>
-                    <run>chmod +x /wait-for</run>
+                    <run>chmod +x /maven/saga/wait-for</run>
                   </runCmds>
                   <entryPoint>
                     <shell>/maven/saga/docker-entrypoint.sh</shell>
diff --git a/docker-build-config/wait-for b/docker-build-config/wait-for
new file mode 100755
index 0000000..ddfc39e
--- /dev/null
+++ b/docker-build-config/wait-for
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+TIMEOUT=15
+QUIET=0
+
+echoerr() {
+  if [ "$QUIET" -ne 1 ]; then printf "%s\n" "$*" 1>&2; fi
+}
+
+usage() {
+  exitcode="$1"
+  cat << USAGE >&2
+Usage:
+  $cmdname host:port [-t timeout] [-- command args]
+  -q | --quiet                        Do not output any status messages
+  -t TIMEOUT | --timeout=timeout      Timeout in seconds, zero for no timeout
+  -- COMMAND ARGS                     Execute command with args after the test 
finishes
+USAGE
+  exit "$exitcode"
+}
+
+wait_for() {
+  for i in `seq $TIMEOUT` ; do
+    nc -z "$HOST" "$PORT" > /dev/null 2>&1
+    
+    result=$?
+    if [ $result -eq 0 ] ; then
+      if [ $# -gt 0 ] ; then
+        exec "$@"
+      fi
+      exit 0
+    fi
+    sleep 1
+  done
+  echo "Operation timed out" >&2
+  exit 1
+}
+
+while [ $# -gt 0 ]
+do
+  case "$1" in
+    *:* )
+    HOST=$(printf "%s\n" "$1"| cut -d : -f 1)
+    PORT=$(printf "%s\n" "$1"| cut -d : -f 2)
+    shift 1
+    ;;
+    -q | --quiet)
+    QUIET=1
+    shift 1
+    ;;
+    -t)
+    TIMEOUT="$2"
+    if [ "$TIMEOUT" = "" ]; then break; fi
+    shift 2
+    ;;
+    --timeout=*)
+    TIMEOUT="${1#*=}"
+    shift 1
+    ;;
+    --)
+    shift
+    break
+    ;;
+    --help)
+    usage 0
+    ;;
+    *)
+    echoerr "Unknown argument: $1"
+    usage 1
+    ;;
+  esac
+done
+
+if [ "$HOST" = "" -o "$PORT" = "" ]; then
+  echoerr "Error: you need to provide a host and port to test."
+  usage 2
+fi
+
+wait_for "$@"

Reply via email to