-
Notifications
You must be signed in to change notification settings - Fork 280
Implement Worker API for VerifyPluginTask #1948
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
base: main
Are you sure you want to change the base?
Implement Worker API for VerifyPluginTask #1948
Conversation
…verage the Worker API
These changes will result in a race condition if there are several ides we are trying to verify. The submitted work actions end up deleting the same verification reports directory.
|
Additionally, the ides to use in plugin verification is resolved before task execution. Waiting for all ides to download before going on to execute the task action is one of the major delays. |
src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/VerifyPluginTask.kt
Outdated
Show resolved
Hide resolved
src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/VerifyPluginTask.kt
Outdated
Show resolved
Hide resolved
src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/VerifyPluginTask.kt
Outdated
Show resolved
Hide resolved
src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/VerifyPluginTask.kt
Outdated
Show resolved
Hide resolved
src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/VerifyPluginTask.kt
Outdated
Show resolved
Hide resolved
Different report directories should do the job – each report should be stored within a directory named by the IDE we use for testing. |
Are you sure that IDEs are resolved before the task execution? I'd rather assume that the You can try moving the following part right into the task's action: Lines 309 to 321 in 23ee90b
This will surely violate the configuration cache, but our task is already untracked, so nothing should fail, I believe. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remember about the apiCheck
and apiDump
tasks.
…te file VerifyPluginWorkAction.kt
…uring submission to workQueue
…ed usage in `VerifyPluginTask`. Minor adjustments
Pull Request Details
Updated VerifyPluginTask to delegate task action to VerifyPluginWorkAction to leverage Worker API
Description
classes
VerifyPluginWorkAction
andVerifyPluginWorkParameters
were added to implement Worker API functionality. TheVerifyPluginTask
was updated to extendDefaultTask
instead ofJavaExec
because it is no longer directly delegating work to theintellijPluginVerifier
but allowing theWorkAction
class to do so instead.Only the necessary information for each submitted work action is defined in the
VerifyPluginWorkParameters
Motivation and Context
Improve the performance of the VerifyPluginTask
How Has This Been Tested
Compared the outputs of the VerifyPluginTask before and after the Worker API implementation
Compared the Build Scan results of running the verifyPlugin task before integrating Worker API and after the integration
Types of changes
Checklist