You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by "Ittay Dror (JIRA)" <ji...@apache.org> on 2009/10/21 17:44:59 UTC

[jira] Created: (BUILDR-331) using ArchiveTask#include with patterns is too tricky

using ArchiveTask#include with patterns is too tricky
-----------------------------------------------------

                 Key: BUILDR-331
                 URL: https://issues.apache.org/jira/browse/BUILDR-331
             Project: Buildr
          Issue Type: Wish
    Affects Versions: 1.3.5
            Reporter: Ittay Dror


We have a case in our buildfile where the code below doesn't work with a clean build:
package(:war).include(path_to(resource.target , :web, '*.swf')))

the reason is that  the pattern is evaluated before the resources task had a chance to run. 

it is evaluated because the @include instance variable in ArchiveTask#Path is a FileList which is very sensitive and resolves all its patterns whenever a method from the Array class is called on it. 

so somewhere in our, or buildr's code, the FileList instance is resolved, and it is tricky to find where and probably to fix. as well as being unexpected

suggestion: @includes should be a regular array. when invoked (in the action block), the task should use FileList[*@includes] to expand all patterns. this will ensure that patterns are evaluated lazily

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (BUILDR-331) using ArchiveTask#include with patterns is too tricky

Posted by "Antoine Toulme (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BUILDR-331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Antoine Toulme resolved BUILDR-331.
-----------------------------------

    Resolution: Won't Fix

You should use an enhance block for this type of configuration.

> using ArchiveTask#include with patterns is too tricky
> -----------------------------------------------------
>
>                 Key: BUILDR-331
>                 URL: https://issues.apache.org/jira/browse/BUILDR-331
>             Project: Buildr
>          Issue Type: Wish
>    Affects Versions: 1.3.5
>            Reporter: Ittay Dror
>
> We have a case in our buildfile where the code below doesn't work with a clean build:
> package(:war).include(path_to(resource.target , :web, '*.swf')))
> the reason is that  the pattern is evaluated before the resources task had a chance to run. 
> it is evaluated because the @include instance variable in ArchiveTask#Path is a FileList which is very sensitive and resolves all its patterns whenever a method from the Array class is called on it. 
> so somewhere in our, or buildr's code, the FileList instance is resolved, and it is tricky to find where and probably to fix. as well as being unexpected
> suggestion: @includes should be a regular array. when invoked (in the action block), the task should use FileList[*@includes] to expand all patterns. this will ensure that patterns are evaluated lazily

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.