adding the ability for users to override implicitly loaded global libraries.#76
adding the ability for users to override implicitly loaded global libraries.#76willcrain1 wants to merge 1 commit into
Conversation
jglick
left a comment
There was a problem hiding this comment.
Setting aside technical details about the code here, I am not sure this feature is safe. There is indeed an unmet need
there's no way to import a fork of a library
but I think this should be addressed at a different layer, such as in the github-branch-source implementation of the relevant API.
| return changelog; | ||
| } | ||
|
|
||
| public Boolean getExistingLibrariesUsed() { |
There was a problem hiding this comment.
Getters and setters should take boolean, not Boolean.
| private final String identifier; | ||
| private Boolean changelog = true; | ||
| private LibraryRetriever retriever; | ||
| private Boolean existingLibrariesUsed = true; |
There was a problem hiding this comment.
This seems like a risky default.
|
As of #172 most of the code in this plugin has been moved to another plugin repository so this PR must be closed. If this change is still needed, please git clone https://github.com/jenkinsci/pipeline-groovy-lib-plugin
cd pipeline-groovy-lib-plugin
git checkout -b PLEASE-SELECT-BRANCH-NAME
git pull https://github.com/willcrain1/workflow-cps-global-lib-plugin masterresolve any merge conflicts, and file a fresh PR on the new repository. Be sure to paste a link to this old PR to enable bidirectional navigation. |
In my company we use this shared pipeline library plugin, and I find it hard to test changes to shared pipeline libraries unless I have write access to their repository and am able to create a branch, then I can refer to the changes with @Library('libraryname@branchname').
Currently it seems there's no way to import a fork of a library to override an implicitly loaded shared library. I'd use this functionality frequently to test any changes made in our shared libraries.
I was able to test this PR by building hpi files and importing them into the jenkinsci official docker container. I then created a shared library here: https://github.com/willcrain1/test-pipeline-library and forked it here as well and made minor changes: https://github.com/jenkinspipelinetesting/test-pipeline-library
I executed the libraries in this Jenkinsfile: https://github.com/willcrain1/test-pipeline/blob/master/Jenkinsfile
@jglick @kohsuke any feedback is appreciated.