Uploaded image for project: 'Bigtop'
  1. Bigtop
  2. BIGTOP-1993

Bump groovy to 2.4.4 in the development toolchain

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0
    • Fix Version/s: 1.1.0
    • Component/s: toolchain
    • Labels:
      None

      Description

      Groovy 2.4.4 has fixed some security bugs and is, after all, the first Apache release of the platform. Let's update the toolchain to it

      1. BIGTOP-1993.patch
        2 kB
        Konstantin Boudnik

        Issue Links

          Activity

          Hide
          cos Konstantin Boudnik added a comment -

          As discussed in the JIRA adding Groovy initially, it goes to devtools only

          Show
          cos Konstantin Boudnik added a comment - As discussed in the JIRA adding Groovy initially, it goes to devtools only
          Hide
          cos Konstantin Boudnik added a comment - - edited

          Ready for review

          I ran
          % ./gradlew toolchain-devtools
          and got 2.4.4 installed.

          Show
          cos Konstantin Boudnik added a comment - - edited Ready for review I ran % ./gradlew toolchain-devtools and got 2.4.4 installed.
          Hide
          plinnell Peter Linnell added a comment -

          +1 on the patch

          Show
          plinnell Peter Linnell added a comment - +1 on the patch
          Hide
          oflebbe Olaf Flebbe added a comment -

          Hm, surely this seems to install groovy.

          But this is not used anywhere, right ? It will be installed by puppet development-tools ... but what for ? The CI build and the smokes do not use it. Correct me if I am wrong.

          The real groovy is in bigtop.mk ... shouldn't we update this one , and remove the groovy from the puppet scripts?

          Show
          oflebbe Olaf Flebbe added a comment - Hm, surely this seems to install groovy. But this is not used anywhere, right ? It will be installed by puppet development-tools ... but what for ? The CI build and the smokes do not use it. Correct me if I am wrong. The real groovy is in bigtop.mk ... shouldn't we update this one , and remove the groovy from the puppet scripts?
          Hide
          oflebbe Olaf Flebbe added a comment -

          and btw I do not see the connection to BIGTOP-1948 , since this groovy (yep another one) is installed by maven.

          Show
          oflebbe Olaf Flebbe added a comment - and btw I do not see the connection to BIGTOP-1948 , since this groovy (yep another one) is installed by maven.
          Hide
          cos Konstantin Boudnik added a comment -

          If you feel like the link is excessive - just remove it

          Show
          cos Konstantin Boudnik added a comment - If you feel like the link is excessive - just remove it
          Hide
          cos Konstantin Boudnik added a comment -

          Actually, groovy SDK is heavily used in the development. I have linked BIGTOP-1423 (particularly) so people aren't getting confused.

          Show
          cos Konstantin Boudnik added a comment - Actually, groovy SDK is heavily used in the development. I have linked BIGTOP-1423 ( particularly ) so people aren't getting confused.
          Hide
          oflebbe Olaf Flebbe added a comment -

          Removing the link

          Show
          oflebbe Olaf Flebbe added a comment - Removing the link
          Hide
          oflebbe Olaf Flebbe added a comment -

          Sorry, I do not understand the whole point of BIGTOP-1423, including the particularly point. I am still assuming that we are using the packages we build – eating our own dog food, you know.

          Show
          oflebbe Olaf Flebbe added a comment - Sorry, I do not understand the whole point of BIGTOP-1423 , including the particularly point. I am still assuming that we are using the packages we build – eating our own dog food, you know.
          Hide
          oflebbe Olaf Flebbe added a comment -

          So I would suggest to update bigtop_groovy instead and removing the puppet installer

          Show
          oflebbe Olaf Flebbe added a comment - So I would suggest to update bigtop_groovy instead and removing the puppet installer
          Hide
          cos Konstantin Boudnik added a comment -

          I will answer to Olaf's point outside of the original chain or replies, as I feel it is important enough.

          Bigtop essentially has three stages in its life-cycle

          1. developing the code, content, packages, and other things consumed by the downstream users
          2. building and deploying the artifacts, which includes Maven artifacts for tests, and packages of the components and Bigtop's own utils
          3. runtime environment needed for smooth functioning of the Bigtop runtime and tests

          Interestingly, all three need the presence of at least some parts of Groovy ecosystem. Respectively:

          1. requires an SDK to be available on the developer's machine so that IDE or CLI compilers can process the code written in Groovy and produce the bytecode. Not to mention highly convenient tools like GroovyConsole
          2. requires groovy compiler plugin, which will be automatically pulled in by the maven/gradle
          3. needs GRE (Groovy Runtime Environment) so that Groovy tests and iTest software can be executed

          Arguably

          • we can build and install #3 and, perhaps, it will cover #1 but will create a non-trivial bootstrapping problem
          • or we can say "real programmers do not use IDEs, so just use maven/gradle build" and then remove #1
          • or do something completely different, that I can not imagine right now

          But maybe I am not the only one who's using Groovy for the development in the Bigtop and I think it is important enough that such group of people has a reasonably unified development environment. It isn't about not eating our dog food. It is about having Groovy SDK conveniently installed when one configures his workstation. You don't have that issue with JDK, do you?

          Show
          cos Konstantin Boudnik added a comment - I will answer to Olaf's point outside of the original chain or replies, as I feel it is important enough. Bigtop essentially has three stages in its life-cycle developing the code, content, packages, and other things consumed by the downstream users building and deploying the artifacts, which includes Maven artifacts for tests, and packages of the components and Bigtop's own utils runtime environment needed for smooth functioning of the Bigtop runtime and tests Interestingly, all three need the presence of at least some parts of Groovy ecosystem. Respectively: requires an SDK to be available on the developer's machine so that IDE or CLI compilers can process the code written in Groovy and produce the bytecode. Not to mention highly convenient tools like GroovyConsole requires groovy compiler plugin, which will be automatically pulled in by the maven/gradle needs GRE (Groovy Runtime Environment) so that Groovy tests and iTest software can be executed Arguably we can build and install #3 and, perhaps, it will cover #1 but will create a non-trivial bootstrapping problem or we can say "real programmers do not use IDEs, so just use maven/gradle build" and then remove #1 or do something completely different, that I can not imagine right now But maybe I am not the only one who's using Groovy for the development in the Bigtop and I think it is important enough that such group of people has a reasonably unified development environment . It isn't about not eating our dog food. It is about having Groovy SDK conveniently installed when one configures his workstation. You don't have that issue with JDK, do you?
          Hide
          cos Konstantin Boudnik added a comment -

          Updating bigtop_groovy needs to be done as well to keep the same GDK in the development and runtime.

          Show
          cos Konstantin Boudnik added a comment - Updating bigtop_groovy needs to be done as well to keep the same GDK in the development and runtime.
          Hide
          cos Konstantin Boudnik added a comment - - edited

          Considering that I have an explicit +1 and no blocking -1s I have decided to move forward with it to be aligned with BIGTOP-1997. Committed and pushed.

          If anyone fill that we need to get rid of Groovy as a part of the development tools I'll be happy to discuss it elsewhere.

          Show
          cos Konstantin Boudnik added a comment - - edited Considering that I have an explicit +1 and no blocking -1s I have decided to move forward with it to be aligned with BIGTOP-1997 . Committed and pushed. If anyone fill that we need to get rid of Groovy as a part of the development tools I'll be happy to discuss it elsewhere.
          Hide
          oflebbe Olaf Flebbe added a comment -

          Thanks for your patience.

          Show
          oflebbe Olaf Flebbe added a comment - Thanks for your patience.
          Hide
          cos Konstantin Boudnik added a comment -

          No trouble, really!

          Show
          cos Konstantin Boudnik added a comment - No trouble, really!

            People

            • Assignee:
              cos Konstantin Boudnik
              Reporter:
              cos Konstantin Boudnik
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development