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


Reply via email to