Overview

Griffon 1.4.0 - is the latest release in the 1.x series

Dependencies

The following dependencies have been upgraded

Features

Buildtime

License report

This command collects and displays all available licenses of runtime dependencies required by the application. The command creates both simple text and XML output reports, simply invoke it as follows

griffon license-report

A labelĀ **UNKNOWN** will be used if a license cannot be resolved.

Support Bintray's JCenter

This release enables a quick route for gaining access to dependencies hosted by Bintray repositories. You may specify Bintray's JCenter or a custom repository using any of the following formats

  jcenter()
  bintray(username: 'foo', repository: 'bar')
  bintray('foo/bar')

Runtime

Custom Event Classes

Since the early days of the framework you could send custom event messages by identifying each event using an unique name. Now you can do it by sending custom event instances, thus keeping events and arguments in a common place. Here's a very simple example of a controller triggering such custom event and handling it as well.

class MyController {
  void mvcGroupInit(Map args) {
    app.addApplicationListener(Foo) { e -> assert e instanceof Foo }
  }
  def fooAction = { evt = null ->
    // do something
    app.event(new MyController.Foo(this))
  }
  static class Foo extends griffon.core.Event {
    Foo(Object source) { super(source) }
  }
}

@InjectedResource on Methods

The @InjectedResource annotation may now be applied to a method provided it represent a property setter.

Compatibility

The following plugins need to be updated to their latest versions

Sample Applications

Griffon 1.4.0 ships with 8 sample applications of varying levels of complexity demonstrating various parts of the framework. In order of complexity they are:

File Viewer

File Viewer is a simple demonstration of creating new MVCGroups on the fly.

Source: samples/FileViewer

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

GroovyEdit

GroovyEdit is an improved version of FileViewer that uses custom observable models.

Source: samples/GroovyEdit

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

Font Picker

Font Picker demonstrates form based data binding to adjust the sample rendering of system fonts.

Source: samples/FontPicker

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

Greet

Greet, a full featured Griffon Application, is a Twitter client. It shows Joint Java/Groovy compilation, richer MVCGroup interactions, and network service based data delivery.

Source: samples/Greet

To run the sample from source, change into the source directory and run griffon run-webstart from the command prompt. Because Greet uses JNLP APIs for browser integration using run-app will prevent web links from working.

SwingPad

SwingPad, a full featured Griffon Application, is a scripting console for rendering Groovy SwingBuilder views.

Source: samples/SwingPad

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

GroovyFXPad

GroovyFXPad, a full featured Griffon Application, is a scripting console for rendering GroovyFX views.

Source: samples/GroovyFXPad

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

FxBrowser

FxBrowser is a trivial JavaFX powered browser that demonstrates Griffon's integration with JavaFX.

Source: samples/FxBrowser

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

WeatherWidget

WeatherWidget demonstrates binding, threading and plugin usage.

Source: samples/WeatherWidget

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

Release Notes

1.4.0