Upgrading to Griffon 1.2.0

This commit is contained in:
Jonathan Bernard 2013-09-22 15:22:44 -05:00
parent 5b2ecf7b65
commit bc51d17932
27 changed files with 504 additions and 128 deletions

View File

@ -1,6 +1,10 @@
#Do not edit app.griffon.* properties, they may change automatically. DO NOT put application configuration in here, it is not the right place!
#Sun, 11 Apr 2010 16:00:38 +0200
#Thu, 25 Apr 2013 06:40:33 -0500
#Thu Apr 01 22:28:40 CDT 2010
app.version=2.1
app.griffon.version=0.3
app.griffon.version=1.2.0
app.name=TimeStamper
plugins.swing=1.2.0
archetype.default=1.2.0
app.toolkit=swing

View File

@ -0,0 +1,191 @@
// key signing information
environments {
development {
signingkey {
params {
// sigfile = 'GRIFFON'
// keystore = "${basedir}/griffon-app/conf/keys/devKeystore"
// alias = 'development'
storepass = 'BadStorePassword'
keypass = 'BadKeyPassword'
lazy = true // only sign when unsigned
}
}
}
test {
griffon {
jars {
sign = false
pack = false
}
}
}
production {
signingkey {
params {
// NOTE: for production keys it is more secure to rely on key prompting
// no value means we will prompt //storepass = 'BadStorePassword'
// no value means we will prompt //keypass = 'BadKeyPassword'
lazy = false // sign, regardless of existing signatures
}
}
griffon {
jars {
sign = true
pack = true
destDir = "${basedir}/staging"
}
webstart {
codebase = 'CHANGE ME'
}
}
}
}
griffon {
memory {
//max = '64m'
//min = '2m'
//minPermSize = '2m'
//maxPermSize = '64m'
}
jars {
sign = false
pack = false
destDir = "${basedir}/staging"
jarName = "${appName}.jar"
}
extensions {
jarUrls = []
jnlpUrls = []
/*
props {
someProperty = 'someValue'
}
resources {
linux { // windows, macosx, solaris
jars = []
nativelibs = []
props {
someProperty = 'someValue'
}
}
}
*/
}
webstart {
codebase = "${new File(griffon.jars.destDir).toURI().toASCIIString()}"
jnlp = 'application.jnlp'
}
applet {
jnlp = 'applet.jnlp'
html = 'applet.html'
}
}
// required for custom environments
signingkey {
params {
def env = griffon.util.Environment.current.name
sigfile = 'GRIFFON-' + env
keystore = "${basedir}/griffon-app/conf/keys/${env}Keystore"
alias = env
// storepass = 'BadStorePassword'
// keypass = 'BadKeyPassword'
lazy = true // only sign when unsigned
}
}
griffon {
doc {
logo = '<a href="http://griffon-framework.org" target="_blank"><img alt="The Griffon Framework" src="../img/griffon.png" border="0"/></a>'
sponsorLogo = "<br/>"
footer = "<br/><br/>Made with Griffon (@griffon.version@)"
}
}
deploy {
application {
title = "${appName} ${appVersion}"
vendor = System.properties['user.name']
homepage = "http://localhost/${appName}"
description {
complete = "${appName} ${appVersion}"
oneline = "${appName} ${appVersion}"
minimal = "${appName} ${appVersion}"
tooltip = "${appName} ${appVersion}"
}
icon {
'default' {
name = 'griffon-icon-64x64.png'
width = '64'
height = '64'
}
splash {
name = 'griffon.png'
width = '391'
height = '123'
}
selected {
name = 'griffon-icon-64x64.png'
width = '64'
height = '64'
}
disabled {
name = 'griffon-icon-64x64.png'
width = '64'
height = '64'
}
rollover {
name = 'griffon-icon-64x64.png'
width = '64'
height = '64'
}
shortcut {
name = 'griffon-icon-64x64.png'
width = '64'
height = '64'
}
}
}
}
griffon.project.dependency.resolution = {
// inherit Griffon' default dependencies
inherits("global") {
}
log "warn" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
repositories {
griffonHome()
// uncomment the below to enable remote dependency resolution
// from public Maven repositories
//mavenLocal()
//mavenCentral()
//mavenRepo "http://snapshots.repository.codehaus.org"
//mavenRepo "http://repository.codehaus.org"
//mavenRepo "http://download.java.net/maven/2/"
//mavenRepo "http://repository.jboss.com/maven2/"
}
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime' or 'test' scopes eg.
// runtime 'mysql:mysql-connector-java:5.1.5'
}
}
log4j = {
// Example of changing the log pattern for the default console
// appender:
appenders {
console name: 'stdout', layout: pattern(conversionPattern: '%d [%t] %-5p %c - %m%n')
}
error 'org.codehaus.griffon',
'org.springframework',
'org.apache.karaf',
'groovyx.net'
warn 'griffon'
}

4
griffon-app/conf/Builder.groovy Executable file → Normal file
View File

@ -1,9 +1,7 @@
root {
'groovy.swing.SwingBuilder' {
controller = ['Threading']
view = '*'
}
'griffon.app.ApplicationBuilder' {
view = '*'
}
}

103
griffon-app/conf/Config.groovy Executable file → Normal file
View File

@ -1,94 +1,15 @@
// log4j configuration
log4j {
appender.stdout = 'org.apache.log4j.ConsoleAppender'
appender.'stdout.layout'='org.apache.log4j.PatternLayout'
appender.'stdout.layout.ConversionPattern'='[%r] %c{2} %m%n'
appender.errors = 'org.apache.log4j.FileAppender'
appender.'errors.layout'='org.apache.log4j.PatternLayout'
appender.'errors.layout.ConversionPattern'='[%r] %c{2} %m%n'
appender.'errors.File'='stacktrace.log'
rootLogger='error,stdout'
logger {
griffon='error'
StackTrace='error,errors'
org {
codehaus.griffon.commons='info' // core / classloading
log4j = {
// Example of changing the log pattern for the default console
// appender:
appenders {
console name: 'stdout', layout: pattern(conversionPattern: '%d [%t] %-5p %c - %m%n')
}
}
additivity.StackTrace=false
error 'org.codehaus.griffon'
info 'griffon.util',
'griffon.core',
'griffon.@application.toolkit@',
'griffon.app'
}
// key signing information
environments {
development {
signingkey {
params {
sigfile = 'GRIFFON'
keystore = "${basedir}/griffon-app/conf/keys/devKeystore"
alias = 'development'
storepass = 'BadStorePassword'
keypass = 'BadKeyPassword'
lazy = true // only sign when unsigned
}
}
}
test {
griffon {
jars {
sign = false
pack = false
}
}
}
production {
signingkey {
params {
sigfile = 'GRIFFON'
keystore = 'keystore.jks'
alias = 'timestamper'
// NOTE: for production keys it is more secure to rely on key prompting
// no value means we will prompt //storepass = 'BadStorePassword'
// no value means we will prompt //keypass = 'BadKeyPassword'
lazy = false // sign, regardless of existing signatures
}
}
griffon {
jars {
sign = true
pack = true
destDir = "${basedir}/staging"
}
webstart {
codebase = 'CHANGE ME'
}
}
}
}
griffon {
memory {
//max = '64m'
//min = '2m'
//maxPermSize = '64m'
}
jars {
sign = false
pack = false
destDir = "${basedir}/staging"
jarName = "${appName}.jar"
}
extensions {
jarUrls = []
jnlpUrls = []
}
webstart {
codebase = "${new File(griffon.jars.destDir).toURI().toASCIIString()}"
jnlp = 'application.jnlp'
}
applet {
jnlp = 'applet.jnlp'
html = 'applet.html'
}
}

Binary file not shown.

6
griffon-app/conf/webstart/applet.html Executable file → Normal file
View File

@ -8,7 +8,7 @@
<script src="http://java.com/js/deployJava.js"></script>
<script>
var attributes = {id: '@griffonAppName@',
var attributes = {id: 'TimeStamper',
codebase:'@griffonAppCodebase@',
code:'@griffonAppletClass@',
archive:'@appletJars@',
@ -18,7 +18,7 @@
jnlp_href:'@griffonAppCodebase@/applet.jnlp',
draggable:'true',
image:'griffon.png',
boxmessage:'Loading @griffonAppName@',
boxmessage:'Loading TimeStamper',
boxbgcolor:'#FFFFFF', boxfgcolor:'#000000',
codebase_lookup: 'false'} ;
var version = '1.5.0' ;
@ -33,7 +33,7 @@
<PARAM NAME='jnlp_href' VALUE='@griffonAppCodebase@/applet.jnlp'>
<PARAM NAME='dragggable' VALUE='true'>
<PARAM NAME='image' VALUE='griffon.png'>
<PARAM NAME='boxmessage' VALUE='Loading @griffonAppName@'>
<PARAM NAME='boxmessage' VALUE='Loading TimeStamper'>
<PARAM NAME='boxbgcolor' VALUE='#FFFFFF'>
<PARAM NAME='boxfgcolor' VALUE='#000000'>
<PARAM NAME='codebase_lookup' VALUE='false'>

18
griffon-app/conf/webstart/applet.jnlp Executable file → Normal file
View File

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE jnlp SYSTEM "http://java.sun.com/dtd/JNLP-1.5.dtd">
<jnlp
version="@griffonAppVersion@"
version="2.1"
codebase="@griffonAppCodebase@"
href="@jnlpFileName@"
>
<information>
<title>@griffonAppName@</title>
<vendor>@griffonAppName@</vendor>
<title>TimeStamper</title>
<vendor>TimeStamper</vendor>
<!--<homepage href="http://app.example.com/"/>-->
<!--fallback description-->
<description>@griffonAppName@</description>
<description kind="one-line">@griffonAppName@</description>
<description kind="short">@griffonAppName@</description>
<description kind="tooltip">@griffonAppName@</description>
<description>TimeStamper</description>
<description kind="one-line">TimeStamper</description>
<description kind="short">TimeStamper</description>
<description kind="tooltip">TimeStamper</description>
<!-- fallback icon -->
<icon href="griffon-icon-48x48.png" kind="default" width="48" height="48"/>
<!-- icon used for splash screen -->
@ -25,7 +25,7 @@
<!-- to create shortcuts, uncomment this
<shortcut online="true">
<desktop/>
<menu submenu="@griffonAppName@"/>
<menu submenu="TimeStamper"/>
</shortcut>
-->
<offline-allowed/>
@ -44,7 +44,7 @@
</resources>
<applet-desc
documentbase="@griffonAppCodebase@"
name="@griffonAppName@Applet"
name="TimeStamperApplet"
main-class="@griffonAppletClass@"
width="320"
height="640">

16
griffon-app/conf/webstart/application.jnlp Executable file → Normal file
View File

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE jnlp SYSTEM "http://java.sun.com/dtd/JNLP-1.5.dtd">
<jnlp
version="@griffonAppVersion@"
version="2.1"
codebase="@griffonAppCodebase@"
href="@jnlpFileName@"
>
<information>
<title>@griffonAppName@</title>
<vendor>@griffonAppName@</vendor>
<title>TimeStamper</title>
<vendor>TimeStamper</vendor>
<!--<homepage href="http://app.example.com/"/>-->
<!--fallback description-->
<description>@griffonAppName@</description>
<description kind="one-line">@griffonAppName@</description>
<description kind="short">@griffonAppName@</description>
<description kind="tooltip">@griffonAppName@</description>
<description>TimeStamper</description>
<description kind="one-line">TimeStamper</description>
<description kind="short">TimeStamper</description>
<description kind="tooltip">TimeStamper</description>
<!-- fallback icon -->
<icon href="griffon-icon-48x48.png" kind="default" width="48" height="48"/>
<!-- icon used for splash screen -->
@ -25,7 +25,7 @@
<!-- to create shortcuts, uncomment this
<shortcut online="true">
<desktop/>
<menu submenu="@griffonAppName@"/>
<menu submenu="TimeStamper"/>
</shortcut>
<offline-allowed/>
-->

View File

View File

@ -18,7 +18,5 @@
*/
import groovy.swing.SwingBuilder
import griffon.util.GriffonPlatformHelper
GriffonPlatformHelper.tweakForNativePlatform(app)
SwingBuilder.lookAndFeel('system', 'nimbus', ['metal', [boldFonts: false]])

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -4,6 +4,7 @@ import java.awt.Color
import java.awt.Point
import java.awt.Toolkit
import java.awt.Rectangle
import java.beans.PropertyChangeListener
import java.text.SimpleDateFormat
import javax.swing.JDialog
import java.util.Calendar
@ -59,9 +60,10 @@ dialog = dialog(new JDialog(model.mainMVC.view.frame),
dayDisplay = widget(constraints: 'grow, gp 200',
new TimelineDayDisplay(model.mainMVC.model.timeline),
timeline: bind(source: model.mainMVC.model,
sourceProperty: 'timeline'),
stateChanged: bind(source: model.mainMVC.model,
sourceProperty: 'currentMarker'))
sourceProperty: 'timeline'))
model.mainMVC.model.addPropertyChangeListener('currentMarker', {
dayDisplay.stateChanged(null) } as PropertyChangeListener)
panel(
border: lineBorder(color: Color.BLACK, thickness: 1),

View File

@ -187,7 +187,7 @@ aboutDialog = dialog(new JDialog(frame),
locationRelativeTo: null,
pack: true,
undecorated: true,
title: "About TimeStamper v" + app.applicationProperties.'app.version'
title: "About TimeStamper v" + app.metadata.'app.version'
) {
panel(layout: new MigLayout('fill'),
border: lineBorder(color: Color.BLACK, thickness: 1)) {
@ -195,7 +195,7 @@ aboutDialog = dialog(new JDialog(frame),
label(font: new Font(Font.SANS_SERIF, Font.PLAIN, 18),
text: "TimeStamper", constraints: 'growx, wrap',
horizontalAlignment: SwingConstants.CENTER)
label(text: "version " + app.applicationProperties.'app.version'
label(text: "version " + app.metadata.'app.version'
+ " by Jonathan Bernard", constraints: 'growx, wrap',
horizontalAlignment: SwingConstants.CENTER)
textField(text: 'http://www.jdb-labs.com/timestamper',

165
griffonw Normal file
View File

@ -0,0 +1,165 @@
#!/bin/bash
##############################################################################
##
## Griffon start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRIFFON_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Griffon"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/"
APP_HOME="`pwd -P`"
cd "$SAVED"
CLASSPATH=$APP_HOME/wrapper/griffon-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query businessSystem maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add APP_NAME to the JAVA_OPTS as -Xdock:name
if $darwin; then
JAVA_OPTS="$JAVA_OPTS -Xdock:name=$APP_NAME"
# we may also want to set -Xdock:image
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRIFFON_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRIFFON_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRIFFON_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRIFFON_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GriffonWrapperMain "$@"

90
griffonw.bat Normal file
View File

@ -0,0 +1,90 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Griffon startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRIFFON_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\wrapper\griffon-wrapper.jar
@rem Execute Griffon
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRIFFON_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GriffonWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRIFFON_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRIFFON_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

Binary file not shown.

BIN
lib/timestamper-lib-1.5.jar Normal file

Binary file not shown.

BIN
wrapper/griffon-wrapper.jar Normal file

Binary file not shown.

View File

@ -0,0 +1,7 @@
#Griffon 1.2.0 upgrade
#Thu Apr 25 06:40:33 CDT 2013
distributionBase=GRIFFON_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRIFFON_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://dist.codehaus.org/griffon/griffon-1.2.0-bin.zip