Discussions

News: Quality-focused Groovy 1.0 pre-release 2 is out

  1. The second pre-release of Groovy 1.0 has been announced, this release being focused on quality, with a number of bug fixes and over 1000 test cases, but also a specific focus on adding better error reporting and improved compile-time checks. A new "groovy" Ant task has been added, and the documentation has been brought up to date.

    Error messages have been improved and now provide meaningful line and column information for compile-time errors. The reported errors will be closer to what developers are used to with "javac".

    According to the announcement by Project lead Guillaume LaForge:
    Groovy is now able to make the following checks at compile-time:

    Checks for classes and scripts:
    * check no variable is defined more than once

    Checks for classes only:
    * check every variable is defined before usage
    * check that abstract methods are implemented when the class is not abstract
    * check that no final methods are overwritten
    * check that no final class is used as direct parent
    * check that no access from a static context to a dynamic declared variable is possible,
      example: class A { def var; def static m() { println var } }

    Those checks are on by default, but if your Groovy scripts and classes don't conform yet, you can still specify a system property to disable them momentaneously: groovy.jsr.check=false

    Jochen also added support for implementing interfaces and abstract classes and methods in Groovy, which Groovy hasn't really considered so far.

    Our new developer, Christian Stein, worked on improving our Groovlets and Templates and fixed most bugs related to classloaders in Servlet containers and other bugs.
    Are you using Groovy? What have been your experiences with it?

    Threaded Messages (21)

  2. Are you using Groovy? What have been your experiences with it?

    I'm hopelessly biased but... :)

    We're using Groovy extensively in our open source Integration Server ServiceMix which implements JBI (JSR 208).

    We use it to allow folks to script JBI messages and message exchanges using Groovy which we find to be a very agile and elegant way of working with JBI.

    Language are quite personal things (and frequently a cause of semi-religious disagreements :-), so we have JSR 223 support to allow folks to use other languages like JavaScript and Jython if the user prefers those. But I much prefer to use Groovy, especially now JSR-02 is out with vastly improved error detection and warnings.

    James
    LogicBlaze
  3. Hello,

    I am using Groovy
     - quick reporting applications using Groovlets (mainly simple JDBC calls)
     - J2EE configuration using JMX and the MBean wrapper (GroovyMBean). This stuff is really cool.

    Regards
    Tug
  4. I've been using Groovy for several things at work:

    - Conversion of old DCForum archives to new Mailman format.
    - Several quick GUI's for simple data entry tasks.
    - Mid-size web application using Groovlets with XSL.

    I'm currently refactoring my groovlet/xsl application to turn it into some kind of web framework that I can reuse for other projects. If it proves to be useful, I'll turn it over as an open source project so others can use it.
  5. Yep, me too.

    I am using groovy on few tasks and until now it works great, and support is also really good over IRC channels.

    I wish we had better groovy IDE support (Eclipse and Netbeans, not working with others so I would't know). I understand that Coyote is kind of waiting for API freeze so maybe the time for groovy auto-completion is near.

    And the posibility to call transparently a function defined in a script file from another script file would be a bless.

    Regards,
    Horia
  6. use of Groovy[ Go to top ]

    I like Groovy a lot. I've used it since beta-6 (or so) in production without issue (had to sidestep a few things, but I kept my use simplistic):

    - to implement event scripts for a web app, which does things like sends email and other more complex db-trigger-like behavior upon the update of business objects
    - as configuration data instead of xml in an experimental aop project
    - Unit tests
  7. I use Groovy for:
    - everyday's ad-hoc programming tasks
    - all kinds of automation tasks
    - scripting functional tests with Canoo WebTest
    - providing a "Test Portal" webapp for a large corporate project where developers can register their WebTests for execution. Groovy schedules the execution, cares for fetching the tests from the repository, executes them in a sandbox, analyzes results, sends notifications and updates the data for the webapp. All data is stored and retrieved in a database. The webapp runs in a standard J2EE container and is amazingly small.
  8. I use Groovy+SQL for complex ad-hoc querying in a data mining project. As time goes on, Groovy is becoming general front end and integration platform for different tools and technologies we use in the project.

    Nebojsa
  9. Hi,

    We currently use Groovy in our product (a tests generation from UML models tool), with 2 purposes:

    -as a script language to access our API, so that our customers can generate tests without resorting to the GUI

    -as a template language so that they can transform the generated tests into executable tests in their language of choice (Java, VB, C, C++, you-name-it,...)

    We have been so far quite successful regarding those 2 aspects. We chose groovy because:

    -it's intended to be standardized
    -you can reuse java code
    -it was fast enough for our purposes
    -the syntax allows our user to express complex things in very concise statements

    However,... :

    -I am concerned about the whole community really adopting the language as a standard, so that its support won't be only the result of a few "heros"
    -I was concerned with the stability of the releases (which were, of course, betas). It seems that the final 1.0 release should be ok.
    -I miss some kind of modern editor with auto-completion, coloring,... Maybe we'll have to do it in order to be able to provide it to our customers (that's were the open-source scheme comes in).
    -Last time I checked, it was not really easy to call a script from another one

    All in all, I thank the Groovy team for this fine piece of software, and I wish to have time (and permission,...) to contribute in the future.

    Eric Torreborre
    www.leirios.com
  10. OT: Name change[ Go to top ]

    JamesLogicBlaze

    Hi James,

    Why the name change ? I wanted to mention this to you, but kept forgetting: Protique is the name of a shampoo from Amway.
    And while we're on the subject I feel compelled to bring up the fact that Simula is the name of a _famous_ computer language, the name of a military US company and there's some research labs in Norway by that name as well...
  11. OT: Name change[ Go to top ]

    JamesLogicBlaze
    Hi James,Why the name change ? I wanted to mention this to you, but kept forgetting: Protique is the name of a shampoo from Amway.

    Yeah, that was one reason for the change :). LogicBlaze is certainly easier for folks in different parts of the world to remember & spell - and doesn't have hair product connotations :)
    And while we're on the subject I feel compelled to bring up the fact that Simula is the name of a _famous_ computer language, the name of a military US company and there's some research labs in Norway by that name as well...

    Agreed - but note its SimulaLabs.com, not 'Simula'

    James
    LogicBlaze
  12. OT: Name change[ Go to top ]

    JamesLogicBlaze
    Hi James,Why the name change ? I wanted to mention this to you, but kept forgetting: Protique is the name of a shampoo from Amway.
    Yeah, that was one reason for the change :). LogicBlaze is certainly easier for folks in different parts of the world to remember & spell - and doesn't have hair product connotations :)

    Ha, spot-on there mate! Well, good luck with the new name and I dare say the new money!

    Btw can you please keep us C++ fans updated on the AMQ/C++ issue ?

    Cheers
  13. We use Groovy for scripting Ant (it's much better than using Ant via XML). We are also planning to use Groovy as an embedded scripting language for an embedded rules engine and other general purposes.

    The project is making good progress recently and there is an established timeline for releasing 1.0. The only thing that’s not moving quite as quickly as I’d like are the Eclipse plug-in updates.
  14. The groovy ant[ Go to top ]

    We use Groovy for scripting Ant (it's much better than using Ant via XML).

    I hereby put forth the proposition of driving Ant thru make commands. The make commands can be generated from Groovy scripts parsed by the Jython engine running on GNU Classpath through IKVM using SOA to BPEL the WS Choreography to the ActiveMQ Mule that would be Drooling over the Clogged Maven.
  15. I actually did some data mining. Here are my results:

    05:30 PM : honest
    05:46 PM : stimulated
    06:04 PM : fuzzy
    06:10 PM : god

    hey mod show some heart...ohhh the pain @headache
  16. The groovy ant[ Go to top ]

    We use Groovy for scripting Ant (it's much better than using Ant via XML).
    I hereby put forth the proposition of driving Ant thru make commands. The make commands can be generated from Groovy scripts parsed by the Jython engine running on GNU Classpath through IKVM using SOA to BPEL the WS Choreography to the ActiveMQ Mule that would be Drooling over the Clogged Maven.

    With ServiceMix doing the integration, deployed in Geronimo, with Spring doing the AOP - tested with commons-testing (Cameron's JUnit/TestNG wrapper project)... :)

    James
    LogicBlaze
  17. Bai da enervant esti![ Go to top ]

    Radu Adrian Popescu - > Vezi subj.
  18. I'm using groovy to scripting ant, import/export data from database directly (mainly from xml and text files), customizable application scripts and utilitary gui-tools for deployment and development.

    Regards,
  19. momentaneously?

    another language addition ;)
  20. Temporarily[ Go to top ]

    momentaneously? another language addition ;)

    Oh well, you know, when you're not a native English speaker, that happens that you're looking for a word you can't find, and you create a new word from a similar word in your mother tongue thinking that's a real word :-) I guess "temporarily" would have been better? I apologize...
  21. During development/test I have a small JSP that I deploy that basically allows me to run any Groovy script I choose on the server. Just type it into the text field, hit submit, and it displays the result.

    Yeah, dangerous - so we lock it down and never deploy it to production.

    But it is a powerful way to see what is happening on the server without having to redeploy the app if your logs don't tell the whole story.

    Fun way to test MBeans, EJBs, etc while they are live.

    Also good for prototyping apps. Would have used it on my last project but it wasn't "production ready" or language-stable yet.
  22. excellent[ Go to top ]

    <eom>

    .V