-
Notifications
You must be signed in to change notification settings - Fork 25.2k
Gradle task avoidance api should be used consistently in the build #56610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
Comments
Pinging @elastic/es-core-infra (:Core/Infra/Build) |
breskeby
added a commit
to breskeby/elasticsearch
that referenced
this issue
Jul 30, 2020
- One step closer to elastic#56610 - Still many tasks are created during configuration phase. Tackled in separate steps
breskeby
added a commit
that referenced
this issue
Jul 31, 2020
- Replace immediate task creations by using task avoidance api - One step closer to #56610 - Still many tasks are created during configuration phase. Tackled in separate steps
breskeby
added a commit
to breskeby/elasticsearch
that referenced
this issue
Jul 31, 2020
…#60071) - Replace immediate task creations by using task avoidance api - One step closer to elastic#56610 - Still many tasks are created during configuration phase. Tackled in separate steps
breskeby
added a commit
that referenced
this issue
Jul 31, 2020
breskeby
added a commit
that referenced
this issue
Nov 11, 2020
- Avoid to rely on afterEvaluate lifecycle hook in DistributionDownloadPlugin - Allows us to define test cluster only in the task creation which can be later than afterevaluate which allows us to move tasks that rely on test clusters using task avoidance api. - This should result in test clusters only being defined when actually used in the build - This unblocks further progress on #56610
breskeby
added a commit
to breskeby/elasticsearch
that referenced
this issue
Nov 11, 2020
- Avoid to rely on afterEvaluate lifecycle hook in DistributionDownloadPlugin - Allows us to define test cluster only in the task creation which can be later than afterevaluate which allows us to move tasks that rely on test clusters using task avoidance api. - This should result in test clusters only being defined when actually used in the build - This unblocks further progress on elastic#56610
breskeby
added a commit
that referenced
this issue
Nov 12, 2020
- Avoid to rely on afterEvaluate lifecycle hook in DistributionDownloadPlugin - Allows us to define test cluster only in the task creation which can be later than afterevaluate which allows us to move tasks that rely on test clusters using task avoidance api. - This should result in test clusters only being defined when actually used in the build - This unblocks further progress on #56610
breskeby
added a commit
that referenced
this issue
Jan 4, 2021
This finishes porting all tasks created in gradle build scripts and plugins to use the task avoidance api (see #56610) * Port all task definitions to task avoidance api * Fix last task created during configuration * Fix test setup in :modules:reindex * Declare proper task inputs
breskeby
added a commit
to breskeby/elasticsearch
that referenced
this issue
Jan 4, 2021
This finishes porting all tasks created in gradle build scripts and plugins to use the task avoidance api (see elastic#56610) * Port all task definitions to task avoidance api * Fix last task created during configuration * Fix test setup in :modules:reindex * Declare proper task inputs
breskeby
added a commit
that referenced
this issue
Jan 4, 2021
This finishes porting all tasks created in gradle build scripts and plugins to use the task avoidance api (see #56610) * Port all task definitions to task avoidance api * Fix last task created during configuration * Fix test setup in :modules:reindex * Declare proper task inputs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Uh oh!
There was an error while loading. Please reload this page.
At several places in the gradle build we still see usage of the old task creation api. This should be replaced by using the task avoidance api of gradle (
tasks.register(...){}
).This makes the build more consistent and eventually gives us slightly better configuration time. Though this step alone might not result in many task creations being avoided yet as this also requires some further optimisations in how existing tasks are requested within the build scripts and different plugins. This will addressed later on in a different issue.
Update: Many tasks have been converted. Two major remainings:
RestIntegTest
created during task graph calculation causesOne fix for 1) would be, to configure test clusters that are created by a
RestIntegTest
in the context of the task like:The benefit of this is that the test cluster configuration would only happen if the cluster is required by the build.
Fixing 2) is more complex as we need to find a different solution for delaying the distribution setup. We can probably replace the
afterEvaluate
usage by usingconfiguration.defaultDependencies{}
hooksThe text was updated successfully, but these errors were encountered: