Android开发Android开发经验谈Android技术知识

Gradle之Project操作

2023-11-20  本文已影响0人  奔跑吧李博
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

demo地址:
https://github.com/running-libo/GradleStudy

上一篇下一篇

猜你喜欢

热点阅读