How to pass arguments from command line to gradle
===

I'm trying to pass an argument from command line to a java class.  I followed this post: http://gradle.1045684.n5.nabble.com/Gradle-application-plugin-question-td5539555.html but the code does not work for me (perhaps it is not meant for JavaExec?).  Here is what I tried:


    task listTests(type:JavaExec){
        main = "util.TestGroupScanner"
        classpath = sourceSets.util.runtimeClasspath
        // this works...
        args 'demo'
        /*
        // this does not work!
        if (project.hasProperty("group")){
            args group
        }
        */
    }

The output from the above hard coded args value is:

    C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle>g listTests
    :compileUtilJava UP-TO-DATE
    :processUtilResources UP-TO-DATE
    :utilClasses UP-TO-DATE
    :listTests
    Received argument: demo
    
    BUILD SUCCESSFUL
    
    Total time: 13.422 secs

However, once I change the code to use the hasProperty section and pass "demo" as an argument on the command line, I get a NullPointerException:

    C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle>g listTests -Pgroup=demo -s
    
    FAILURE: Build failed with an exception.
    
    * Where:
    Build file 'C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle\build.gradle' line:
25
    
    * What went wrong:
    A problem occurred evaluating root project 'testgradle'.
    > java.lang.NullPointerException (no error message)
    
    * Try:
    Run with --info or --debug option to get more log output.
    
    * Exception is:
    org.gradle.api.GradleScriptException: A problem occurred evaluating root project
     'testgradle'.
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:127)
        at org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProcessor.java:38) 


There is a simple test project available at http://gradle.1045684.n5.nabble.com/file/n5709919/testgradle.zip that illustrates the problem.

This is using Gradle 1.0-rc-3.  The NullPointer is from this line of code:

    args group 

I added the following assignment before the task definition, but it didn't change the outcome:

    group = hasProperty('group') ? group : 'nosuchgroup' 

Any pointers on how to pass command line arguments to gradle appreciated.