2015-10-29 42 views
4

我们使用TeamCity的生产*.nupkg文物这是我们不希望被清理。 TeamCity提供了一个字段,您可以在其中指定一个ANT样式的模式,用于指示您执行或不希望清理的文件。假设一秒钟,我们这是我们不希望将以下文件进行清理:蚂蚁模式匹配 - *主场迎战**

/a.nupkg 
/dir1/b.nupkg 
/dir1/dir2/c.nupkg 

是否*.nupkg模式匹配.nupkg文件都在根目录和所有的子目录或确实需要使用**.*nupkg遍历所有目录?

我阅读下面的文档,但是这仍然是不明确的对我说:http://ant.apache.org/manual/dirtasks.html#patterns

如果有一个Ant-模式测试仪(类似http://regexpal.com/),这将是惊人的。

回答

1

要匹配的所有文件,所有目录中(从基本目录和深)

**/*.nupkg 

将匹配

sample.nupkg 
sample-2.nupkg 
tmp/sample.nupkg 
tmp/other.nupkg 
other/new/sample.nupkg 

PS:有没有蚂蚁格式测试。

1

对于你的模式测试一个简单的方法就是呼应你的文件集的内容到标准输出或文件,F.E. :

<project> 
    <fileset dir="..." id="foobar"> 
    <include name="..."/> 
    <!-- .. --> 
    </fileset> 

    <!-- simple echo --> 
    <echo>${toString:foobar}</echo> 

    <!-- use pathconvert for listing files line by line --> 
    <pathconvert property="foo" pathsep="${line.separator}" refid="foobar"/> 

    <!-- simple echo --> 
    <echo>${foo}</echo> 

    <!-- print to file --> 
    <echo file="whatever.txt">${foo}</echo> 

    <!-- use nested mapper if you need only basename --> 
    <pathconvert property="fooflat" pathsep="${line.separator}" refid="foobar"> 
    <mapper> 
    <flattenmapper /> 
    </mapper> 
    </pathconvert> 

    <echo>$${fooflat} => ${line.separator}${fooflat}</echo> 

    <!-- to combine several filesets use --> 
    <path id="fooo"> 
    <fileset dir="..."> 
    <include name=".."/> 
    </fileset> 
    <fileset> 
    <!-- ... --> 
    </fileset> 
    <fileset> 
    <!-- ... --> 
    </fileset> 
    <!-- ... -- > 
    </path> 

    <echo>$${fooo} => ${fooo}</echo> 

</project> 
相关问题