jenkins-infra / backend-extension-indexer

Generate the list of extension points and their known implementations

Home Page:http://jenkins-ci.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

https://www.jenkins.io/doc/developer/extensions/ missing plugins with ExtensionPoints

jtnord opened this issue · comments

Service(s)

jenkins.io

Summary

the Extension index is listing extension lists for 179 plugins and Jenkins core.

But there are many more plugins that the 179 that are listed that have extension points that are not in the list.

For example https://github.com/jenkinsci/config-file-provider-plugin/blob/master/src/main/java/org/jenkinsci/lib/configprovider/ConfigProvider.java#L57 is an extension point but Config File Provider is not listed in the entry list.

I beleive this page is generated by some backend code - so I would guess that backend code is not behaving correctly?

Reproduction steps

  1. go to https://www.jenkins.io/doc/developer/extensions/
  2. try to lookup all of the extension points in https://github.com/jenkinsci/config-file-provider-plugin

expectation the plugin is in the list and lists all its extension points like ConfigProvider.

currently the plugin is not listed.

(Expectation is that every plugin in the UpdateCenter (one that has a release and is not suspended) with an ExtensionPoint is listed along with its extension points and implementation of said extension points.

I believe this needs to be assigned to the backend extension indexer repository. https://github.com/jenkins-infra/backend-extension-indexer/ . There is an existing issue report in that repository from Sep 2022 related to Gradle based plugins. I don't know if this issue is related to the Gradle issue, but I'm confident that a bisect of the changes can help us find the root cause.

@jtnord is this critical for you or can it wait a few weeks for the bisection?

@jtnord is this critical for you or can it wait a few weeks for the bisection?

not critical, it can wait

I believe this needs to be assigned to the backend extension indexer repository. https://github.com/jenkins-infra/backend-extension-indexer/ .

Issue transferred.

Apologies, but it will be at least a few more weeks before I can look at this.

if the has anything to do with this - then the maven configuration there is broken as there is no proxy being used - so everything is only attempted to be downloaded from central which fails then to download jenkins-core which is in our artifactory.

The problem is deeper than that: any plugin that has been incrementalified uses flatten-maven-plugin, which removes the Jenkins core dependency and breaks the logic in this repository, which relies on the Jenkins core dependency being on the classpath in order to compile the plugin and list its extensions. So as more and more plugins are incrementalified, more and more plugins disappear from the extensions index. At this point only the least maintained plugins are not incrementalified and therefore present in the extensions index. Suggest updating the flatten-maven-plugin configuration to retain the Jenkins core dependency or updating the logic in this repository to re-add the Jenkins core dependency to the classpath.