Gradle之Project操作

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容