代码拉取完成,页面将自动刷新
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: "${rootProject.rootDir}/common_config.gradle"
buildscript { //构建脚本引用
ext.lifecycle_version = "2.2.0"
repositories { //插件仓库配置
google()
mavenCentral()//仓库配置
jcenter() // Warning: this repository is going to shutdown soon
}
dependencies {//依赖插件
//google的android gradle插件
classpath 'com.android.tools.build:gradle:7.2.2'
// classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1' //添加这一行
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0' // greendao
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
//全部项目的配置
//allprojects {
// repositories { //全局项目应用的基础仓库配置
// google()
// mavenCentral ()
// }
//}
//闭包的方式创建
//task 是 gradle 的执行单元,gradle 通过一个个 task 完成具体任务的执行。
task clean(type: Delete) { //声明任务
delete rootProject.buildDir //删除主路径buildDir 文件夹
}
task doMytask {
println "doMytask"
}
doMytask.doFirst {
println "doMytask doFirst"
}
doMytask.doLast {
println "doMytask doLast"
}
task hello {
doLast {
println 'Hello world!'
}
}
class ActionTask extends DefaultTask {
String message = "task"
@TaskAction
def printHello() {
println "hello, ${message}"
}
}
task task1(type: ActionTask)
task task2(type: ActionTask) {
message = "task2"
}
this.tasks.create(name: 'helloTask2') {
setGroup('immoc') //为Task设置组
setDescription('task study') // 为Task设置描述
println 'I am helloTask2'
}
//在创建Task的时候添加group很有用啊 可以很方便的查找对应的Task
//一般情况下只是在other中去查找
task helloTask3(group: 'immoc', description: 'task study') {
println 'I am helloTask'
}
//建立运行依赖
task taskX {
doLast {
println 'taskX'
}
}
task taskY {
doLast{
println 'taskY'
}
}
//taskX,taskY中的doLast的闭包代码如果要执行,必须要先执行 ./gradlew taskZ
//因为 taskZ 依赖 taskX, taskY, 且必须执行完 taskX,taskY中的
//doLast闭包代码才能执行 taskZ中的doLast闭包代码
task taskZ(dependsOn:[taskX, taskY]){
println 'run after taskX,taskY'
doLast {
println 'taskZ'
}
}
//config.gradle
//将release中的release.xml文件内容输出到各自版本的文本中
task handleReleaseFile {
def srcFile = file('releases.xml')
def destDir = new File(rootDir.path, 'release/')
println 'handleReleaseFile destDir '+destDir.absolutePath
doLast {
println '开始解析对应的XML文件'
destDir.mkdir()
// def releases = new XmlParser().parse(srcFile)
// releases.release.each {
// releaseNode ->
// //解析每个release节点的内容
// def name = releaseNode.versionName.text()
// def versionCode = releaseNode.versionCode.text()
// def versionInfo = releaseNode.versionInfo.text()
// //创建文件并写入节点数据
// def destFile = new File(destDir, "release-${name}.txt")
// destFile.withWriter {
// writer ->
// writer.write("${name}---->${versionCode}---->${versionInfo}")
// }
// }
}
}
//在执行handleReleaseFileTest任务之前,先必须执行完成 handleReleaseFile 任务,
//其实就是执行其中的 doLast闭包中的代码
task handleReleaseFileTest(dependsOn: handleReleaseFile) {
//fileTree获取文件树
def dir = fileTree(rootDir.path + '/release/')
doLast {
dir.each {
println 'the file name is :' + it.name
}
println '输出完成...'
}
}
//执行
// ./gradlew handleReleaseFileTest
//过滤task
this.tasks.whenTaskAdded {
task ->
if(task.name == "handleReleaseFileTest"){ //这个不执行
task.enabled = false
}
}
ext {
buildToolsVersion = "31.0.0"
androidxAnnotationVersion = "1.2.0"
guavaVersion = "30.1.1-android"
coreVersion = "1.4.1-alpha03"
extJUnitVersion = "1.1.4-alpha03"
runnerVersion = "1.4.1-alpha03"
rulesVersion = "1.4.1-alpha03"
espressoVersion = "3.5.0-alpha03"
uiAutomatorVersion = "2.2.0"
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。