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

New PromotionProcess,PromotionCondition and PromotionConditionDescriptor classes for the plugin.

    • GSoC 2019. Coding Phase 1, GSoC 2019. Coding Phase 2, GSoC 2019. Coding Phase 3

      Before implementing the promotion-conditions(Self and Manual Conditions), it seems necessary to build new abstract/classes for the following existing classes.

      • PromotionCondition
      • PromotionConditionDescriptor

      For readability ease all these classes are being added by the word "Pipeline" as their prefix.

      Three new analogous classes are being made retaining some of the original functions and will timely be updated as other classes start depending on them.

      Acceptance criteria:

      • The classes are created, and they can be used in further APIs. There is is no user-facing feature for now
      • The classes are marked as Restricted so that they not a part of API. It will change eventually
      • There is basic test automation that these classes really work

       

          [JENKINS-57903] New PromotionProcess,PromotionCondition and PromotionConditionDescriptor classes for the plugin.

          Oleg Nenashev added a comment -

          The ticket is marked as resolved, but the code has been neither merged nor submitted against right location for starters

          Oleg Nenashev added a comment - The ticket is marked as resolved, but the code has been neither merged nor submitted against right location for starters

          Jon Brohauge added a comment - - edited

          Reopening issue due to missing link to PR

          Status set to In Progress

          Jon Brohauge added a comment - - edited Reopening issue due to missing link to PR Status set to In Progress

          Updates and changes in the task:

          1) The same old PromotionDescriptor and PromotionCondition classes will instead be refactored.

          2) For PromotionProcess a new class will be made as decided.

          Relevant PR link:   

          Prastik Gyawali added a comment - Updates and changes in the task: 1) The same old PromotionDescriptor and PromotionCondition classes will instead be refactored. 2) For PromotionProcess a new class will be made as decided. Relevant PR link:    https://github.com/jenkinsci/promoted-builds-plugin/pull/137

          Oleg Nenashev added a comment -

          Moving the issue to the JENKINS-36089 EPIC

          Oleg Nenashev added a comment - Moving the issue to the JENKINS-36089 EPIC

          Oleg Nenashev added a comment - Some code from derndren161 which could be reused:   https://github.com/jenkinsci/promoted-builds-plugin/pull/137/commits/9c51d9e14d021769b4f38a80f0b08f65637cff62 https://github.com/jenkinsci/promoted-builds-plugin/pull/137/commits/d1ce53de6aa5622899b21768cca4e813c0fab024 https://github.com/jenkinsci/promoted-builds-plugin/pull/137/commits/8aa5cec8c4feada2e5d14e6a8eaab66dc8c75cca https://github.com/jenkinsci/promoted-builds-plugin/pull/137/commits/4fa0b38bf7dc5dc832ede16b522fc896d970ee62 Some of this code can be retrieved from commits though it might be easier to just rewrite the code. https://github.com/jenkinsci/promoted-builds-plugin/pull/131  will be closed as discussed above  

          Oleg Nenashev added a comment -

          I tried moving PromotionCondition to the draft API plugin, and it will impose binary compatibility issues due to explicit dependency on the PromotionProcess. Moving PromotionProcess to the API plugin would also require moving the Promotion and several other classes to the API plugin. Will experiment with renaming classes

          Oleg Nenashev added a comment - I tried moving PromotionCondition to the draft API plugin, and it will impose binary compatibility issues due to explicit dependency on the PromotionProcess. Moving PromotionProcess to the API plugin would also require moving the Promotion and several other classes to the API plugin. Will experiment with renaming classes

            oleg_nenashev Oleg Nenashev
            derndren161 Prastik Gyawali
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: