gradle复制文件/文件夹方法
复制文件
//复制IDE生成的classes.jar文件到build/libs中,并改名为FileUtils.jar.
task copyFile(type:Copy) {
delete 'build/libs/FileUtils.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
rename('classes.jar', 'FileUtils.jar')
}
复制多个文件
//复制E:\src目录下的所有xml和java文件到E:\dst目录中
task copyMutiFiles(type:Copy){
from 'E:\\src'
into 'E:\\dst' //若dst不存在,会自动创建
//include '**/*'
include '**/*.xml'
include '**/*.java'
}
复制目录
task copyTaskDir(type: Copy) {
from 'E:\\src\\doc'
into 'E:\\dst\\doc'
include '**/*.html'
include '**/*.jsp'
// include '**/*'
exclude { details -> details.file.name.endsWith('.html') &&
details.file.text.contains('staging') }
}
文件同步任务
同步任务(Sync)继承自复制任务(Copy),当执行时会复制源文件到目标目录,然后从目标目录删除所有非复制文件。如下:
task libs(type: Sync) {
from configurations.runtime
into "$buildDir/libs"
}
创建归档文件
使用归档任务可以创建Zip、Tar、Jar、War、Ear等归档文件,如下:
apply plugin: 'java'
task zip(type: Zip) {
from 'src/dist'
into('libs') {
from configurations.runtime
}
}