1. 程式人生 > >Gradle常用命令操作及配置說明

Gradle常用命令操作及配置說明

Gradle強大的編譯能力和構建能力足以勝任日常中的開發,很多人將其視為maven的替代方案,至於用maven還是用Gradle這個根據各人喜愛或團隊要求來決定。

Gradle快速檢視指南

Gradle常用命令列表

gradle build
gradle test
gradle compilejava
gradle jar
gradle clean
gradle jar
gradle init
//生成wrapper包
gradle wrapper
gradle compilejava
gradle javadoc
gradle dependencies
gradle help
gradle check
gradle test
gradle -v
gradle --info
gradle --debug
gradle --help
//列出可執行的所有任務(即檢視可以執行的命令)
gradle tasks
gradle -q tasks

包的依賴

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

依賴倉庫

repositories {
    mavenLocal()
    mavenCentral()
}

Gradle任務操作

新建一個build.gradle檔案,以下示例都編輯在build.gradle中。

說明:> 後 跟gradle命令。 -q引數會關閉一些命令中的log資訊,如 gradle -q hello

定義一個任務,並執行

task hello {
    doLast {
        println 'Hello world!\nadmin'
    }
}

> gradle hello

定義一個快捷任務

task hello2 << {
        println 'admin\nHello world!'
    
}

> gradle hello2

<< 代表 doLast{}

使用Groovy 語言

task upper << {
    String someString = 'mY_nAmE'
    println "Original: " + someString 
    println "Upper case: " + someString.toUpperCase()
}
> gradle upper

迴圈遍歷

task foreach << {
    10.times { println "the times is $it." }
}

> gradle foreach

10.times,迴圈條件<10;$it 表示迴圈變數

依賴其他任務

task intro(dependsOn: hello) << {
    println "I'm Gradle---intro"
}
> gradle intro

依賴任務hello,會先呼叫hello,再執行當前task

依賴的任務定義在當前任務之後

task taskX(dependsOn: 'taskY') << {
    println 'taskX'
}
task taskY << {
    println 'taskY'
}

> gradle taskX

依賴定義在後面的任務,需要在任務名上加單引號。 而上一個例子,加不加單引號都可以

動態任務

4.times { counter ->
    task "task$counter" << {
        println "I'm task number $counter"
    }
}
> gradle task[0-4]

迴圈四次,生成4個task, 任務名分別為task0,task1,task2,task3。

動態任務依賴動態任務

task0.dependsOn task2, task3
> gradle task0

當然動態依賴靜態,靜態依賴動態都是可以的

符號<< 和 doFirst、doLast

task hello3 << {
    println 'Hello Earth'
}
hello3.doFirst {
    println 'Hello Venus'
}
hello3.doLast {
    println 'Hello Mars'
}
hello3 << {
    println 'Hello Jupiter'
}
> gradle hello3

可以有多個doFirst和doLast(或<<)。doFirtst先執行,doLast在其後。這裡順序就應為:Venus、Earth、Mars、Jupiter

使用外部任務的屬性

task myTask {
    ext.myProperty = "myValue"
}
task extraProps << {
    println myTask.myProperty
}
> gradle extraProps

使用ant任務

task loadfile1 << {
    def files = file('../builds').listFiles().sort()
    files.each { File file ->
        if (file.isFile()) {
            ant.loadfile(srcFile: file, property: file.name)
            println " *** $file.name ***"
            println "${ant.properties[file.name]}"
        }
    }
}
> gradle loadfile1

呼叫任務ant.properties。這裡輸出了檔案的內容

使用ant任務,並呼叫了Method

task checksum << {
    fileList('../builds').each {File file ->
        ant.checksum(file: file, property: "cs_$file.name")
        println "$file.name Checksum: ${ant.properties["cs_$file.name"]}"
    }
}
task loadfile2 << {
    fileList('../builds/').each {File file ->
        ant.loadfile(srcFile: file, property: file.name)
        println "I'm fond of $file.name"
    }
}
File[] fileList(String dir) {
    file(dir).listFiles({file -> file.isFile() } as FileFilter).sort()
}

> gradle loadfile2

> gradle checksum
聲明瞭method ---- fileList()

預設任務 

defaultTasks 'clean', 'run'

task clean << {
    println 'Default Cleaning!'
}
task run << {
    println 'Default Running!'
}
task other << {
    println "I'm not a default task!"
}

> gradle
後不跟任務名即 執行預設任務

Configure by DAG

task distribution << {
    println "We build the zip with version=$version"
}
task release(dependsOn: 'distribution') << {
    println 'We release now'
}
gradle.taskGraph.whenReady {taskGraph ->
    if (taskGraph.hasTask(release)) {
        version = '1.0'
    } else {
        version = '1.0-SNAPSHOT'
    }
}

> gradle distribution

執行任務圖中沒有release-task,輸出 We build the zip with version=1.0-SNAPSHOT

> release

執行任務圖中有release-task,輸出 We build the zip with version=1.0

相關推薦

Gradle常用命令操作配置說明

Gradle強大的編譯能力和構建能力足以勝任日常中的開發,很多人將其視為maven的替代方案,至於用maven還是用Gradle這個根據各人喜愛或團隊要求來決定。 Gradle快速檢視指南 Gradle常用命令列表 gradle build gradle test

android adb常用命令操作檢視log的方法

一.adb的常用命令 1.adb下直接拉起當前應用      eg:  am start -n com.android.settings/.FallbackHome 2.adb remount //將 /system 部分置於可寫入的

CloudEngine 6800基礎配置-02_常用命令操作

操作記錄 engine -o 命令操作 常用命令 -h bsp lba 基礎 查看未提交配置 system-view ftp server enable display configuration candidate 刪除未提交的配置 clear configur

rhel7的基本操作(查看IP配置,關閉防火墻,臨時或永久關閉selinux,常用命令操作)

總結 shel stop 修改 str cst dns配置 讀寫權限 字符 * rhel7的基本操作* 1、查看IP配置[root@admin203 ~]# ls /etc/sysconf

必須要會的Git基本使用常用命令操作

之前一直用的svn,後來換了之後才發現git的強大功能,是svn不能比的。缺點就是可能上手比較難一點,剛開始自己研究了兩天才摸索出來一些基本使用方法。 最近做專案需要建庫等等,都用到了git,隨著越來越多的使用,也越來有越多的認識。 一開始都是別人建好遠端庫,克隆下來就行了。 下面

linux操作--常用命令-使用者使用者組管理命令

1. useradd  useradd命令可以建立一個新的使用者帳號 其最基本用法為  useradd  使用者名稱  如輸入以下命令  useradd newuser 系統將建立一個新使用者 newuser 該使用者的 Home 目錄為/home/newuser 

dockerk8s常用命令操作

build構建映象 ship運輸映象 run執行映象 鯨魚把映象從倉庫拉到本地 run 將映象執行變成容器 docker 映象加速 setting->https://w0o0hzpv.mirror.aliyuncs.com windows10以上建議使用 docke

linux常用命令:sudo命令解釋配置免密碼使用方法

sudo命令用來以其他身份來執行命令,預設的身份為root。在/ect/sudoers設定了可執行sudo指令的使用者。未經過設定的使用者不可使用sudo未經過免密碼設定的使用者使用sudo時,必須先輸入密碼,之後有5分鐘的有效期限,超過期限則必須重新輸入密碼。設定某使用者(

【Git入門】安裝常用命令操作

Git VS SVN ① 版本庫本地化,支援離線提交,相對獨立不影響協同開發。每個開發者都擁有自己的版本控制庫,在自己的版本庫上可以任意的執行提交程式碼、建立分支等行為。 ② 更少的“倉庫汙染”。git對於每個工程只會產生一個.git目錄,這個工程所有的版本控制資訊都在這個目錄中,不

git 常用命令ssh配置

ssh -key配置   在這一步我已經預設你安裝好了Git,開啟Git,在Git命令列輸入cd  ~/.ssh檢查電腦本機是否有ssh key設定,注意: .ssh是隱藏檔案,一般在電腦C/使用者/Administrator下面就能夠找到。   一般情況下 ,之前沒有用

Git的一些常用命令.gitignore的配置

要很好的掌握Git,先要明白四個名詞概念: Workspace(工作區):新新增的,和修改的未add操作的。 Stage(暫存區):add操作過後,會進入暫存區。 Repository(本地倉庫):commit操作後,會進入本地倉庫。 Remote(遠端倉庫

Android開發之Gradle筆記整理2-Gradle常用命令UMeng多渠道打包實戰

Title:Android開發之Gradle筆記整理2——Gradle常用命令及UMeng多渠道打包實戰 Date:2015-04-06 21:54:47 Category:Android Develop Tag:技術,生活,Android Develop

Linux常用命令操作

減少 who deb 互聯網 大小 聯網 殺死進程 ner 打包 Linux簡介及Ubuntu安裝 常用指令 系統管理命令 打包壓縮相關命令 關機/重啟機器 Linux管道 Linux軟件包管理 vim使用 用戶及用戶組管理 文件權限管理 Linux簡介及Ubuntu安裝

Mysql常用命令操作之增刪改查

賬號 建立 批量插入 創建表 tab use 常用命令 default images 1.數據庫操作: 1.1 創建數據庫 : create database <數據庫名> a.建立一個名為oldboy_default的數據

1、kvm基礎常用命令操作

dir 命名 刪除 roo works suspend 備份目錄 xml文件 文件 KVM 虛擬機默認的配置文件在 /etc/libvirt/qemu 目錄下,默認是以虛擬機名稱命名的.xml文件,如下: root@xuedianhu:~# ls /etc/libvirt

MySQL常用命令操作大全

記錄 字段 goods 輸入密碼 文件 oca xtra update 密碼 linux操作mysql數據庫 mysql -u root -p 等待輸入密碼,密碼不可見。然後輸入密碼。(root是用戶名),然後進入mysql1、顯示數據庫 show databases;

git 常用命令操作

命令操作 用戶名 每次 github blog mail 客戶端 strong str 目錄 一、用戶和郵箱     用戶和郵箱的作用     查看用戶名和郵箱地址     修改用戶名和郵箱地址 用戶名和郵箱地址的作用 用戶名和郵箱地址是本地git客戶端的一個變

vuex - 常用命令學習用法整理

UNC 實例 tab justify 用法 變更 fun -c method https://vuex.vuejs.org/zh-cn/api.html 命令 用途 備註 this.$store 組件中訪問store實例 stor

linux系統常用命令統計shell特殊字符

命令 輸入 grep命令 err name 信息 通配符 輸出 鏈接 shell 特殊字符:1.通配符2.管道 1.通配符 1.1星號(*):匹配任意長度 1.2問號(?):匹配一個長度的字符 1.3方括號([......]):匹配其中指定的字符 1.4方括號([-]):匹

nginx 基本操作配置

param http ram pan list cati har listen dmi 基本操作: 1.啟動nginx {global}/nginx 例如:/usr/local/Cellar/nginx/1.13.12/bin/nginx 2.重啟nginx {glob