-
Notifications
You must be signed in to change notification settings - Fork 83
Labels
bugSomething isn't workingSomething isn't workingdependenciesPull requests that update a dependency filePull requests that update a dependency fileenhancementNew feature or requestNew feature or request
Description
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-datestatus of individual lib installation. - The combined checksum file is useless and does not help checking if
task deps:coreis up-to-date. - Combined
cmake-settingsfiles forcoreandspiderboth 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.- fix(taskfiles)!: Prevent
CMAKE_SETTINGS_DIRinitialization race conditions in concurrent dependency installs using run-oncemake-or-clear-dir. yscope-dev-utils#91 - fix(deps): Update
yscope-dev-utilsto y-scope/yscope-dev-utils@49e0749 to resolve a race condition incmake:install-deps-and-generate-settings(fixes #1553). #1542
- fix(taskfiles)!: Prevent
- Properly populate the contents in cmake settings files such as
all-core.cmakeandall-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-libusing checksums - Remove combined checksum file
Sub-issues
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingdependenciesPull requests that update a dependency filePull requests that update a dependency fileenhancementNew feature or requestNew feature or request