1616
1717package org .csanchez .jenkins .plugins .kubernetes .pipeline ;
1818
19- import hudson .Extension ;
2019import hudson .ExtensionComponent ;
2120import java .io .IOException ;
2221import java .nio .charset .StandardCharsets ;
2322import jenkins .ExtensionFilter ;
2423import org .apache .commons .io .IOUtils ;
24+ import org .jenkinsci .plugins .variant .OptionalExtension ;
2525import org .jenkinsci .plugins .workflow .cps .GroovySample ;
2626
2727public class KubernetesSamples {
2828
29- @ Extension public static final class SuppressToolBasedSamples extends ExtensionFilter {
29+ @ OptionalExtension ( requirePlugins = "workflow-cps" ) public static final class SuppressToolBasedSamples extends ExtensionFilter {
3030
3131 @ Override public <T > boolean allows (Class <T > type , ExtensionComponent <T > component ) {
32- if (type . getName (). equals ( "org.jenkinsci.plugins.workflow.cps.GroovySample" )) { // do not link against GroovySample yet
32+ if (type == GroovySample . class ) {
3333 switch (((GroovySample ) component .getInstance ()).name ()) {
3434 case "github-maven" :
3535 case "scripted" :
@@ -55,7 +55,7 @@ private static abstract class Static implements GroovySample {
5555
5656 }
5757
58- @ Extension ( ordinal = 1500 , optional = true ) public static final class Declarative extends Static {
58+ @ OptionalExtension ( requirePlugins = "workflow-cps" , ordinal = 1500 ) public static final class Declarative extends Static {
5959
6060 @ Override public String name () {
6161 return "kubernetes-declarative" ;
@@ -67,7 +67,7 @@ private static abstract class Static implements GroovySample {
6767
6868 }
6969
70- @ Extension ( ordinal = 1400 , optional = true ) public static final class Maven extends Static {
70+ @ OptionalExtension ( requirePlugins = "workflow-cps" , ordinal = 1400 ) public static final class Maven extends Static {
7171
7272 @ Override public String name () {
7373 return "kubernetes-maven" ;
@@ -79,7 +79,7 @@ private static abstract class Static implements GroovySample {
7979
8080 }
8181
82- @ Extension ( ordinal = 1300 , optional = true ) public static final class Windows extends Static {
82+ @ OptionalExtension ( requirePlugins = "workflow-cps" , ordinal = 1300 ) public static final class Windows extends Static {
8383
8484 @ Override public String name () {
8585 return "kubernetes-windows" ;
0 commit comments