never mind.
I found the problem. I was duplicating the 'doLast' directive, by
accidentally using both the shorthand (<<) and the explicit keyword:
task complete(dependsOn: [prepareSetupStructure]) << {
doLast {
println 'build is complete!'
}
}
This seems to cause a ConcurrentModificationException,
which, while not being completely helpful, is probably perfectly
understandable.
regards,
sean
On 12 January 2011 12:37, Sean Van Buggenum <[email protected]> wrote:
> Hi all,
>
> I am having a strange error, and due to my newness to the environment,
> know not what I am doing wrong (or indeed a good way to avoid it).
>
> Below I show you a very minimal build file.
> All "blocks" are execution phase blocks except for the one named 'checkArgs'
>
> All tasks depend on another, except for the last (prepareBuildProcess)
> which depends on nothing, and the configuration phase task which also
> depends on nothing.
> The execution order, I suppose, should look like this:
>
> checkArgs
> prepareBuildProcess
> prepareSoruce
> prepareSetupStructure
> complete
> intro
>
> What happens however, is that at the end of complete (or at intro)
> there is an exception thrown:
>
> Total time: 2.413 secs
>
> D:\dev\scripts>gradle intro
> :prepareBuildProcess
> :prepareSource
> :prepareSetupStructure
> :complete
>
> FAILURE: Build aborted because of an internal error.
>
> * What went wrong:
> Build aborted because of an unexpected internal error. Please file an
> issue at: http://www.gradle.org.
>
> * Try:
> Run with -d option to get additional debug info.
>
> * Exception is:
> java.util.ConcurrentModificationException
> at
> java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
> at java.util.AbstractList$Itr.next(AbstractList.java:343)
> at
> org.gradle.api.internal.tasks.DefaultTaskExecuter.executeActions(DefaultTaskExecuter.java:54)
> at
> org.gradle.api.internal.tasks.DefaultTaskExecuter.execute(DefaultTaskExecuter.java:43)
>
>
> What is going wrong here?
> Incidentally, if i change all (except for intro) to configuration
> phase tasks, the exception does not occur.
>
>
>
> here is the build file.
>
> --------------------------------
>
> task checkArgs () {
>
> }
>
> task prepareBuildProcess << {
>
> }
>
> task prepareSource(dependsOn: [prepareBuildProcess]) << {
>
> }
>
> task prepareSetupStructure(dependsOn: [prepareSource]) << {
>
> }
>
> task complete(dependsOn: [prepareSetupStructure]) << {
>
> doLast {
> println 'build is complete!'
> }
> }
>
> task intro(dependsOn: [complete]) << {
>
> println 'in intro'
> }
>
>
>
> ----------------------------
>
> thanks for any help!
>
> sean
>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email