I'm trying to declare a ProjectEvaluationListener in an init script
and have encountered what looks like might be a bug. The same class
declaration in a non-init script compiles fine.
Please see below for init script and command line/output.
Thanks for your help!
-David
gradle/init.gradle:
class AListener implements ProjectEvaluationListener {
void beforeEvaluate(org.gradle.api.Project project) {
}
void afterEvaluate(org.gradle.api.Project project,
org.gradle.api.ProjectState projectState) {
}
}
Output when trying to run:
$ gradle -I gradle/init.gradle -s -C rebuild
FAILURE: Build failed with an exception.
* Where:
Initialization script '/usr/proj/gradle/init.gradle' line: 7
* What went wrong:
Could not compile initialization script '/usr/proj/gradle/init.gradle'.
Cause: startup failed:
init_gradle_aa63cc11a41268d5d2c4001e7c918ac8: 7: Can't have an
abstract method in a non-abstract class. The class
'MoveBuildDirectoryListener' must be declared abstract or the method
'void afterEvaluate(org.gradle.api.Project,
org.gradle.api.ProjectState)' must be implemented.
@ line 7, column 1.
class MoveBuildDirectoryListener implements ProjectEvaluationListener {
^
init_gradle_aa63cc11a41268d5d2c4001e7c918ac8: 7: Can't have an
abstract method in a non-abstract class. The class
'MoveBuildDirectoryListener' must be declared abstract or the method
'void beforeEvaluate(org.gradle.api.Project)' must be implemented.
@ line 7, column 1.
class MoveBuildDirectoryListener implements ProjectEvaluationListener {
^
2 errors
* Try:
Run with -S option to get the full (very verbose) stacktrace.
* Exception is:
org.gradle.api.LocationAwareScriptCompilationException: Initialization
script '/usr/proj/gradle/init.gradle' line: 7
Could not compile initialization script '/usr/proj/gradle/init.gradle'.
at
org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:112)
at
org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileToDir(DefaultScriptCompilationHandler.java:57)
at
org.gradle.groovy.scripts.CachingScriptCompilationHandler.compileToDir(CachingScriptCompilationHandler.java:33)
at
org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.loadViaCache(DefaultScriptCompilerFactory.java:90)
at
org.gradle.groovy.scripts.DefaultScriptCompilerFactory$ScriptCompilerImpl.compile(DefaultScriptCompilerFactory.java:69)
at
org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:114)
at
org.gradle.configuration.DefaultInitScriptProcessor.process(DefaultInitScriptProcessor.java:37)
at
org.gradle.initialization.InitScriptHandler.executeScripts(InitScriptHandler.java:40)
at
org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:125)
at
org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:107)
at
org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:75)
at org.gradle.launcher.Main.execute(Main.java:93)
at org.gradle.launcher.Main.main(Main.java:42)
at org.gradle.launcher.GradleMain.main(GradleMain.java:49)
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException:
startup failed:
init_gradle_aa63cc11a41268d5d2c4001e7c918ac8: 7: Can't have an
abstract method in a non-abstract class. The class
'MoveBuildDirectoryListener' must be declared abstract or the method
'void afterEvaluate(org.gradle.api.Project,
org.gradle.api.ProjectState)' must be implemented.
@ line 7, column 1.
class MoveBuildDirectoryListener implements ProjectEvaluationListener {
^
init_gradle_aa63cc11a41268d5d2c4001e7c918ac8: 7: Can't have an
abstract method in a non-abstract class. The class
'MoveBuildDirectoryListener' must be declared abstract or the method
'void beforeEvaluate(org.gradle.api.Project)' must be implemented.
@ line 7, column 1.
class MoveBuildDirectoryListener implements ProjectEvaluationListener {
^
2 errors
at
org.gradle.groovy.scripts.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:108)
... 13 common frames omitted
BUILD FAILED
Total time: 0.982 secs
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email