-
Improvement
-
Resolution: Unresolved
-
Minor
If two different plugins define the same symbol name in steps or parameters then the workflow cps plugin can't instantiate the right element.
I.e., in JENKINS-55328 a user created a step
recordIssues tools: [checkStyle(), pmd(pattern: 'target/pmd.xml'), spotBugs(), cpd(pattern: 'target/cpd.xml')]
Since the user already installed the PMD plugin, the symbol pmd has been reserved for the step in the PMD plugin already. That means, rather then providing the pmd tool to my recordIssues step, it started the pmd step and set the corresponding array element to null.
The same happened in JENKINS-53181. In the comments jglick noted that this behavior could not be changed (or is hard to change). It would help other plugin developers, if in such cases at least the workflow-cps engine could provide a meaningful exception (with the conflicting Jenkinsfile line) rather then assigning null to a parameter.
- blocks
-
JENKINS-55328 recordIssues and ScanForIssues in Pipeline get NPE Errors
-
- Resolved
-
-
JENKINS-53181 Jacoco adapter does not work if Jacoco plugin is installed too
-
- Resolved
-
- relates to
-
JENKINS-55436 Duplicate symbols break declarative pipeline engine
-
- Resolved
-
It might make also sense that we have a tool that scans all plugin symbols for duplications, e.g. before these symbols are aggregated in our pipeline online help page. It is only a matter of time that someone else will create an object with a symbol that has been used already.