目录

Gradle 快速指南

目录

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。

面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言。

  • Gradle is a general-purpose build tool
  • The core model is based on tasks
  • Gradle has several fixed build phases
  • Gradle is extensible in more ways than one
  • Build scripts operate against an API
├── build.gradle  
├── gradle
   └── wrapper
       ├── gradle-wrapper.jar  
       └── gradle-wrapper.properties  
├── gradlew  
├── gradlew.bat  
└── settings.gradle  
/*
声明插件,声明插件的方式有两种,下面这种是 2.* 版本之后的新的定义方式。可以声明两种插件:
1. 官方内置插件,如 java,idea。
2. 在 gradle 插件中心注册过的插件,如第三个就是,这种要还要声明版本。
声明插件的目的是因为插件会提供很多 task,而每一个 task 就是一段构建脚本,可以执行不同的任务。比如 compileJava,test 等。
*/
plugins {
    id 'java'
    id 'idea'
    id "com.yangxiaochen.scaffold" version "1.0.2"
}

/*
声明 group 和 版本,而 project 的名字在 settings.gradle 文件中,而子 module ,或者又称为 sub projects 的名字通常和文件夹名字一样。
*/
group 'com.yangxiaochen.gradle'
version '1.0.0-SNAPSHOT'

/*
声明依赖仓库,这里使用的是 jcenter,也可以使用其他的如 mavenCentral 等。也可以声明多个,会按顺序查找。
*/
repositories {
    jcenter()
}

/*
声明依赖
*/
dependencies {
    implementation 'org.slf4j:slf4j-api:1.7.21'
    testImplementation 'junit:junit:4.12'
}

6.2.2 开始把 compile 换成了 implementation

更换国内源,详情请看 阿里云:公共代理库

repositories {
  maven {
    url "https://maven.aliyun.com/repository/central"
  }
}

Declaring dependencies