Gradle 的核心是由 Java 實作,但為了提供更好擴充的語法,Gradle 一開始使用 Groovy 實作 DSL 語法,讓開發者能用簡潔及具語義的程式碼...
Gradle 的其中一個強大特點,就是它了解任務間的相依性,可以在核心建立出圖或樹。這對於開發者來說非常棒,因為我們只需要將關注點專注在我們的主要任務上,相依的...
Plugin 可以做什麼? 將 Plugin 套用於專案後,可以擴增專案的能力,它可以做到如: 擴充 Gradle model(如增加可以設定的 DSL 元素...
雖然 Gradle 內建不少任務,也有眾多 Plugin 可以增加更多常用任務。但畢竟每個專案都是獨一無二的,情境和需求也都不同,因此往往會需要在 Gradle...
昨天提到 TeamCity 支援幾個不同的通知頻道,可以在建置任務成功或失敗的時候通知我們。不過現在的通訊平台愈來愈多,每個團隊的偏好也不一樣,TeamCity...
在定義 Gradle Build Script 裡的 dependencies 時,您是不是也曾跟筆者一樣看著網路上各種教學文件,彼此常有出入,搞不清楚到底該用...
之前在看別人的 JVM 專案時,有時會發現數個不同的 Module 原始碼卻都指向同一個 Repository,這才發現原來 Gradle 支援複數專案架構。也...
為了讓 Gradle 在運行的時候可以更彈性,Gradle 支援一系列載入建置環境(Build Environment)的機制,讓我們可以動態修改運行時的行為。...
眾所皆知 Gradle 是一個 Build Tool。對於編譯式語言來說,編譯過程會經過很多手續,這些手續彼此串連相依,若是遇到錯誤或是有效能問題時,其實並不容...
對於一個 Gradle 專案來說,一切設定與運作的核心都紀錄在 Build Script 裡。為了讓我們更了解 Gradle,今天就來瞭解一下 Build Sc...
任務(Task)是 Gradle 運行時的基本單位,基本上所有我們輸入的 Gradle 指令都是對應到一個任務上。今天我們就來探索一下 Gradle 任務及如何...
花了這麼多時間搞清楚 Gradle 的各種安裝方式,接下來就要開始學習使用 Gradle 指令。今天先來搞清楚初始化專案的指令 init,也比對一下用 Inte...
在前一天的練習裡,我們雖然只寫了一個非常簡單的 Hello World 程式,但只要能在 Run 面板裡看到 Hello, world 字串的輸出,就表示我們已...
在後續章節裡,我們將使用 IntelliJ IDEA 示範如何編輯 Gradle 的 Build Script,IntelliJ IDEA 對 Gradle 有...
在開發 JVM 專案時,有時會遇到這些實務問題: 專案使用的 Gradle 版本跟自己本機安裝的不同 參與專案開發的每位成員使用的 Gradle 版本都不同...
昨天介紹的全手動安裝是對系統掌控的一種極端,而今天要介紹的,是對系統潔癖的另一種極端。假如你受夠了要跟作業系統的套件管理工具奮戰、也討厭在自己的工作機上裝一堆開...
前面三天已經介紹過在三大主流作業系統上安裝 Gradle 的方式,基本上應該已經能夠滿足 90% 讀者的需求。但假如您不喜歡用套件管理工具、也偏好自己手動安裝...
在 Windows(在這系列裡指的是 Windows 10 以上的版本)上除非您使用 WSL 環境,不然沒辦法使用 SDKMAN 這種以 Bash 為基礎的 S...
同為 Unix 系列的 macOS 可以完全相容上一篇使用 SDKMAN 安裝 JDK 及 Gradle 的作法。不過,若是您已經習慣使用 Homebrew 來...
接下來要跟大家談談如何在三大主流作業系統上安裝 Gradle,讀者可以依據自己習慣使用的作業系統跟著文章裡的步驟把環境裝起來。首先我們從 Linux 作業系統開...
Gradle 可以做的事情實在太多了,導致初學者很容易被其強大又神祕的架構嚇到。因此筆者覺得有必要把官方文件上的這一段翻譯並整理出來,讓大家在學習 Gradle...
雖然我們或多或少聽過 Gradle 這個名字,但其實在學習 Kotlin 程式語言時,好像沒什麼機會聽到或用到它?所以我們就花一天的篇幅來談談,到底什麼是 Gr...
開始接觸 Gradle 的原因 身為一位 Kotlin 開發者,每天需要接觸的就是 JVM 生態系的工具。相依管理一直是各個程式語言都得處理的基本需求,而建置工...