Thanks Daniel :-) I will not start with the implemtation until we are clear here. Ok, could it maybe a solution to create a complete separate plugin like in this request proposed? In this case we have not a problem with Groovy code in the Promoted Builds Plugin and Daniel has no compatiblity problems in the Job DSL Plugin.
Best Regards Dennis Am Montag, 28. September 2015 12:44:04 UTC+2 schrieb Daniel Spilker: > > I don't like that option. The optional dependencies have been added before > the extension point was available. They will be kept for compatibility, but > any new DSL features which require more logic than simply generating a > config.xml should be implemented through the extension point. Otherwise the > Job DSL plugin will end up with dozens of optional dependencies for all > plugins which require extra configuration and relying on API which might > not be considered as public and stable API by the plugin maintainers > because it was not intended to be used by something like the Job DSL > plugin. And I don't want to spend time with tracking API changes from > plugins. I'm maintaining the Job DSL plugin for some month now and there > have been plugins which changed the on-disk config.xml format > (accidentially and not, e.g. JENKINS-26561 and JENKINS-29678). And that > broke the Job DSL plugin from a user perspective. I expect that API-level > changes happen more often because plugin developers are aware to keep the > on-disk config stable, but do not expect that "internal" plugin classes are > used from the outside (e.g. JENKINS-30013). The Job DSL plugin on the other > hand offers a stable extension point for all plugins to contribute DSL > features designed for that very specific reason. > > If this boils down to having Groovy code or not in a plugin, the decision > is up the the plugin's maintainers. Groovy code is as testable and > maintainable as Java code if done right. You can use JUnit to test Groovy > classes, you do not have to use Groovy frameworks like Spock. And you can > use CodeNarc for static code analysis. > > The Job DSL extension point can be implemented in Java or Groovy. I > expected a discussion like this and avoided any Groovy dependencies when > designing the extension point API. > > I just want to make sure that we send a clear signal to Dennis before he > creates a pull request that has little or no chance to get merged. > > > > On Sun, Sep 27, 2015 at 10:39 AM, Oleg Nenashev <[email protected] > <javascript:>> wrote: > >> Yes, it ay be the best option, because Job DSL plugin already optionally >> depends on 4 plugins due to the same reason. >> Daniel (Spilker), WDYT? >> >> >> On 27 Sep 2015, at 10:17, Stephen Connolly <[email protected] >> <javascript:>> wrote: >> >> Why can't he optional dep not be inverted and just have job-dsl >> optionally depend on promoted builds. >> >> Would seem to me that promotion is the more "core" functionality than >> job-dsl so the onus should be on job-dsl to add support for promoted builds >> rather than the other way. >> >> In any case I see nothing wrong with having this as a separate plugin >> either >> >> On Sunday 27 September 2015, Damien <[email protected] <javascript:>> >> wrote: >> >>> Hi All, >>> as Oleg mentioned, he is the current maintainer. As my current job >>> responsibilities does not involve using Jenkins as much, I don't have a >>> strong opinion what the direction is. Groovy or Java is irrelevant to me as >>> long as a strong focus on maintainability and testability remains. >>> >>> good luck with the merge. >>> >>> On Sat, Sep 26, 2015 at 3:16 PM, Oleg Nenashev <[email protected]> >>> wrote: >>> >>>> The previous maintainer (Damien Nozay, in Cc) of Promoted Builds plugin >>>> granted me the persmissions to merge PRs and relelase . Technically I'm >>>> the >>>> current plugin's maintainer. >>>> >>>> I don't think that Groovy is a showstopper for integrating the >>>> functionality into Promoted Builds plugin. Personally I would prefer to >>>> have a Java-only code due to the maintenability & static analysis reasons, >>>> but I will accept Groovy-based pieces if they are tested enough and do not >>>> require a special build flow. >>>> >>>> Best regards, >>>> Oleg >>>> >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Jenkins Developers" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/jenkinsci-dev/CAAe5jyNwkCaURREs3WAbpeFk8QHHgct7UvUAnEby-EVBXF7DGA%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/jenkinsci-dev/CAAe5jyNwkCaURREs3WAbpeFk8QHHgct7UvUAnEby-EVBXF7DGA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> -- >> Sent from my phone >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Jenkins Developers" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/jenkinsci-dev/IZ3kBFhIYYg/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMwpJ0Rb6bcSeZqb%2B92uXoBQCnuo8dsoKqP%2BtejTCCYYDQ%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMwpJ0Rb6bcSeZqb%2B92uXoBQCnuo8dsoKqP%2BtejTCCYYDQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jenkinsci-dev/6AA7F6BE-3E4C-4038-A8BD-A7EFD4F03151%40gmail.com >> >> <https://groups.google.com/d/msgid/jenkinsci-dev/6AA7F6BE-3E4C-4038-A8BD-A7EFD4F03151%40gmail.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/9db42acd-b5f3-4f3c-8b41-095dc9846037%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
