jenkinsci / plugin-installation-manager-tool

Plugin Manager CLI tool for Jenkins
MIT License
395 stars 202 forks source link

Multiple plugin prerequisites not met #303

Closed gopivalleru closed 3 years ago

gopivalleru commented 3 years ago

Version report

Jenkins and plugins versions report:

Jenkins: 2.190.1
OS: Linux - 4.15.0-1063-aws
---
pipeline-graph-analysis:1.10
ace-editor:1.1
blueocean-i18n:1.19.0
branch-api:2.5.4
parameterized-scheduler:0.8
workflow-durable-task-step:2.34
credentials-binding:1.20
run-condition:1.2
jquery-detached:1.2.1
javadoc:1.5
pipeline-input-step:2.11
hockeyapp:1.5.1
jobConfigHistory:2.24
blueocean-personalization:1.19.0
discard-old-build:1.05
matrix-project:1.14
git-parameter:0.9.11
jobgenerator:1.22
pipeline-rest-api:2.12
cloudbees-bitbucket-branch-source:2.4.6
uno-choice:2.2.1
jdk-tool:1.3
workflow-api:2.37
matrix-auth:2.4.2
extended-choice-parameter:0.78
trilead-api:1.0.4
amazon-ecr:1.6
maven-plugin:3.4
datadog:1.0.0
variant:1.3
lockable-resources:2.5
git-client:2.8.6
workflow-support:3.3
pipeline-model-extensions:1.3.9
jquery:1.12.4-1
pipeline-stage-step:2.3
docker-commons:1.15
groovy:2.2
cloudbees-folder:6.9
pipeline-model-api:1.3.9
ec2:1.42
metrics:4.0.2.6
slave-setup:1.10
authentication-tokens:1.3
pipeline-milestone-step:1.3.1
rebuild:1.31
http_request:1.8.23
built-on-column:1.1
ws-cleanup:0.37
pipeline-stage-view:2.12
timestamper:1.10
blueocean:1.19.0
git-server:1.8
pubsub-light:1.13
jenkins-multijob-plugin:1.32
role-strategy:2.14
blueocean-pipeline-scm-api:1.19.0
envinject:2.2.1
windows-slaves:1.4
mercurial:2.8
job-restrictions:0.8
aws-credentials:1.28
pam-auth:1.5.1
workflow-job:2.35
jira:3.0.9
durable-task:1.30
htmlpublisher:1.20
ssh-slaves:1.30.2
credentials:2.3.0
prometheus:2.0.6
jquery-ui:1.0.2
pipeline-model-definition:1.3.9
notification:1.13
github:1.29.4
blueocean-events:1.19.0
mailer:1.28
script-security:1.66
blueocean-pipeline-editor:1.19.0
cron_column:1.4
ant:1.10
icon-shim:2.0.3
promoted-builds:3.4
ssh:2.6.1
workflow-cps:2.80
job-dsl:1.76
email-ext:2.69
copyartifact:1.42.1
workflow-basic-steps:2.18
parameterized-trigger:2.35.2
working-hours:1.0
ivy:2.1
gradle:1.34
google-login:1.6
blueocean-rest-impl:1.19.0
antisamy-markup-formatter:1.6
terraform:1.0.9
convert-to-pipeline:1.0
blueocean-rest:1.19.0
ez-templates:1.3.2
blueocean-git-pipeline:1.19.0
docker-build-publish:1.3.2
aws-java-sdk:1.11.636
git:3.12.1
scm-api:2.6.3
artifactory:3.9.0
plain-credentials:1.5
handlebars:1.1.1
resource-disposer:0.13
workflow-scm-step:2.9
workflow-aggregator:2.6
build-timeout:1.19
blueocean-dashboard:1.19.0
blueocean-display-url:2.3.0
ldap:1.20
config-file-provider:3.6.3
favorite:2.3.2
multiple-scms:0.6
blueocean-github-pipeline:1.19.0
blueocean-pipeline-api-impl:1.19.0
ssh-agent:1.17
junit:1.28
blueocean-config:1.19.0
build-user-vars-plugin:1.5
display-url-api:2.3.2
workflow-cps-global-lib:2.15
jsch:0.1.55.1
workflow-multibranch:2.21
sse-gateway:1.20
workflow-step-api:2.22
ghprb:1.42.0
pipeline-stage-tags-metadata:1.3.9
blueocean-jwt:1.19.0
bouncycastle-api:2.17
blueocean-jira:1.19.0
blueocean-core-js:1.19.0
command-launcher:1.3
docker-workflow:1.19
jenkins-design-language:1.19.0
ansicolor:0.6.2
token-macro:2.8
conditional-buildstep:1.3.6
github-api:1.95
jackson2-api:2.9.10
node-iterator-api:1.5.0
slack:2.23
pipeline-model-declarative-agent:1.1.1
blueocean-autofavorite:1.2.4
external-monitor-job:1.7
ssh-credentials:1.17.3
rake:1.8.0
blueocean-bitbucket-pipeline:1.19.0
structs:1.20
shelve-project-plugin:2.5
ansible:1.0
saml:1.1.3
aws-device-farm:1.26
github-branch-source:2.5.7
momentjs:1.1.1
handy-uri-templates-2-api:2.1.7-1.0
blueocean-web:1.19.0
enhanced-old-build-discarder:1.4
apache-httpcomponents-client-4-api:4.5.10-1.0
blueocean-commons:1.19.0
pipeline-build-step:2.9
build-name-setter:2.0.3
configurationslicing:1.47
build-blocker-plugin:1.7.3
envinject-api:1.6
demo:1.0-SNAPSHOT (***)
configuration-as-code:1.36.2
delivery-pipeline-plugin:1.4.2
Result: [Plugin:pipeline-graph-analysis, Plugin:ace-editor, Plugin:blueocean-i18n, Plugin:branch-api, Plugin:parameterized-scheduler, Plugin:workflow-durable-task-step, Plugin:credentials-binding, Plugin:run-condition, Plugin:jquery-detached, Plugin:javadoc, Plugin:pipeline-input-step, Plugin:hockeyapp, Plugin:jobConfigHistory, Plugin:blueocean-personalization, Plugin:discard-old-build, Plugin:matrix-project, Plugin:git-parameter, Plugin:jobgenerator, Plugin:pipeline-rest-api, Plugin:cloudbees-bitbucket-branch-source, Plugin:uno-choice, Plugin:jdk-tool, Plugin:workflow-api, Plugin:matrix-auth, Plugin:extended-choice-parameter, Plugin:trilead-api, Plugin:amazon-ecr, Plugin:maven-plugin, Plugin:datadog, Plugin:variant, Plugin:lockable-resources, Plugin:git-client, Plugin:workflow-support, Plugin:pipeline-model-extensions, Plugin:jquery, Plugin:pipeline-stage-step, Plugin:docker-commons, Plugin:groovy, Plugin:cloudbees-folder, Plugin:pipeline-model-api, Plugin:ec2, Plugin:metrics, Plugin:slave-setup, Plugin:authentication-tokens, Plugin:pipeline-milestone-step, Plugin:rebuild, Plugin:http_request, Plugin:built-on-column, Plugin:ws-cleanup, Plugin:pipeline-stage-view, Plugin:timestamper, Plugin:blueocean, Plugin:git-server, Plugin:pubsub-light, Plugin:jenkins-multijob-plugin, Plugin:role-strategy, Plugin:blueocean-pipeline-scm-api, Plugin:envinject, Plugin:windows-slaves, Plugin:mercurial, Plugin:job-restrictions, Plugin:aws-credentials, Plugin:pam-auth, Plugin:workflow-job, Plugin:jira, Plugin:durable-task, Plugin:htmlpublisher, Plugin:ssh-slaves, Plugin:credentials, Plugin:prometheus, Plugin:jquery-ui, Plugin:pipeline-model-definition, Plugin:notification, Plugin:github, Plugin:blueocean-events, Plugin:mailer, Plugin:script-security, Plugin:blueocean-pipeline-editor, Plugin:cron_column, Plugin:ant, Plugin:icon-shim, Plugin:promoted-builds, Plugin:ssh, Plugin:workflow-cps, Plugin:job-dsl, Plugin:email-ext, Plugin:copyartifact, Plugin:workflow-basic-steps, Plugin:parameterized-trigger, Plugin:working-hours, Plugin:ivy, Plugin:gradle, Plugin:google-login, Plugin:blueocean-rest-impl, Plugin:antisamy-markup-formatter, Plugin:terraform, Plugin:convert-to-pipeline, Plugin:blueocean-rest, Plugin:ez-templates, Plugin:blueocean-git-pipeline, Plugin:docker-build-publish, Plugin:aws-java-sdk, Plugin:git, Plugin:scm-api, Plugin:artifactory, Plugin:plain-credentials, Plugin:handlebars, Plugin:resource-disposer, Plugin:workflow-scm-step, Plugin:workflow-aggregator, Plugin:build-timeout, Plugin:blueocean-dashboard, Plugin:blueocean-display-url, Plugin:ldap, Plugin:config-file-provider, Plugin:favorite, Plugin:multiple-scms, Plugin:blueocean-github-pipeline, Plugin:blueocean-pipeline-api-impl, Plugin:ssh-agent, Plugin:junit, Plugin:blueocean-config, Plugin:build-user-vars-plugin, Plugin:display-url-api, Plugin:workflow-cps-global-lib, Plugin:jsch, Plugin:workflow-multibranch, Plugin:sse-gateway, Plugin:workflow-step-api, Plugin:ghprb, Plugin:pipeline-stage-tags-metadata, Plugin:blueocean-jwt, Plugin:bouncycastle-api, Plugin:blueocean-jira, Plugin:blueocean-core-js, Plugin:command-launcher, Plugin:docker-workflow, Plugin:jenkins-design-language, Plugin:ansicolor, Plugin:token-macro, Plugin:conditional-buildstep, Plugin:github-api, Plugin:jackson2-api, Plugin:node-iterator-api, Plugin:slack, Plugin:pipeline-model-declarative-agent, Plugin:blueocean-autofavorite, Plugin:external-monitor-job, Plugin:ssh-credentials, Plugin:rake, Plugin:blueocean-bitbucket-pipeline, Plugin:structs, Plugin:shelve-project-plugin, Plugin:ansible, Plugin:saml, Plugin:aws-device-farm, Plugin:github-branch-source, Plugin:momentjs, Plugin:handy-uri-templates-2-api, Plugin:blueocean-web, Plugin:enhanced-old-build-discarder, Plugin:apache-httpcomponents-client-4-api, Plugin:blueocean-commons, Plugin:pipeline-build-step, Plugin:build-name-setter, Plugin:configurationslicing, Plugin:build-blocker-plugin, Plugin:envinject-api, Plugin:demo, Plugin:configuration-as-code, Plugin:delivery-pipeline-plugin]
VERSION="18.04.3 LTS (Bionic Beaver)"

Reproduction steps

Multiple plugin prerequisites not met:

trilead-api (1.0.13) requires a greater version of Jenkins (2.204) than 2.190.1

- Install delivery-pipeline-plugin from jenkins UI.
- Now list the plugins. UI figured out right version of dependency. 

java -jar jenkins-plugin-manager-2.8.0.jar -d plugins/ --list | egrep "delivery-pipeline-plugin|trilead-api" delivery-pipeline-plugin 1.4.2 trilead-api 1.0.4 delivery-pipeline-plugin 1.4.2 trilead-api 1.0.4

Results

Expected result: Expected the tool to figureout right version of dependencies to download based on jenkins version.

Actual result: Tool is trying to use latest version of dependency which is failing.

timja commented 3 years ago

'Jenkins: 2.190.1' is an unsupported line, the update center will give us versions that work based on your Jenkins version if you're using a supported line.

Update center support is roughly the last year of LTS releases so, ~4 back. At least 2.222.x would be required, but in general should always be running the latest LTS release, currently 2.263.x...