一、一个版本维护实例,利用TaskInputs和TaskOutputs进行参数输入输出以及依赖顺序的判定
将功能做为一个模块代码使用:
/**
* TaskInputs和TaskOutputs
* TaskOutputs只支持文件类型的输出和dir
* TaskInputs则有多种类型的
*/
ext {
versionName = rootProject.android.versioName
versionCode = rootProject.android.versioName
//这里的信息我们一般使用服务器上面的数据,不要在本地维护,
//否则手动维护信息,写这么一段代码就没有意义了
versionInfo = 'App的下个月发布计划版本'
destFile = file('releases.xml')
if (destFile != null && !destFile.exists()) {
destFile.createNewFile()
}
}
task writeTask {
//为task指定输入
inputs.property('versionName', versionName)
inputs.property('versionCode', versionCode)
inputs.property('versionInfo', versionInfo)
//为task指定输出
outputs.file destFile
doLast {
def data = inputs.