4.8 The Griffon Shell

Starting with Griffon 0.9.5 there's a new command line tool at your disposal: the Griffon Shell or `griffonsh` for short. This is an interactive shell that can be kept running in the background, this way you don't pay the penalty of starting a new JVM every time you invoke a command. Other benefits are the bypass of dependency resolution if dependencies have not changed from the last command invocation. Here's a sample usage session:

    $ griffonsh
    Welcome to Griffon 0.9.5-rc2 - http://griffon.codehaus.org/
    Licensed under Apache Standard License 2.0
    Griffon home is set to: /usr/local/griffonType 'exit' or ^D to terminate this interactive shell
    griffon> compile
    Resolving dependencies…
    Dependencies resolved in 903ms.
    Environment set to development
    Resolving plugin dependencies …
    Plugin dependencies resolved in 1502 ms.
        [mkdir] Created dir: /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/cli
        [mkdir] Created dir: /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/main
        [mkdir] Created dir: /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/test
        [mkdir] Created dir: /Users/joe/.griffon/0.9.5-rc2/projects/sample/test-classes
        [mkdir] Created dir: /Users/joe/.griffon/0.9.5-rc2/projects/sample/test-resources
        [mkdir] Created dir: /Users/joe/.griffon/0.9.5-rc2/projects/sample/resources
     [griffonc] Compiling 8 source files to /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/main
     [griffonc] Compiling 4 source files to /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/main
    griffon> run-app
    Resolving dependencies…
    Dependencies resolved in 1ms.
        [mkdir] Created dir: /Users/joe/.griffon/0.9.5-rc2/projects/sample/resources/griffon-app/i18n
        [mkdir] Created dir: /Users/joe/.griffon/0.9.5-rc2/projects/sample/resources/griffon-app/resources
         [copy] Copying 1 file to /Users/joe/.griffon/0.9.5-rc2/projects/sample/resources/griffon-app/i18n
         [copy] Copying 8 files to /Users/joe/.griffon/0.9.5-rc2/projects/sample/resources/griffon-app/resources
         [copy] Copying 1 file to /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/main
         [copy] Copying 11 files to /Users/joe/.griffon/0.9.5-rc2/projects/sample/resources
         [copy] Copied 8 empty directories to 8 empty directories under /Users/joe/.griffon/0.9.5-rc2/projects/sample/resources
         [copy] Copying 1 file to /projects/sample/staging
         [copy] Copying 1 file to /projects/sample/staging
         [copy] Copying 1 file to /projects/sample/staging
         [copy] Copying 1 file to /projects/sample/staging
         [copy] Copying 1 file to /projects/sample/staging
         [copy] Copying 1 file to /projects/sample/staging
         [copy] Copying 1 file to /projects/sample/staging
         [copy] Copying 1 file to /projects/sample/staging
    Launching application …
    2012-02-07 17:27:11,007 [main] INFO  griffon.swing.SwingApplication - Initializing all startup groups: [sample]
    2012-02-07 17:27:16,555 [AWT-EventQueue-0] INFO  griffon.swing.SwingApplication - Shutdown is in process
       [delete] Deleting directory /projects/sample/staging/macosx64
       [delete] Deleting directory /projects/sample/staging/macosx
    griffon> clean
    Resolving dependencies…
    Dependencies resolved in 1ms.
       [delete] Deleting directory /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/cli
       [delete] Deleting directory /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/main
       [delete] Deleting directory /Users/joe/.griffon/0.9.5-rc2/projects/sample/classes/test
       [delete] Deleting directory /Users/joe/.griffon/0.9.5-rc2/projects/sample/test-classes
       [delete] Deleting directory /Users/joe/.griffon/0.9.5-rc2/projects/sample/test-resources
       [delete] Deleting directory /Users/joe/.griffon/0.9.5-rc2/projects/sample/resources
       [delete] Deleting directory /projects/sample/staging
    griffon>

This command environment accepts all commands available to the `griffon` command (except those that let you create a new project) plus a few more that are unique to the griffon shell. Please refer to the help command for more information on those extra commands.