-
-
Notifications
You must be signed in to change notification settings - Fork 11
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
Extensions index is missing many implementations #3746
Comments
Sorry about that. No progress on the issue since you reported it almost 3 months ago as jenkins-infra/backend-extension-indexer#58 I'll try to spend some time on it today as part of Docs Office Hours preparation. Hopefully a first attempt to rollback to a working version will be successful, then later I can do more investigation to understand what broke the indexer. |
Thanks MarK. I thought I filed it before and then could not find it - somewhat obviously as I was looking in the wrong place! |
Apologies for the non-progress. I hope a short term workaround will be available by some form of rollback with a long term solution being to add tests to the backend extension indexer to detect whatever condition caused the failure. |
This is the third help desk issue on this topic already 😅 The other one for ref, linked in jenkins-infra/backend-extension-indexer#58: |
Caused by jenkinsci/plugin-pom#100 — any plugin that has been incrementalified uses |
❗ Whatever this was doing, it sounds like it needs to be rewritten. Nothing should need to be compiled. Take the |
Hence my previous suggestion in #3746 (comment):
|
@jglick Since this regression was caused by jenkinsci/plugin-pom#100, should jenkins-infra/backend-extension-indexer#58 be assigned to you? |
Since this came up multiple times and the proposed fix of rewriting the extension indexer sounds like a long term projet, would it make sense to find some interim solution ? Maybe a disclaimer in the extension point index linking to https://web.archive.org/web/20210308005332/http://www.jenkins.io/doc/developer/extensions/ explaining that some content went missing 🤷 |
I suggested an interim solution in #3746 (comment):
|
If that works, it sounds like a good hotfix for this symptom. The fundamental mistake is the attempt to use a deployed POM to build sources, which is not what deployed POMs are for (Maven 4 is supposed to enforce the distinction), and of course relying on sources rather than binaries is inherently fragile (jenkins-infra/backend-extension-indexer#42 sounds like another consequence). |
That's basically what I did in jenkins-infra/backend-extension-indexer#95
What are they for? FWIW neither that file, nor the source jar contain any reference to the core dependency. That seems wrong. |
Resolving dependencies from Maven builds.
Not sure if this is the cause of jenkins-infra/backend-extension-indexer#97, but note that there are some extension implementations in that plugin which are currently defined in Groovy sources, so they could not possibly be detected by parsing (Java) source files. You really need to inspect bytecode and bytecode alone. |
Wouldn't that mean that the core dependency should be there? |
This is probably a good path forward. We'll lose the Javadoc excerpts, but since we're linking to javadoc.jenkins.io it should be fine. I intend to take a stab at this when I have some time, but if someone else wants to do it, feel free. |
Describe your use-case which is not covered by existing documentation.
https://www.jenkins.io/doc/developer/extensions is supposed to list known
ExtensionPoints
and the known (ie public jenkins) implemtnations via anExtension
.However it seems like there are missing implementations
For example
https://www.jenkins.io/doc/developer/extensions/jenkins-core/#queuetaskdispatcher
hudson.model.queue.QueueTaskDispatcher
is implemented bybranch-api
pluginsRateLimitBranchProperty.QueueTaskDispatcherImpl
but it is not listed.Reference any relevant documentation, other materials or issues/pull requests that can be used for inspiration.
No response
The text was updated successfully, but these errors were encountered: