Working with Gradle Build Scripts
1 Locating files
File xmlFile = new File('xml/input/sample.xml')
def inputXml = project.file(xmlFile)
2 Using file collections
ConfigurableFileCollection userFiles = files(new File('README'), new File('INSTALL'))
3 Working with file trees
def srcDir = fileTree('scr/main').include('**/*.java')
4 Copying files
task simpleCopy(type: Copy) {
from 'src/xml'
into 'definitions'
}
5 Renaming files
task copyAndRename(type: Copy) {
from 'src'
rename {
String fileName ->
if (fileName.endsWith('txt')) {
String origin = fileName
String originWithoutExtension = original - '.txt'
originalWithoutExtension + '.text'
}
}
into 'dist'
}
rename '(.*).txt', '$1.text'
rename ~/^sample-(.*)/, '$1'
6 Archiving files
task archiveFiles(type: Zip) {
from 'dist'
into 'files'
destinationDir = file("$buildDir/zips")
archiveName = 'dist-files.zip'
}
task archiveFiles(type: Tar) {
from 'dist'
destinationDir = file("$buildDir/tarballs")
baseName = 'dist-files'
extension = 'tar.gz'
compression = Compression.GZIP
}
7 Using Loggings
task logLevels << {
logger.debug 'debug: Most verbose logging level.'
logger.info 'info: Use for information messages.'
}
gradle --debug logLevels
gradle --info logLevels