I thought I would spend a few minutes trying to get the Gradle Ant task
into a fit state perhaps for inclusion in 0.8.

However, I think I am misunderstanding how to use GradleLauncher and
StartParameters.  I have the sequence:

    final File f = new File ( file ) ;
    if ( ! f.exists ( ) ) { throw new BuildException ( "Gradle file " + file + 
" does not exist.") ; }
    final StartParameter parameters = new StartParameter ( ) ;
    parameters.setBuildFile ( f ) ;
    final List<String> tasksAsStrings = new ArrayList<String> ( ) ;
    for ( final GradleTask g : tasks ) { tasksAsStrings.add ( g.getValue ( ) ) 
; }
    parameters.setTaskNames ( tasksAsStrings ) ;
    final GradleLauncher gradle = GradleLauncher.newInstance ( parameters ) ;
    final BuildResult result = gradle.run ( ) ;
    if ( result.getFailure ( ) != null ) { throw new BuildException ( "Gradle 
execution failed." , result.getFailure ( ) ) ; }

but this is leading to:

        java.lang.NullPointerException
                at 
org.gradle.api.internal.plugins.DefaultPluginRegistry.<init>(DefaultPluginRegistry.java:53)
                at 
org.gradle.invocation.DefaultBuild.<init>(DefaultBuild.java:53)
                at 
org.gradle.DefaultGradleFactory.newInstance(DefaultGradleFactory.java:92)
                at 
org.gradle.GradleLauncher.newInstance(GradleLauncher.java:173)
                at org.gradle.ant.Gradle.execute(Gradle.java:133)
                at 
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
                at org.apache.tools.ant.Task.perform(Task.java:348)
                at org.apache.tools.ant.Target.execute(Target.java:357)
                at org.apache.tools.ant.Target.performTasks(Target.java:385)
                at 
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
                at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
                at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
                at 
org.apache.tools.ant.Project.executeTargets(Project.java:1189)
                at org.apache.tools.ant.Main.runBuild(Main.java:758)
                at org.apache.tools.ant.Main.startAnt(Main.java:217)
                at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
                at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

I guess that there is a field in StartParameter that is not set by
default but has to be set for things to work.

BTW  The JavaDoc for Gradle is seemingly a bit minimal.  Also the
GroovyDoc seems to have a problem with {...@code xxx}, but this is a
GroovyDoc problem, it's just that the Gradle doucmentation suffers
because of this.

-- 
Russel.
=============================================================================
Dr Russel Winder      Partner
                                            xmpp: rus...@russel.org.uk
Concertant LLP        t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road,   f: +44 8700 516 084   voip: sip:russel.win...@ekiga.net
London SW11 1EN, UK   m: +44 7770 465 077   skype: russel_winder

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to