Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-12216

Rake/Ruby build step is not available in actions for other plugins

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Minor Minor
    • rake-plugin, ruby-plugin
    • None
    • Jenkins 1.420 & 1.444
      Rake plugin 1.7.7
      Promoted build plugin 2.4
      Conditional buildstep plugin 0.3

      With the Rake plugin installed, a rake build step appears in the list of build steps. However, when also using the promoted builds plugin, the list of
      actions to be executed with a promoted build does not contain the rake build step.

      Upon investigation, the list of possible actions in the promoted builds plugin gets compiled using the following condition:

      BuildStepDescriptor bsd = (BuildStepDescriptor) d;
                      if(bsd.isApplicable(PromotionProcess.class))
                          list.add(d);
      

      (in promoted-builds-plugin/src/main/java/hudson/plugins/promoted_builds/PromotionProcess.java)

      I guess the reason why the Rake builder does not appear in the list of actions, is because the RakeDescriptor class
      extends the Descriptor<Builder> class instead of the BuildStepDescriptor<Builder> class:

      public static final class RakeDescriptor extends Descriptor<Builder> {
      

      (in rake-plugin/src/main/java/hudson/plugins/rake/Rake.java)

      My guess is that adding an

      import hudson.tasks.BuildStepDescriptor;
      

      and changing the RakeDescriptor class to:

      public static final class RakeDescriptor extends BuildStepDescriptor<Builder> {
      

      might fix this.

      I have to say I am a complete Java newbie, and the Jenkins code is unknown to me, so
      I might be way off.

            dieterdemeyer Dieter De Meyer
            willaerk Kristof Willaert
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: