- 1 Overview
- 1.1 Dependencies
- 2 Features
- 2.1 Buildtime
- 2.1.1 New Commands
- 2.1.2 Toolkit Aware Plugin Install
- 2.1.3 Usage Tracking
- 2.1.4 IDE Support
- 2.2 Runtime
- 2.2.1 Service LifeCycle
- 2.2.2 Service Configuration DSL
- 2.2.3 External Configuration
- 2.2.4 New Application Events
- 2.3 Compatibility
- 3 Sample Applications
- 3.1 File Viewer
- 3.2 GroovyEdit
- 3.3 Font Picker
- 3.4 Greet
- 3.5 SwingPad
- 3.6 GroovyFXPad
- 3.7 FxBrowser
- 3.8 WeatherWidget
- 4 Release Notes
- 4.1 1.2.0
Overview
Griffon 1.2.0 - is the latest release in the 1.x series
Dependencies
The following dependencies have been upgraded
- groovy-all 2.0.6
- slf4j-api 1.7.2
- slf4j-log4j12 1.7.2
- jcl-over-slf4j 1.7.2
- jul-to-slf4j 1.7.2
- org.springframework.beans 3.1.2.RELEASE
- org.springframework.context 3.1.2.RELEASE
- org.springframework.context.support 3.1.2.RELEASE
- org.springframework.core 3.1.2.RELEASE
Features
Buildtime
New Commands
The following commands have been added
- list-templates: displays a list of all available templates that can be used in the current project.
- upload-release: uploads a release package to an artifact repository. This one differs from release as it expect the release package file to exist already, e.g. downloaded from a remote artifact repository.
- wrapper: creates or updates files required by the Griffon wrapper command.
Toolkit Aware Plugin Install
Griffon supports several UI toolkits for which many plugins may exist. Some of these plugins provide the same behavior but targeting a different UI toolkit, for example miglayout (swing) vs. miglayout-javafx (javafx). Now, every Griffon application has a default UI toolkit specified in its metadata; this fact makes it possible to simplify plugin installation by only specifying the common plugin name, that is, the following command
will install miglayout-javafx if the application has javafx defined as its UI toolkit. On the other hand, it will install miglayout if the UI toolkit is swing.
Usage Tracking
An opt-in usage tracking system has been put into place in order to monitor the development of the Griffon community and help drive the roadmap for future features. There's no personal information being recorded; usage tracking can be disabled/enabled at any time. Verifying the current status of usage tracking is done by invoking this command
Enabling or disabling usage tracking is done with
Usage tracking is turned off automatically if running in offline mode.
IDE Support
DSL descriptors for both Intellij IDEA and Eclipse have been updated to their latest compatible syntax.
Runtime
Service LifeCycle
Services now have their own life-cycle methods, similarly to their MVC counterparts. See the section Service LifeCycle for more information.
Service Configuration DSL
Services properties may now be configured externally to the service class, using a simple DSL. Refer to the Service Configuration DSL section to learn more.
External Configuration
Applications now have the ability to specify alternate locations for configuration files and scripts. Simply configure griffon.config.locations in Config.groovy, for example
Section External Configuration Support covers this feature in more detail.
New Application Events
Instances managed by the application (such as MVC members) will now trigger a DestroyInstance event when the instance is no longer needed. This event is the counterpart of NewInstance.
Compatibility
The following plugins need to be updated to their latest versions
- eclipse-support
- spring
- spock
Sample Applications
Griffon 1.2.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.2.0