Gradle之Project操作

作者: 奔跑吧李博 | 来源:发表于2023-11-20 23:59 被阅读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

    相关文章

      网友评论

        本文标题:Gradle之Project操作

        本文链接:https://www.haomeiwen.com/subject/ofwyedtx.html