-
Notifications
You must be signed in to change notification settings - Fork 52
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
Add authentication-tokens
to the managed set
#2189
Conversation
Pin version 1.4 for 2.375.x
Do you not want to |
Thanks for the pointer. Yes, I've labeled it with |
jenkinsci/bom#2095 requests the addition of authentication tokens to the managed set in the plugin bill of materials. jenkinsci/bom#2189 implements that but shows that the addition fails because authentication-tokens plugin 1.4 needs to be pinned for Jenkins 2.375.x and authentication-tokens plugin 1.4 lists its SCM location with a git:// protocol URL instead of an https:// protocol URL. Use the same workaround that is used for other older plugins. This can be removed once the 2.375.x line is no longer needed in the plugin bill of materials.
Will require a new release of the plugin compatibility tester before this can be merged. Jenkins 2.375.x needs authentication tokens plugin 1.4 but that release includes the scm URL with a git:// protocol. The git:// protocol is now rejected by GitHub. That prevents checkout of the authentication token plugin 1.4 sources, so the testing fails. Moving this to draft status, since it can't be merged until after a new release of PCT. Needs merge and release of |
<dependency> | ||
<groupId>org.jenkins-ci.plugins</groupId> | ||
<artifactId>authentication-tokens</artifactId> | ||
<scope>test</scope> | ||
</dependency> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, though normally we would prefer to include it implicitly via some other plugin with visible features.
Ideally we would use dependency:analyze
or similar to verify that this POM includes a minimal set of dependencies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I had not considered that technique. I think that means that the final conclusion would be to resolve the issue:
with pull request
and include the Docker Commons API plugin in the sample plugin. It depends on authentication-tokens.
Since docker-commons
is an api plugin without visible features, should we consider adding Docker Pipeline to the managed set (110 000 installations) ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably yes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally we would use
dependency:analyze
or similar to verify that this POM includes a minimal set of dependencies
I'm not skilled with maven, but I ran mvn --pl sample-plugin dependency:analyze
and it reported many declared but unused dependencies. I tried removing the first one in the list, jsch
, and that caused mvn --pl sample-plugin verify
to fail with the report that jsch
is not listed in the test classpath of the sample plugin.
However, the caffeine-api plugin is not mentioned in the sample-plugin pom file yet is mentioned in the bom-weekly. Apparently some plugins do not need to be listed in sample-plugin/pom.xml
but it is not apparent to me which must be listed and which can be skipped.
Clearly I have much more to learn about maven and dependencies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the caffeine-api plugin is not mentioned in the sample-plugin pom file yet is mentioned in the bom-weekly. Apparently some plugins do not need to be listed in
sample-plugin/pom.xml
but it is not apparent to me which must be listed and which can be skipped.
Those which would be dependencies of other explicitly listed plugins can be omitted, and preferably should (especially in the case of API-only plugins). Whether this is amenable to mechanical enforcement is another question.
I ran
… dependency:analyze
and it reported many declared but unused dependencies
Unfortunately it is designed for plain old Java programs and there are numerous subtleties specific to Jenkins plugins.
authentication-tokens
to managed set
authentication-tokens
to managed setauthentication-tokens
to the managed set
Add authentication-tokens plugin to managed set
Use latest release for all versions now included in bom.
Fixes #2095
Testing done
Confirmed that tests work with the following commands:
Submitter checklist