On 28/09/2011, at 5:08 PM, phil swenson wrote:
> one thing I struggle with is determining whether methods are additive
> or have replace behavior.
>
> For example for the TaskOutputs interface I see this:
>
> /**
> * Registers some output files for this task.
> *
> * @param paths The output files. The given paths are evaluated as
> for {@link org.gradle.api.Project#files(Object...)}.
> * @return this
> */
> TaskOutputs files(Object... paths);
>
>
> I eventually found that it's additive by looking through the gradle
> source. But there is no way to know this from the doc. Is there a
> reasonable way to figure this out?
>
> yesterday I was told that when you declare source sets like this:
>
> sourceSets.main.resources {
> srcDirs = ["../../src/java/core/bpo/ui/portlet"]
> include "*.properties"
> }
>
> srcDirs is additive, but srcDir replaces.
>
> How would I know that?
assignment *always* replaces. If the thing is a collection, the method is
always additive.
--
Luke Daley
Principal Engineer, Gradleware
http://gradleware.com
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email