Done.  I have added

http://jira.codehaus.org/browse/GRADLE-872

<http://jira.codehaus.org/browse/GRADLE-872>Jesse

On Thu, Mar 25, 2010 at 1:52 AM, Adam Murdoch <[email protected]> wrote:

>
>
> On 25/03/10 7:52 AM, Adam Murdoch wrote:
>
>>
>>
>> On 24/03/10 11:28 PM, Jesse Eichar wrote:
>>
>>> Hi,
>>>
>>> I am copying some files and applying a filter to them.  I want the task
>>> to depend on the file that contains the ReplaceTokens so I added an
>>> upToDateWhen closure.  But it is ignored.  Here is my tasks in my
>>> build.gradle file:
>>>
>>> task filtering(type:Copy) {
>>>    from file('src/main/filtered-webapp')
>>>    into "$buildDir/webapp"
>>>
>>>    inputs.dir('filters')
>>>
>>>    def properties = new Properties()
>>>    file('filters/global-resource.filter').withReader {
>>>        properties.load(it)
>>>    }
>>>
>>>    filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: properties)
>>>
>>>    outputs.upToDateWhen { task ->
>>>        false
>>>    }
>>> }
>>>
>>>
>>> Is this a bug?
>>>
>>
>> Probably a bug. I'll have a look into it.
>>
>
> Definitely a bug. Could you add a JIRA issue for it?
>
>
>
>> What's you intention here? Do you really want the copy task to run
>> regardless of what's changed? Or do you want it to run only when the source
>> files in 'src/main/filtered-webapp' change or the properties in
>> 'filters/global-resource.filters' change?
>>
>> You should be able to do this:
>>
>> task filtering(type:Copy) {
>>    from file('src/main/filtered-webapp')
>>    into "$buildDir/webapp"
>>
>>    def properties = new Properties()
>>    file('filters/global-resource.filter').withReader {
>>        properties.load(it)
>>    }
>>
>>    filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: properties)
>> }
>>
>>
>> And it should just work. However, I haven't quite gotten around to wiring
>> up the filter() stuff into the up-to-date checking, so Gradle will currently
>> will ignore changes in the properties when deciding if the task is
>> up-to-date or not. In the meantime, you can add to the task { } closure
>>
>> inputs.properties properties
>>
>
> Actually, this won't work either. It will trigger the same bug as the
> upToDateWhen stuff.
>
>
>
> --
> Adam Murdoch
> Gradle Developer
> http://www.gradle.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>   http://xircles.codehaus.org/manage_email
>
>
>

Reply via email to