|
|
@@ -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}"
|