我有一个简单的gradle zip任务,
我发现任何以。{from input
文件夹开头的文件都会被忽略
task zipIt(type: Zip) {
from 'input/'
archiveName = 'output.zip'
}
有人知道为什么会这样吗?我怎样才能覆盖这种行为,所以我将这些文件包含在zip中?
稍后编辑: 明确添加文件模式似乎没有帮助
另一方面,查看@opal链接让我找到了解决方案:
import org.apache.tools.ant.DirectoryScanner
task zipIt(type: Zip) {
doFirst{
DirectoryScanner.removeDefaultExclude("**/.#*")
}
from 'input/'
archiveName = 'output.zip'
}
答案 0 :(得分:2)
对Opal的回答进行了解释,Gradle使用ANT's default excludes,如下所示:
从Ant 1.8.1开始,它们是:
**/*~
**/#*#
**/.#*
**/%*%
**/._*
**/CVS
**/CVS/**
**/.cvsignore
**/SCCS
**/SCCS/**
**/vssver.scc
**/.svn
**/.svn/**
**/.DS_Store
Ant 1.8.2添加了以下默认排除:
**/.git
**/.git/**
**/.gitattributes
**/.gitignore
**/.gitmodules
**/.hg
**/.hg/**
**/.hgignore
**/.hgsub
**/.hgsubstate
**/.hgtags
**/.bzr
**/.bzr/**
**/.bzrignore
默认排除.#
。使用类似于以下内容的任务更新build.gradle
文件应该允许您覆盖默认排除。
task copyPoundFiles(type: Copy) {
from '/path/to/files'
into '/dest/for/files'
include '**/.#*'
}
答案 1 :(得分:1)