Extension buildsystem: sandbox all steps
Created by: jcfr
This topic updates the extension build system so that a failure in any of the extension download/configure/build/test/packaging steps do not cause the entire build to fail.
See https://discourse.slicer.org/t/no-nightly-mac-binary-since-august-1/836/10?u=jcfr
Fixes #4247
The corresponding tests have also been updated to include an extension with source failing to be checked out. In that case, download error will be reported as configure error and the other extensions will still be built.
$ ctest -R "extension"
Test project /home/jcfr/Projects/Slicer-2-build/Slicer-build
Start 3: cmake_slicer_extension_description_spec_defaults_test
1/8 Test #3: cmake_slicer_extension_description_spec_defaults_test ............... Passed 0.00 sec
Start 4: cmake_slicer_extension_metadata_set_defaults_test
2/8 Test #4: cmake_slicer_extension_metadata_set_defaults_test ................... Passed 0.00 sec
Start 5: cmake_slicer_extract_extension_description_test
3/8 Test #5: cmake_slicer_extract_extension_description_test ..................... Passed 0.01 sec
Start 6: cmake_slicer_generate_extension_description_test
4/8 Test #6: cmake_slicer_generate_extension_description_test .................... Passed 0.01 sec
Start 7: py_cmake_slicer_extensions_index_build_without_upload
5/8 Test #7: py_cmake_slicer_extensions_index_build_without_upload ............... Passed 34.09 sec
Start 8: py_cmake_slicer_extensions_index_build_with_upload
6/8 Test #8: py_cmake_slicer_extensions_index_build_with_upload .................. Passed 35.14 sec
Start 9: py_cmake_slicer_extensions_index_build_with_upload_using_ctest
7/8 Test #9: py_cmake_slicer_extensions_index_build_with_upload_using_ctest ...... Passed 34.81 sec
Start 10: py_cmake_slicer_extensions_index_build_without_upload_using_ctest
8/8 Test #10: py_cmake_slicer_extensions_index_build_without_upload_using_ctest ... Passed 34.24 sec
100% tests passed, 0 tests failed out of 8
Label Time Summary:
CMake = 138.30 sec (8 tests)
Total Test time (real) = 138.35 sec