Просмотр исходного кода

Update journey test to build trackler.

Track data has been factored into a separate gem: trackler.  The build
was breaking.
  (see also exercism/x-api#141)
John S. Ryan 10 лет назад
Родитель
Сommit
2a5cd84f8d
1 измененных файлов: 34 добавлений и 10 удалений
  1. 34
    10
      bin/journey-test.sh

+ 34
- 10
bin/journey-test.sh Просмотреть файл

@@ -44,14 +44,14 @@ assert_jq_installed() {
44 44
 
45 45
 assert_required_ruby_installed() {
46 46
   echo ">>> assert_required_ruby_installed(\"$1\")"
47
-  local RACKAPP_HOME="$1"
47
+  local RUBY_APP_HOME="$1"
48 48
 
49
-  pushd "${RACKAPP_HOME}" >/dev/null
49
+  pushd "${RUBY_APP_HOME}" >/dev/null
50 50
   local CURRENT_RUBY_VER=`ruby --version | egrep --only-matching "[0-9]+\.[0-9]+\.[0-9]+"`
51 51
   local EXPECTED_RUBY_VER=`cat Gemfile | awk -F\' '/ruby /{print $2}'`
52 52
   popd >/dev/null
53
-  if [ "$CURRENT_RUBY_VER" != "$EXPECTED_RUBY_VER" ]; then
54
-    echo "${RACKAPP_HOME} requires Ruby ${EXPECTED_RUBY_VER}; current Ruby version is ${CURRENT_RUBY_VER}."
53
+  if [ "$EXPECTED_RUBY_VER" != "" -a "$CURRENT_RUBY_VER" != "$EXPECTED_RUBY_VER" ]; then
54
+    echo "${RUBY_APP_HOME} requires Ruby ${EXPECTED_RUBY_VER}; current Ruby version is ${CURRENT_RUBY_VER}."
55 55
     echo -e "Ruby used: `which ruby`.\n"
56 56
     echo -e "Have you completed the setup instructions at https://github.com/exercism/xjava ?\n"
57 57
     echo "PATH=${PATH}"
@@ -124,13 +124,35 @@ fetch_x_api() {
124 124
   local XAPI_HOME="$1"
125 125
 
126 126
   git clone https://github.com/exercism/x-api ${XAPI_HOME}
127
-  pushd ${XAPI_HOME} >/dev/null
128
-  git submodule init -- metadata
127
+
128
+  echo "<<< fetch_x_api()"
129
+}
130
+
131
+fetch_trackler() {
132
+  echo ">>> fetch_trackler(\"$1\")"
133
+  local TRACKLER_HOME="$1"
134
+
135
+  git clone https://github.com/exercism/trackler ${TRACKLER_HOME}
136
+
137
+  echo "<<< fetch_trackler()"
138
+}
139
+
140
+build_trackler() {
141
+  echo ">>> build_trackler(\"$1\")"
142
+  local TRACKLER_HOME="$1"
143
+
144
+  pushd ${TRACKLER_HOME} >/dev/null
145
+  git submodule init -- common
129 146
   git submodule update
130 147
   rmdir tracks/java
131
-  ln -s $REPO_ROOT tracks/java
148
+  mkdir -p tracks/java/exercises
149
+  cp $REPO_ROOT/config.json tracks/java
150
+  cp -r $REPO_ROOT/exercises tracks/java
151
+  gem build trackler.gemspec
152
+  gem install --local trackler-*.gem
153
+
132 154
   popd > /dev/null
133
-  echo "<<< fetch_x_api()"
155
+  echo "<<< build_trackler()"
134 156
 }
135 157
 
136 158
 start_x_api() {
@@ -139,10 +161,8 @@ start_x_api() {
139 161
 
140 162
   pushd $XAPI_HOME >/dev/null
141 163
 
142
-  SET_RUBY_VER_CMD="rbenv local 2.2.1"
143 164
   gem install bundler
144 165
   bundle install
145
-
146 166
   RACK_ENV=development rackup &
147 167
   XAPI_PID=$!
148 168
   sleep 5
@@ -208,6 +228,7 @@ main() {
208 228
   local REPO_ROOT="${PWD}"
209 229
   local BUILD_DIR="${REPO_ROOT}/build"
210 230
   local XAPI_HOME="${BUILD_DIR}/x-api"
231
+  local TRACKLER_HOME="${BUILD_DIR}/trackler"
211 232
   local EXERCISM_HOME="${BUILD_DIR}/exercism"
212 233
   local EXERCISM_CONFIGFILE=".journey-test.exercism.json"
213 234
   local XAPI_PORT=9292
@@ -217,7 +238,10 @@ main() {
217 238
   clean_build "${REPO_ROOT}" "${BUILD_DIR}"
218 239
   fetch_exercism_cli $(get_operating_system) $(get_cpu_architecture) "${EXERCISM_HOME}"
219 240
   fetch_x_api "${XAPI_HOME}"
241
+  fetch_trackler "${TRACKLER_HOME}"
220 242
   assert_required_ruby_installed "${XAPI_HOME}"
243
+  assert_required_ruby_installed "${TRACKLER_HOME}"
244
+  build_trackler "${TRACKLER_HOME}"
221 245
   start_x_api "${XAPI_HOME}"
222 246
   configure_exercism_cli "${EXERCISM_HOME}" "${EXERCISM_CONFIGFILE}" "${XAPI_PORT}"
223 247
   solve_all_exercises "${EXERCISM_HOME}" "${EXERCISM_CONFIGFILE}"