2018年8月9日 星期四

Project 常用方法 (Gradle 4.x 二)

有幾個命令也可以撈出一些資訊
gradle projects
gradle tasks
gradle tasks --all 不加 all,other 就看不到
官網連結


String getName();
Object getGroup();
Object getVersion();
    
/* 主要是以下幾個方法
Project getRootProject();
Project getParent();
Project getProject();
Set<Project> getAllprojects();
Set<Project> getSubprojects();
Map<String, Project> getChildProjects();
Project findProject(String var1);
Project project(String var1, Closure var2);
Map<Project, Set<Task>> getAllTasks(boolean var1);
*/
    
    
task gradleInfo {
    println gradle.gradleVersion
    println gradle.gradleHomeDir
    println gradle.gradleUserHomeDir
}
    
task getCoordinate {
    println '--- 自己的 group-name-version ---'
    print group
    println "-$name-$version"
    
    subprojects.eachWithIndex { Project entry, int i ->
        i++
        println "--- 第 $i 個兒子的 group-name-version ---"
        println "$entry.group-$entry.name-$entry.version"
        println()
    }
}
    
project('SubGradle2') {
    println it.name
}
    
// 設定子專案
project 'SubGradle1', {
    println it.name
    group 'x.x.xxx'
    version '9.9.999'
    // apply from:'../xxx.txt'
    
    this.subprojects.eachWithIndex { Project entry, int i ->
    i++
    println "--- 第 $i 個兒子的 group-name-version ---"
    println "$entry.group-$entry.name-$entry.version"
    println()
    }
}

※getCoordinate 不是子專案的 group,$group 這個居然是 null,不知道為什麼

※apply from 的路徑是以 project('xxx') 裡面為準的,內容寫對 project('xxx') 的設定

沒有留言:

張貼留言