Over a million developers have joined DZone.

Griffon 1.2.0 released

DZone's Guide to

Griffon 1.2.0 released

· ·
Free Resource

 The Griffon team is happy to announce Griffon 1.2.0, the latest release of the 1.x series.

Griffon is an application framework for developing desktop applications in the JVM, with Groovy as the primary language of choice.

To begin with, some of the buildtime dependencies have been upgraded, most notable Groovy 2.0! That's right, you can now take advantage of static type checking and static compilation in Griffon applications; however don't apply static type checking nor static compilation AST transformations to View scripts, as they are highly dynamic.

There are some new commands now: list-templates, upload-release, wrapper and usage-stats. The last one receives special attention as it enables the Griffon team to tweak future releases and make informed decisions based on your help. This command sends a small set of data based on how Griffon is being used in projects. We value your feedback and privacy, that's why this feature is disabled by default. Rest assured that all information ist anonymized and will be used with care. More information about the data collected by this feature can be found in the Griffon Guide.

DSL support for both Intellij IDEA and Eclipse has been greatly improved on the core and swing packages.

Turning our attention to runtime aspects, services have received a huge lift with the addition of a pair of life-cycle hooks. Services are treated like singletons by the Griffon runtime, which means you needn't instantiate them, however that limits the configuration that can be applied to them during their instantiation. No more, with the addition of serviceInit() and serviceDestroy() you're in full control of what happens when a Service gets instantiated or destroyed.

Services may also have some of their properties be configured in external configuration files (like Config.groovy) by means of a DSL, for example the host and port properties of the following service

class NetworkService {
    String host
    int port
    private Server server
    void connect() {
        if (!server) {
            server = new Server(host, port)

may be configured in Config.groovy like so

services {
    network {
        host = 'http://acme.com'
        port = 1234

Additionally, a new event will be triggered when managed instances (such as MVC members and services) get destroyed. This event is named DestroyInstance, it's the counterpart of NewInstance.

Developers are highly encouraged to update to latest versions of the Spock, Spring and Eclipse-support plugins are there were some changes in core that affect them directly.

However the news don't end here, this release finally enables the usage of the Griffon plugin for Gradle. With this plugin you'll be able to adapt a Griffon project as a Gradle project, making it trivial for it to participate in a multi-project build for example.

Full listing of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=18431]
Full release notes are located here.
You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}