Join GitHub today
Make PublishingExtension behave like other extension objects #4945
The PublishingExtension currently uses the (never finished)
We can probably use the approach from the new native plugins to solve this issue better, i.e. by having a clear point in the lifecycle where those tasks are created.
The goal is to keep the current DSL intact (i.e. don't create yet another publishing DSL/plugin) and keep existing builds working while fixing the early evaluation traps that users ran into. This may require some interim solution which is still slightly different from other extensions to minimize the potential for breaking changes.
Eventually though we should unify how we treat laziness across all plugins, including this one. This should include using the provider API for deferred computation #4467 and only creating publication tasks when necessary. This end goal may require some small breaking changes in a major release.
After spiking this, I think we have a good way forward: