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


Reply via email to