Adding Downloadables to Jenkins

19 views
Skip to first unread message

Tim Van Holder

unread,
Jun 1, 2020, 11:17:56 AM6/1/20
to Jenkins Developers
Hi all,

I am working on a plugin (https://github.com/jenkinsci/dotnet-sdk-plugin) which includes a tool installer.

Currently, I am using json files as resources as a basis of this installer; this is because I ran into two roadblocks:
  • the existing DownloadFromUrlInstaller assumes architecture-independent processing and therefore:
    • does not offer label configuration
    • uses a very simple flat list of install packages (and a simple 'id' value)
      • there are currently over 1000 SDK packages for .NET, so a flat list really is not workable
  • while there is code available in Jenkins core and plugins that uses DownloadFromUrlInstaller or Downloadable, it is rather unclear to me how the downloadable file gets on the update center to begin with (for example, the ANt plugin does not seem to include any code that looks on ant.apache.org for the available downloads)

The first issue is easily overcome by writing a custom installer, which I have done.

The second is still a question mark. I found one page somewhere about needing to write a scraper to generate the file, but that did not go into details on what that would look like, or how to get an update center to use it.

So, I would appreciate if you could point me to a document describing what's involved in getting one or more Downloadables(*), or if no such document exists, the steps required.
I would prefer having this in place before my 1.0 release.


(*) is Downloadable intended strictly for ToolInstallers only? I have two other JSON files, now as resources, used as source for auto-completion. They too would benefit from being kept up to date outside of a plugin release cycle.

Daniel Beck

unread,
Jun 1, 2020, 12:16:43 PM6/1/20
to jenkin...@googlegroups.com


> On 1. Jun 2020, at 14:56, Tim Van Holder <tim.va...@gmail.com> wrote:
>
> The second is still a question mark. I found one page somewhere about needing to write a scraper to generate the file, but that did not go into details on what that would look like, or how to get an update center to use it.
>

https://github.com/jenkins-infra/crawler/ is periodically executed in Jenkins project infrastructure.

Results are placed in https://updates.jenkins.io/updates/

Tim Van Holder

unread,
Jun 1, 2020, 1:15:10 PM6/1/20
to jenkin...@googlegroups.com
Ah, so it's just a matter of filing a PR there? Cool.

Thanks. Now to teach myself enough Groovy for my purposes :)

--
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 jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/D374727B-862F-45CB-A373-65F144A4A290%40beckweb.net.
Reply all
Reply to author
Forward
0 new messages