Gradle各种Project相关操作
//project类相关操作
task allProject {
//获取所有project
getAllprojects().eachWithIndex { Project entry, int i ->
println "project: " + i + " name: " + entry.name
}
//获取父project
if (getParent() == null) {
println "我是根project,所以我没有父project !!! "
} else {
println "获得父project : " + this.getParent().name
}
//获取根project
println("rootProject: " + getRootProject().name)
}
//对当前节点project和所有子project进行配置
allProject {
group 'com.example'
version '1.1.0-beta'
}
println project.group
println project.version
//对所有子project的配置 (不包含当前的project)
subprojects { Project project->
if (project.plugins.hasPlugin('com.android.library')) {
apply from: '../publishToMaven.gradle'
}
}
//获取project下配置仓库
task showRepos {
def repos = repositories.collect {
println it.name
}
doLast {
println "all repos"
println repos
}
}
//获取project属性
task projectParams {
println "projectParams: " + project.name + " " + project.path + " " + project.description
}
//打印 rojectParams: app :app null
//配置project build路径
task buildDir {
println project.buildDir
project.setBuildDir('src')
println project.buildDir
}
//注册删除buildDir目录task
tasks.register('myClean', Delete) {
delete buildDir
}
//project的各种属性
task printProject {
println "project的各种属性: "
println project.rootProject
println project.projectDir.name + " -- " + project.projectDir.path
println project.buildDir.path
println project.name + " - " + project.description
}
参考:
https://juejin.cn/post/6844903838290296846#comment
https://doc.yonyoucloud.com/doc/wiki/project/GradleUserGuide-Wiki/index.html
网友评论