fix(Docker.*?Plugin): restore the sbt-standard task concurrency tags #1352
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The purpose of this PR is to restore (and adjust) the concurrency tags offered by sbt (https://www.scala-sbt.org/1.x/docs/Parallel-Execution.html) in order to control parallel execution.
By default, sbt tags the "publishLocal" and "publish" tasks with the
Publish
andNetwork
tags so that one might limit the number of concurrent tasks competing for resources.On a large multi-project, multiple subprojects might be attempting to publishLocal simultaneously (i.e. spin up containers in order to build images) which can exhaust memory available to Docker or cause a longer time to build due to contention on the disk. This PR restores tags on the Docker/publish and Docker/publishLocal tasks so that the user can limit publications and/or image constructions to levels consistent with capacity.
The difference with sbt defaults is that the
publishLocal
task is tagged with the Publish and Disk tags, while thepublish
task gets the sbt defaults Publish and Network. In practice, thepublish
task will remain throttled by the availability of the Disk tag as well, as it depends onpublishLocal
anyway.