Skip to content

Commit 73f1339

Browse files
committed
Make journey-test up to date with exercism cli updates
The exercism cli has been updated, therefore we need to change our build script so that it still works.
1 parent a0f9106 commit 73f1339

1 file changed

Lines changed: 22 additions & 24 deletions

File tree

bin/journey-test.sh

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -202,44 +202,42 @@ start_x_api() {
202202

203203
configure_exercism_cli() {
204204
local exercism_home="$1"
205-
local exercism_configfile="$2"
206-
local xapi_port=$3
207-
echo ">>> configure_exercism_cli(exercism_home=\"${exercism_home}\", exercism_configfile=\"${exercism_configfile}\", xapi_port=${xapi_port})"
208-
local exercism="./exercism --config ${exercism_configfile}"
205+
local xapi_port=$2
206+
local exercism_cli="./exercism"
207+
echo ">>> configure_exercism_cli(exercism_home=\"${exercism_home}\", xapi_port=${xapi_port})"
209208

210209
mkdir -p "${exercism_home}"
211210
pushd "${exercism_home}"
212-
$exercism configure --dir="${exercism_home}"
213-
$exercism configure --api http://localhost:${xapi_port}
214-
$exercism debug
211+
${exercism_cli} configure --token="49b1ceef-a89d-4a13-a5d7-e90a4b694769" --workspace="${exercism_home}" --api http://localhost:${xapi_port}
215212
popd
216213

217214
echo "<<< configure_exercism_cli()"
218215
}
219216

220217
solve_all_exercises() {
221218
local exercism_exercises_dir="$1"
222-
local exercism_configfile="$2"
223-
echo ">>> solve_all_exercises(exercism_exercises_dir=\"${exercism_exercises_dir}\", exercism_configfile=\"${exercism_configfile}\")"
219+
echo ">>> solve_all_exercises(exercism_exercises_dir=\"${exercism_exercises_dir}\")"
224220

225221
local track_root=$( pwd )
226-
local exercism_cli="./exercism --config ${exercism_configfile}"
227-
local exercises=`cat config.json | jq '.exercises[].slug + " "' --join-output`
222+
local exercism_cli="./exercism"
223+
local exercises=`cat config.json | jq -c '.exercises[]'`
228224
local total_exercises=`cat config.json | jq '.exercises | length'`
229225
local current_exercise_number=1
230226
local tempfile="${TMPDIR:-/tmp}/journey-test.sh-unignore_all_tests.txt"
231227

232228
pushd ${exercism_exercises_dir}
233229
for exercise in $exercises; do
230+
local exercise_uuid=$exercise | jq '.uuid'
231+
local exercise_name=$exercise | jq '.slug'
234232
echo -e "\n\n"
235233
echo "=================================================="
236-
echo "${current_exercise_number} of ${total_exercises} -- ${exercise}"
234+
echo "${current_exercise_number} of ${total_exercises} -- ${exercise_name}"
237235
echo "=================================================="
238236

239-
${exercism_cli} fetch ${TRACK} $exercise
240-
cp -R -H ${track_root}/exercises/${exercise}/.meta/src/reference/${TRACK}/* ${exercism_exercises_dir}/${TRACK}/${exercise}/src/main/${TRACK}/
237+
${exercism_cli} download -t ${TRACK} -u ${exercise_uuid}
238+
cp -R -H ${track_root}/exercises/${exercise_name}/.meta/src/reference/${TRACK}/* ${exercism_exercises_dir}/${TRACK}/${exercise_name}/src/main/${TRACK}/
241239

242-
pushd ${exercism_exercises_dir}/${TRACK}/${exercise}
240+
pushd ${exercism_exercises_dir}/${TRACK}/${exercise_name}
243241
# Check that tests compile before we strip @Ignore annotations
244242
"$EXECPATH"/gradlew compileTestJava
245243
# Ensure we run all the tests (as delivered, all but the first is @Ignore'd)
@@ -259,12 +257,11 @@ solve_all_exercises() {
259257

260258
solve_single_exercise() {
261259
local exercism_exercises_dir="$1"
262-
local exercism_configfile="$2"
263-
local exercise_to_solve="$3"
264-
echo ">>> solve_all_exercises(exercism_exercises_dir=\"${exercism_exercises_dir}\", exercism_configfile=\"${exercism_configfile}\", exercise_to_solve=\"$exercise_to_solve\")"
260+
local exercise_to_solve="$2"
261+
echo ">>> solve_single_exercises(exercism_exercises_dir=\"${exercism_exercises_dir}\", exercise_to_solve=\"$exercise_to_solve\")"
265262

266263
local track_root=$( pwd )
267-
local exercism_cli="./exercism --config ${exercism_configfile}"
264+
local exercism_cli="./exercism"
268265
local tempfile="${TMPDIR:-/tmp}/journey-test.sh-unignore_all_tests.txt"
269266

270267
pushd ${exercism_exercises_dir}
@@ -274,7 +271,9 @@ solve_single_exercise() {
274271
echo "Solving ${exercise_to_solve}"
275272
echo "=================================================="
276273

277-
${exercism_cli} fetch ${TRACK} $exercise_to_solve
274+
local exercise_config_object=`cat config.json | jq -c '.exercises[] | select(.slug | contains("hello-world"))'`
275+
local exercise_uuid = ${exercise_config_object} | jq '.uuid'
276+
${exercism_cli} download -t ${TRACK} -u ${exercise_uuid}
278277
cp -R -H ${track_root}/exercises/${exercise_to_solve}/.meta/src/reference/${TRACK}/* ${exercism_exercises_dir}/${TRACK}/${exercise_to_solve}/src/main/${TRACK}/
279278

280279
pushd ${exercism_exercises_dir}/${TRACK}/${exercise_to_solve}
@@ -305,7 +304,6 @@ main() {
305304
local trackler_home="${build_path}/trackler"
306305
local exercism_home="${build_path}/exercism"
307306

308-
local exercism_configfile=".journey-test.exercism.json"
309307
local xapi_port=9292
310308

311309
# fail fast if required binaries are not installed.
@@ -331,13 +329,13 @@ main() {
331329
start_x_api "${xapi_home}"
332330

333331
# Create a CLI install and config just for this build; this script does not use your CLI install.
334-
configure_exercism_cli "${exercism_home}" "${exercism_configfile}" "${xapi_port}"
332+
configure_exercism_cli "${exercism_home}" "${xapi_port}"
335333

336334
if [[ $EXERCISES_TO_SOLVE == "" ]]; then
337-
solve_all_exercises "${exercism_home}" "${exercism_configfile}"
335+
solve_all_exercises "${exercism_home}"
338336
else
339337
for exercise in $EXERCISES_TO_SOLVE
340-
do solve_single_exercise "${exercism_home}" "${exercism_configfile}" "${exercise}"
338+
do solve_single_exercise "${exercism_home}" "${exercise}"
341339
done
342340
fi
343341
}

0 commit comments

Comments
 (0)