@@ -202,44 +202,42 @@ start_x_api() {
202202
203203configure_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
220217solve_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
260258solve_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