Request
Library install tasks in main.yaml are designed to be reusable, but they were only used to build the project clp-core via task deps:core.
Introduction of a new project task deps:spider in #1318 exposes several flaws within our deps install system:
- Race conditions could occur when core and spider simultaneously invoke install tasks and utilities.
- Checksums are not properly implemented to detect
up-to-date status of individual lib installation.
- The combined checksum file is useless and does not help checking if
task deps:core is up-to-date.
- Combined
cmake-settings files for core and spider both lists superfluous dependencies.
Possible implementation
This section will be updated as we open PRs to address each issue.
- Fix the race conditions that could occur when both projects are trying to combine cmake settings to the same file. The rest of the issues are unaddressed.
- Avoid race conditions when initializing
CMAKE_SETTINGS_DIR.
- Properly populate the contents in cmake settings files such as
all-core.cmake and all-spider.cmake
- Split each library install into its own file for better lib change detection
- Avoid repeating Boost install
- Avoid repeating install for libs using
deps:utils:install-remote-cmake-lib using checksums
- Remove combined checksum file
Request
Library install tasks in main.yaml are designed to be reusable, but they were only used to build the project
clp-coreviatask deps:core.Introduction of a new project
task deps:spiderin #1318 exposes several flaws within our deps install system:up-to-datestatus of individual lib installation.task deps:coreis up-to-date.cmake-settingsfiles forcoreandspiderboth lists superfluous dependencies.Possible implementation
This section will be updated as we open PRs to address each issue.
deps:coreanddeps:spider-depwrite into different top-level CMake configuration files (fixes #1330). #1331CMAKE_SETTINGS_DIR.CMAKE_SETTINGS_DIRinitialization race conditions in concurrent dependency installs using run-oncemake-or-clear-dir. yscope-dev-utils#91yscope-dev-utilsto y-scope/yscope-dev-utils@49e0749 to resolve a race condition incmake:install-deps-and-generate-settings(fixes #1553). #1542all-core.cmakeandall-spider.cmakeantlr-runtimeandutfcppto useutils:install-remote-cmake-lib. #1377checksumheader comment; Update and refactor Boost tasks by: yscope-dev-utils#80deps:utils:install-remote-cmake-libusing checksums