(Translated by https://www.hiragana.jp/)
Gradle - 维基百科,自由的百科全书

Gradleいち个基于Apache AntApache Maven概念的がいねんてき项目动化けん工具こうぐ。Gradle 构建脚本きゃくほん使用しようてき Groovy ある Kotlin てき特定とくてい领域语言らい编写てき[2],而不传统てきXML[3]

Gradle
原作げんさくしゃHans Dockter
開發かいはつしゃGradle developers
とうぜん版本はんぽん7.3.3(2021ねん12月22にち,​2ねんまえ​(2021-12-22[1]
预览版本はんぽん7.0.0-M3(2021ねん3がつ12にち,​3ねんまえ​(2021-03-12
みなもとだい码库 編輯維基數據鏈接
编程语言JavaGroovyKotlin
操作そうさけいまたが平台ひらだい
类型动化构建工具こうぐ
许可协议Apache许可证 2.0
网站http://www.gradle.org/

とう前官ぜんかんかた支持しじてき语言为JavaGroovyScalaC++SwiftJavaScriptとう以及Springかまち[4]

使用しよう Gradle てき優勢ゆうせい

编辑
  • 自動じどう處理しょり套件しょう關係かんけい - Maven Repos てき概念がいねん
  • 自動じどう處理しょり佈署問題もんだい - Ant てき概念がいねん
  • 條件じょうけん判斷はんだんうつしほう直覺ちょっかく - 使用しよう Groovy げん

過去かこ Java 開發かいはつしゃ常用じょうよう Maven Ant とう工具こうぐ進行しんこうふうそう佈署てき自動じどうある兩者りょうしゃ兼用けんよう兩個りゃんこ套件彼此ひしゆうゆう缺點けってん,如果頻繁ひんぱん改變かいへんしょう套件版本はんぽん使用しよう Ant しょう當麻とうまはん,如果瑣碎工作こうさく很多,Maven こうのう不足ふそく,而且兩者りょうしゃ使用しよう XML 描述,相當そうとう不利ふり設計せっけい if、switch とう判斷はんだんしきそく使つかいうつしりょう可讀かどくせい也不けい,而 Gradle 改良かいりょうりょう過去かこ Maven、Ant たいきゅう開發かいはつしゃてき問題もんだいいたりこん也成ため Android Studio 內建てきふうそう佈署工具こうぐ

概念がいねん

编辑

插件

编辑

よし于Gradle てき核心かくしんこうのう为真实世かい提供ていきょうりょう很少てき动化,其他实用せいこう能都のとただしよし插件提供ていきょう[5][6]所以ゆえん往往おうおうざい使用しようりょうGradle时候,往往おうおう都会とかい使用しよう插件以完せい动化操作そうさざい特定とくていてき上下じょうげぶん语境,Gradle 插件提供ていきょう给用户对应合适的だま认事项以及标じゅん惯例)。[7] 换言,插件对真实环さかい和上わじょうぶんてき一个补充和扩展。

使用しよう插件ぶん两步:解析かいせき插件、应用插件。[8]Gradle插件つね见的两种关键词applyplugins前者ぜんしゃ仅仅应用插件,きさきしゃすんで分析ぶんせきまた应用插件。[8]

赖约たば

编辑

赖约たば(Dependency constraint),よう于帮じょ块去获取一个可用的依赖。赖约たばね以缩しょう块的支持しじ版本はんぽんてき范围。而且这也のう适用于传递依赖(transitive dependencies)。[9] しめせれい如下:

dependencies {
    implementation 'org.apache.httpcomponents:httpclient'
    constraints {
        implementation('org.apache.httpcomponents:httpclient:4.5.3') {
            because 'まえてきばん本有ほんゆうbug,かいかげ响到应用'
        }
        implementation('commons-codec:commons-codec:1.11') {
            because ' 从httpclient获取てき 1.9 はん本有ほんゆうbug,かいかげ响到应用'
        }
    }
}

插件

编辑

Java Plugin

编辑

Java插件为项提供ていきょうりょうJava编译、测试以及其他いち系列けいれつこうのうどう时Java插件其他JVM语言插件てきもと础。かんかたぶん档不けん使用しようしゃさい直接ちょくせつ使用しようJava插件,而应该使用しようもと于Java插件てき衍生插件,如:java-libraryapplication。[10] ざいjava插件ちゅうcompile 关键词(编译时依赖)やめ经废弃,而代これ implementation 关键词[11] ,而在java-libraryちゅう使用しようapiimplementation关键词表示ひょうじ赖。[12]

Java Application插件

编辑

Application插件,よう于创けん执行てき JVM 应用。[10]

Java Library插件

编辑

Java赖包插件よう提供ていきょうJava赖包てき专门识。 java-library插件增加ぞうかりょうAPIてき概念がいねんimplementation api关键词区别在于:apiところ赖的赖包,かいさく为该项目的もくてきAPI暴露ばくろ于调ようしゃimplementation ところ赖的赖包,かいさく为该项目的もくてきAPI而暴露ばくろ于调ようしゃ,调用しゃ如果需要じゅよう使用しよう该依赖包需要じゅよう另外声明せいめい[12]

Java Platform插件

编辑

Java平台ひらだい插件为Javaせい态系统提供ていきょう平台ひらだいてきこうのう平台ひらだい可用かよう于各种目的もくてき,如:[13]

  • かく个子项目使用しようどう一个版本号和描述,进行发布。
  • 使用しようしゃ提供ていきょう一个推荐的版本的依赖包组合。
  • ざい不同ふどうてき项目ちゅうきょうとおる版本はんぽん

Ant迁移しめせれい

编辑

GradleあずかAntゆう很紧みつ集成しゅうせい,甚至ざい构建时可以把Ant构建脚本きゃくほん直接ちょくせつ导入。下面かめんてきれい展示てんじりょういち个简单的Ant target引入为一个Gradle task。

build.xml

<project>
  <target name="ant.target">
    <echo message="Running ant.target!"/>
  </target>
</project>

build.gradle

ant.importBuild 'build.xml'

运行 gradle ant.target はた显示如下结果

> gradle ant.target
:ant.target
[ant:echo] Running ant.target!

BUILD SUCCESSFUL

参考さんこう文献ぶんけん

编辑
  1. ^ Gradle Distributions. Gradle Services. [2022-01-09]. (原始げんし内容ないようそん档于2021-02-03). 
  2. ^ Gradle User Manual. docs.gradle.org. [2020-02-21]. (原始げんし内容ないようそん于2021-02-03). 
  3. ^ そん副本ふくほん. [2013-07-03]. (原始げんし内容ないようそん档于2013-04-15). 
  4. ^ Building Java Applications. guides.gradle.org. [2020-02-21]. (原始げんし内容ないようそん于2020-10-26). 
  5. ^ Using Gradle Plugins. docs.gradle.org. [2020-02-21]. (原始げんし内容ないようそん于2020-11-23). 
  6. ^ Gradle 插件 - Gradle よう指南しなんかんかたぶん档中ぶんばん - UDN开源ぶん. doc.yonyoucloud.com. [2020-02-21]. (原始げんし内容ないようそん于2020-02-21). 
  7. ^ Designing Gradle plugins. guides.gradle.org. [2020-02-21]. (原始げんし内容ないようそん于2020-10-26). 
  8. ^ 8.0 8.1 Using Gradle Plugins. docs.gradle.org. [2020-02-23]. (原始げんし内容ないようそん于2020-11-23). 
  9. ^ Dependency Management Terminology. docs.gradle.org. [2020-02-24]. (原始げんし内容ないようそん于2020-02-21). 
  10. ^ 10.0 10.1 The Java Plugin. docs.gradle.org. [2020-02-21]. (原始げんし内容ないようそん于2021-02-03). 
  11. ^ The Java Plugin. docs.gradle.org. [2020-02-21]. (原始げんし内容ないようそん于2021-02-03). 
  12. ^ 12.0 12.1 The Java Library Plugin. docs.gradle.org. [2020-02-21]. (原始げんし内容ないようそん于2020-12-23). 
  13. ^ The Java Platform Plugin. docs.gradle.org. [2020-02-23]. (原始げんし内容ないようそん于2020-10-28). 

まいり

编辑