Plugins dependency tree

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Plugins dependency tree

Arnaud Tamaillon
Hello,

On a plugin page, we can see which other plugins a plugin depends on (mandatory & optional).

Is there anything available where we could see the list of plugins depending on another specific one?
This would help manage the life cycle of deprecated symbols by providing a tool to plugin authors to check dependent plugins for breaking changes.

I was also thinking that this would also allow extending https://ci.jenkins.io/job/Reporting/job/deprecated-usage-in-plugins/ which (if I am right) currently only checks plugins calling core deprecated methods to allow checking for inter-plugin deprecated methods usages.

Thanks for your feedback,

Arnaud

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/5df09fce-a488-44e1-b897-efb53fccb28b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Plugins dependency tree

Baptiste MATHUS-2
IIUC you mean listing plugins that depend on a given plugin.
Not exactly that, but there's (was? Otp right now) a page listing all extension points and their implementations. So there the data is at least already computed. Possibly then it could be made available through plugins.jenkins.io too.

My 2 cents

Le 26 déc. 2017 16:25, "Arnaud Tamaillon" <[hidden email]> a écrit :
Hello,

On a plugin page, we can see which other plugins a plugin depends on (mandatory & optional).

Is there anything available where we could see the list of plugins depending on another specific one?
This would help manage the life cycle of deprecated symbols by providing a tool to plugin authors to check dependent plugins for breaking changes.

I was also thinking that this would also allow extending https://ci.jenkins.io/job/Reporting/job/deprecated-usage-in-plugins/ which (if I am right) currently only checks plugins calling core deprecated methods to allow checking for inter-plugin deprecated methods usages.

Thanks for your feedback,

Arnaud

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/5df09fce-a488-44e1-b897-efb53fccb28b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS7O4zHrKOPQA4ETn4YByae6tDgufUUdNUocStxrmHke2w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Plugins dependency tree

Arnaud Tamaillon
Yes that's what I meant in a clearer way :p

The page you are speaking about is there : https://jenkins.io/doc/developer/extensions/
This is definitely a start, but it does not help for plugins which do not provide extensions points, but rather use public methods of another plugin they depend on.


Le mercredi 27 décembre 2017 17:28:46 UTC+1, Baptiste Mathus a écrit :
IIUC you mean listing plugins that depend on a given plugin.
Not exactly that, but there's (was? Otp right now) a page listing all extension points and their implementations. So there the data is at least already computed. Possibly then it could be made available through <a href="http://plugins.jenkins.io" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fplugins.jenkins.io\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHbzOwz67aV6GYSsTTC8sHeRwDrFA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fplugins.jenkins.io\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHbzOwz67aV6GYSsTTC8sHeRwDrFA&#39;;return true;">plugins.jenkins.io too.

My 2 cents

Le 26 déc. 2017 16:25, "Arnaud Tamaillon" <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="6AmlCWkwDwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">arnau...@...> a écrit :
Hello,

On a plugin page, we can see which other plugins a plugin depends on (mandatory & optional).

Is there anything available where we could see the list of plugins depending on another specific one?
This would help manage the life cycle of deprecated symbols by providing a tool to plugin authors to check dependent plugins for breaking changes.

I was also thinking that this would also allow extending <a href="https://ci.jenkins.io/job/Reporting/job/deprecated-usage-in-plugins/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fci.jenkins.io%2Fjob%2FReporting%2Fjob%2Fdeprecated-usage-in-plugins%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEP2pjRltkIn-8AwUNGqQXGMx80OA&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fci.jenkins.io%2Fjob%2FReporting%2Fjob%2Fdeprecated-usage-in-plugins%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEP2pjRltkIn-8AwUNGqQXGMx80OA&#39;;return true;">https://ci.jenkins.io/job/Reporting/job/deprecated-usage-in-plugins/ which (if I am right) currently only checks plugins calling core deprecated methods to allow checking for inter-plugin deprecated methods usages.

Thanks for your feedback,

Arnaud

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="6AmlCWkwDwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/jenkinsci-dev/5df09fce-a488-44e1-b897-efb53fccb28b%40googlegroups.com?utm_medium=email&amp;utm_source=footer" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/5df09fce-a488-44e1-b897-efb53fccb28b%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/jenkinsci-dev/5df09fce-a488-44e1-b897-efb53fccb28b%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/jenkinsci-dev/5df09fce-a488-44e1-b897-efb53fccb28b%40googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/40e018b2-c4e0-4248-a54c-0acdbb50010c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Plugins dependency tree

Daniel Beck
In reply to this post by Arnaud Tamaillon

> On 26. Dec 2017, at 16:25, Arnaud Tamaillon <[hidden email]> wrote:
>
> This would help manage the life cycle of deprecated symbols by providing a tool to plugin authors to check dependent plugins for breaking changes.
>

http://updates.jenkins-ci.org/update-center.actual.json is the raw JSON with dependency information, but note transitive dependencies may be a problem.

To get actual API usage, you can adapt https://github.com/jenkins-infra/deprecated-usage-in-plugins fairly easily to look for specific signatures or classes. Just rip out most of DeprecatedApi and replace with a fixed list of signatures; or even just check for a className.startsWith("my/package/name/" in DeprecatedUsage.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/67CA81ED-EBB2-47B0-B379-F3CD15F956FF%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Plugins dependency tree

Arnaud Tamaillon
Hello,

I did the adaptation, and proposed it as a PR here: https://github.com/jenkins-infra/deprecated-usage-in-plugins/pull/8
I only handled direct dependencies, which is what is of interest for the developers I think.

I also fixed the javadoc links which were broken.
As a consequence, I also wondered if there was something available to host plugins javadoc ?

Arnaud


Le jeudi 28 décembre 2017 00:17:05 UTC+1, Daniel Beck a écrit :

> On 26. Dec 2017, at 16:25, Arnaud Tamaillon <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="VV_hOrFGDwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">arnau...@...> wrote:
>
> This would help manage the life cycle of deprecated symbols by providing a tool to plugin authors to check dependent plugins for breaking changes.
>

<a href="http://updates.jenkins-ci.org/update-center.actual.json" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fupdates.jenkins-ci.org%2Fupdate-center.actual.json\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEYakzwq_7P-JCOUb8ICt7hguSRMw&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fupdates.jenkins-ci.org%2Fupdate-center.actual.json\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEYakzwq_7P-JCOUb8ICt7hguSRMw&#39;;return true;">http://updates.jenkins-ci.org/update-center.actual.json is the raw JSON with dependency information, but note transitive dependencies may be a problem.

To get actual API usage, you can adapt <a href="https://github.com/jenkins-infra/deprecated-usage-in-plugins" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fjenkins-infra%2Fdeprecated-usage-in-plugins\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFI9MlRSoPOg-NXCF8CqbSqzYXovw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fjenkins-infra%2Fdeprecated-usage-in-plugins\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFI9MlRSoPOg-NXCF8CqbSqzYXovw&#39;;return true;">https://github.com/jenkins-infra/deprecated-usage-in-plugins fairly easily to look for specific signatures or classes. Just rip out most of DeprecatedApi and replace with a fixed list of signatures; or even just check for a className.startsWith("my/package/name/" in DeprecatedUsage.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/046c45b5-4d8f-40ab-8360-8e64c9a78662%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.