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: [email protected]
Concertant LLP t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road, f: +44 8700 516 084 voip: sip:[email protected]
London SW11 1EN, UK m: +44 7770 465 077 skype: russel_winder
signature.asc
Description: This is a digitally signed message part
