• Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Major Major
    • workflow-cps-plugin
    • None

      For people writing flows in Eclipse, DSLD would be a useful complement to the snippet generator.

      IDEA uses GDSL. It seems there is no acknowledged standard; would apparently have to build support for both. (I can find no DSL system for NetBeans.)

          [JENKINS-26126] DSLD and/or GDSL

          Jesse Glick added a comment -

          Would presumably need DescribableHelper to include an API for introspecting describable classes, in addition to dealing with particular instances. Surface syntax aspects would be specific to the CPS DSL.

          Jesse Glick added a comment - Would presumably need DescribableHelper to include an API for introspecting describable classes, in addition to dealing with particular instances. Surface syntax aspects would be specific to the CPS DSL.

          Jesse Glick added a comment -

          PR 44 adds hardcoded GDSL (not DSLD) for a few steps.

          Jesse Glick added a comment - PR 44 adds hardcoded GDSL (not DSLD) for a few steps.

          Jesse Glick added a comment -

          Should also be able to emit (for example) HTML for static reference guides.

          Jesse Glick added a comment - Should also be able to emit (for example) HTML for static reference guides.

          A generic @Extension point that allows other plugins to implement other output formats (GDSL, DSLD, HTML, ... etc.) seems like the route to take.

          Andy Pemberton added a comment - A generic @Extension point that allows other plugins to implement other output formats (GDSL, DSLD, HTML, ... etc.) seems like the route to take.

          rsandell added a comment - - edited

          I made a workflow script that generates a GDSL file for you. It has some issues and is riddled with bugs, assumptions and guesses. But it's a start to build from maybe

          https://gist.github.com/rsandell/ea18fa6bf07662a223f5

          rsandell added a comment - - edited I made a workflow script that generates a GDSL file for you. It has some issues and is riddled with bugs, assumptions and guesses. But it's a start to build from maybe https://gist.github.com/rsandell/ea18fa6bf07662a223f5

          Andrew Bayer added a comment -

          fwiw, I've thrown that (after a tweak to deal with an IllegalStateException it hit in SCMVar) into https://github.com/abayer/workflow-experiments/blob/master/workflow-gdsl.groovy.

          Andrew Bayer added a comment - fwiw, I've thrown that (after a tweak to deal with an IllegalStateException it hit in SCMVar ) into https://github.com/abayer/workflow-experiments/blob/master/workflow-gdsl.groovy .

          Jesse Glick added a comment -

          Might need a fix of JENKINS-29711 since we do not want to duplicate that fix in Snippetizer.

          Jesse Glick added a comment - Might need a fix of JENKINS-29711 since we do not want to duplicate that fix in Snippetizer .

          Jesse Glick added a comment -

          JENKINS-29922 would change the surface syntax.

          Jesse Glick added a comment - JENKINS-29922 would change the surface syntax.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java
          step-api/src/test/java/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest.java
          http://jenkins-ci.org/commit/workflow-plugin/3a3d8a1962ef2f59e4993f9bb5177d8476837e00
          Log:
          JENKINS-26126 API sketch and initial tests.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java step-api/src/test/java/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest.java http://jenkins-ci.org/commit/workflow-plugin/3a3d8a1962ef2f59e4993f9bb5177d8476837e00 Log: JENKINS-26126 API sketch and initial tests.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java
          step-api/src/test/java/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest.java
          http://jenkins-ci.org/commit/workflow-plugin/4ba0db76cd0065480cf9622cbbf9bbd047a6af02
          Log:
          JENKINS-26126 Implemented basic API.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java step-api/src/test/java/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest.java http://jenkins-ci.org/commit/workflow-plugin/4ba0db76cd0065480cf9622cbbf9bbd047a6af02 Log: JENKINS-26126 Implemented basic API.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java
          step-api/src/test/java/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest.java
          step-api/src/test/resources/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest/Impl1/help-text.html
          step-api/src/test/resources/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest/Impl1/help.html
          http://jenkins-ci.org/commit/workflow-plugin/5f6e8fdf24869bd840bf36ec93f792547b7a5f86
          Log:
          JENKINS-26126 Implemented getDisplayName and getHelp.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java step-api/src/test/java/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest.java step-api/src/test/resources/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest/Impl1/help-text.html step-api/src/test/resources/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest/Impl1/help.html http://jenkins-ci.org/commit/workflow-plugin/5f6e8fdf24869bd840bf36ec93f792547b7a5f86 Log: JENKINS-26126 Implemented getDisplayName and getHelp.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly
          step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java
          http://jenkins-ci.org/commit/workflow-plugin/5cab32054acc4e2e21b0bf0479a5ac3a5db72cdc
          Log:
          JENKINS-26126 Crude static HTML reference documentation generator.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java http://jenkins-ci.org/commit/workflow-plugin/5cab32054acc4e2e21b0bf0479a5ac3a5db72cdc Log: JENKINS-26126 Crude static HTML reference documentation generator.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          CHANGES.md
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/EnvActionImpl.java
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/EnvActionImpl/Binder/help.jelly
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/steps/EvaluateStep/config.jelly
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/steps/EvaluateStep/help-path.html
          cps/src/test/java/org/jenkinsci/plugins/workflow/cps/SnippetizerTest.java
          step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java
          step-api/src/test/java/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest.java
          step-api/src/test/resources/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest/Impl1/help-text.html
          step-api/src/test/resources/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest/Impl1/help.html
          http://jenkins-ci.org/commit/workflow-plugin/4934c1c45b1bf308c3c99a4c79d1275c44850249
          Log:
          JENKINS-26126 Noting merge of #275.

          Compare: https://github.com/jenkinsci/workflow-plugin/compare/521099bd8a31...4934c1c45b1b

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: CHANGES.md cps/src/main/java/org/jenkinsci/plugins/workflow/cps/EnvActionImpl.java cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/EnvActionImpl/Binder/help.jelly cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/steps/EvaluateStep/config.jelly cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/steps/EvaluateStep/help-path.html cps/src/test/java/org/jenkinsci/plugins/workflow/cps/SnippetizerTest.java step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java step-api/src/test/java/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest.java step-api/src/test/resources/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest/Impl1/help-text.html step-api/src/test/resources/org/jenkinsci/plugins/workflow/structs/DescribableHelperTest/Impl1/help.html http://jenkins-ci.org/commit/workflow-plugin/4934c1c45b1bf308c3c99a4c79d1275c44850249 Log: JENKINS-26126 Noting merge of #275. Compare: https://github.com/jenkinsci/workflow-plugin/compare/521099bd8a31...4934c1c45b1b

          Andrew Bayer added a comment -

          (very) preliminary GDSL/DSLD generation in a PR at https://github.com/jenkinsci/workflow-plugin/pull/279 - it's generating valid Groovy, so that's a start. =)

          Andrew Bayer added a comment - (very) preliminary GDSL/DSLD generation in a PR at https://github.com/jenkinsci/workflow-plugin/pull/279 - it's generating valid Groovy, so that's a start. =)

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslHelp.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReference.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReferenceContent.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dsld.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/gdsl.groovy
          cps/src/test/java/org/jenkinsci/plugins/workflow/cps/SnippetizerTest.java
          step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java
          http://jenkins-ci.org/commit/workflow-plugin/ccedde44b53dde20b3360b4402e028de4069742a
          Log:
          [JENKINS-26126, JENKINS-32133] GDSL, DSLD, improved reference docs

          Squashed down to one commit. Added GDSL, DSLD and Groovy view-driven
          HTML reference docs for Workflow DSL, integrated into the job config
          UI, also able to be fetched directly from standard URLs.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslHelp.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReference.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReferenceContent.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dsld.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/gdsl.groovy cps/src/test/java/org/jenkinsci/plugins/workflow/cps/SnippetizerTest.java step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java http://jenkins-ci.org/commit/workflow-plugin/ccedde44b53dde20b3360b4402e028de4069742a Log: [JENKINS-26126, JENKINS-32133] GDSL, DSLD, improved reference docs Squashed down to one commit. Added GDSL, DSLD and Groovy view-driven HTML reference docs for Workflow DSL, integrated into the job config UI, also able to be fetched directly from standard URLs.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          CHANGES.md
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslHelp.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReference.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReferenceContent.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dsld.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/gdsl.groovy
          cps/src/test/java/org/jenkinsci/plugins/workflow/cps/SnippetizerTest.java
          step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java
          http://jenkins-ci.org/commit/workflow-plugin/109c985ef8828c9e68a62abe6a671d4f2080a6c5
          Log:
          JENKINS-26126 Merging #279.

          Compare: https://github.com/jenkinsci/workflow-plugin/compare/118b89e1b182...109c985ef882

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: CHANGES.md cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslHelp.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReference.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReferenceContent.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dsld.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/gdsl.groovy cps/src/test/java/org/jenkinsci/plugins/workflow/cps/SnippetizerTest.java step-api/src/main/java/org/jenkinsci/plugins/workflow/structs/DescribableHelper.java http://jenkins-ci.org/commit/workflow-plugin/109c985ef8828c9e68a62abe6a671d4f2080a6c5 Log: JENKINS-26126 Merging #279. Compare: https://github.com/jenkinsci/workflow-plugin/compare/118b89e1b182...109c985ef882

          Andrew Bayer added a comment -

          jglick - should we mark this as resolved and take subsequent issues as new JIRAs?

          Andrew Bayer added a comment - jglick - should we mark this as resolved and take subsequent issues as new JIRAs?

          Code changed in jenkins
          User: Jesse Glick
          Path:
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly
          http://jenkins-ci.org/commit/workflow-cps-plugin/b7f03bf0b5979145e0745ffc36aa2b7c20d16e1b
          Log:
          JENKINS-26126 Crude static HTML reference documentation generator.
          Originally-Committed-As: 5cab32054acc4e2e21b0bf0479a5ac3a5db72cdc

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly http://jenkins-ci.org/commit/workflow-cps-plugin/b7f03bf0b5979145e0745ffc36aa2b7c20d16e1b Log: JENKINS-26126 Crude static HTML reference documentation generator. Originally-Committed-As: 5cab32054acc4e2e21b0bf0479a5ac3a5db72cdc

          Code changed in jenkins
          User: Andrew Bayer
          Path:
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslHelp.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReference.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReferenceContent.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dsld.groovy
          cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/gdsl.groovy
          cps/src/test/java/org/jenkinsci/plugins/workflow/cps/SnippetizerTest.java
          http://jenkins-ci.org/commit/workflow-cps-plugin/75df2410f755daa69c1005a19d46f4f14afe250c
          Log:
          [JENKINS-26126, JENKINS-32133] GDSL, DSLD, improved reference docs

          Squashed down to one commit. Added GDSL, DSLD and Groovy view-driven
          HTML reference docs for Workflow DSL, integrated into the job config
          UI, also able to be fetched directly from standard URLs.

          Originally-Committed-As: ccedde44b53dde20b3360b4402e028de4069742a

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/block.jelly cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslHelp.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReference.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dslReferenceContent.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/dsld.groovy cps/src/main/resources/org/jenkinsci/plugins/workflow/cps/Snippetizer/gdsl.groovy cps/src/test/java/org/jenkinsci/plugins/workflow/cps/SnippetizerTest.java http://jenkins-ci.org/commit/workflow-cps-plugin/75df2410f755daa69c1005a19d46f4f14afe250c Log: [JENKINS-26126, JENKINS-32133] GDSL, DSLD, improved reference docs Squashed down to one commit. Added GDSL, DSLD and Groovy view-driven HTML reference docs for Workflow DSL, integrated into the job config UI, also able to be fetched directly from standard URLs. Originally-Committed-As: ccedde44b53dde20b3360b4402e028de4069742a

          Sverre Moe added a comment -

          Any time frame when DSLD will be available in Jenkins? Running version 2.5 I still se only GDSL available.

          Sverre Moe added a comment - Any time frame when DSLD will be available in Jenkins? Running version 2.5 I still se only GDSL available.

          Jesse Glick added a comment -

          Should incorporate JENKINS-37215.

          Jesse Glick added a comment - Should incorporate JENKINS-37215 .

          David Karr added a comment -

          Just so it's clear, will these planned (fully implemented?) changes deal with custom Jenkins plugins that extend the DSL, to add to its intelligence?

          David Karr added a comment - Just so it's clear, will these planned (fully implemented?) changes deal with custom Jenkins plugins that extend the DSL, to add to its intelligence?

          Jesse Glick added a comment -

          The partial implementations already there do so. That part is trivial; all DSL steps are added from plugins.

          Jesse Glick added a comment - The partial implementations already there do so. That part is trivial; all DSL steps are added from plugins.

          Just wondering what the status is of this ticket (since someone in IRC was just asking)?  DSLD is generated and shown under /pipeline-syntax/dsld — it's just not linked from the sidebar, like the IntelliJ GDSL is.

          Christopher Orr added a comment - Just wondering what the status is of this ticket (since someone in IRC was just asking)?  DSLD is generated and shown under /pipeline-syntax/dsld  — it's just not linked from the sidebar, like the IntelliJ GDSL is.

          Jesse Glick added a comment -

          The DSLD implementation is considered too broken to even advertise at the moment.

          Jesse Glick added a comment - The DSLD implementation is considered too broken to even advertise at the moment.

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            11 Vote for this issue
            Watchers:
            18 Start watching this issue

              Created:
              Updated: