Gradle基本操作入手

 Gradle本身的领域对象主要由Project和Task。Project为Task提供了执行上下文,所有的Plugin要么向Project中添加用于配置Property,要么向Project中添加不同的Task。

一个Task表示一个逻辑上较为独立的执行过程。

一个Task可以读取和设置Project的Projecty以完成特定的操作。

定义一个Task时的默认类型,当然我们也可以显示声明Task的类型,甚至可以自定义一个Task类型。

task copyFile(type: Copy) {
   from 'xml'
   into 'destination'
}

 声明Task依赖关系的一种方式是定义在一个Task的时候:

task taskA(dependsOn: taskB) {
   //do something
}

查看Project中所有的Task:

gradle task

Gradle还默认为我们提供了dependencies、projects、properties等Task。

dependencies用户显示Project的依赖信息,projects用于显示所有Project,包括根Project和子Project,而properties则用于显示一个Project所包含的所有Property。

gradle properties

对于Gradle的构建进行配置:

Gradle构建脚本:build.gradle 制定一个项目和它的任务

Gradle属性文件:gradle.properties 用来配置构建属性

Gradle设置文件:settings.gradle 对于只有一个项目的构建而言是可选的,如果我们的构建中包含了多于一个项目,他就是必须的,描述了项目的之间的构造关系,每一个多项目构建都必须加入一个设置文件。

 TASK任务实例

task hello{
    println 'Hello 1'}

hello.doFirst{
println 'doFirst 1'}

hello.doFirst{
println 'doFirst 2'}

hello.doLast{
println 'doLast 1'}

hello.doLast{
println 'doLast 2'}

hello << {
println ' use << put msg'}

 TASK依赖

task hello <<{
println 'hello world'}

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

 

Gradle插件

gradle build:编译整个项目,它会执行代码编译、代码检测和单元测试

gradle assemble:编译并打包你的代码,并不会运行代码检测和单元测试

gradle clean:删除build生成的目录和所有生成的文件

gradle check:编译并测试你的代码,其他的插件会加入更多的检查步骤,

外部依赖

一个Java项目将有多个外部的依赖,既可以指向外部的JAR文件,为了项目引用一些JAR文件,你需要告诉Gradle去哪里找他们,在Gradle中,JAR文件位于一个仓库中,这里的仓库类似于maven的仓库。

首先指定maven的仓库地址:

repositories {
       mavenCentral()      
}    

mavenCentral()是Gradle内置的一个maven仓库地址,加入maven仓库后,就可以直接加入maven仓库中的外部依赖,如果这个外部依赖不存在,gradle会联网去maven仓库中自动下载它,并将他缓存到本地,下次在使用时会优先从本地缓存中查找该依赖。

dependencies {
          complie group: 'commons-collections', name:  'commons-collections', version: '3.2'
}

本地依赖

Gradle也可以从本地目录中引入JAR包依赖,可以单一引入指定的某一JAR包,也可以引入某目录下所有JAR包,

dependencies {
            compile files('dir/file.jar')
            compile fileTree(dir:'libs',include: '*.jar')
}

项目依赖

主要是设置settings.gradle定义当前项目的依赖关系

include 'sub-project1', 'sub-project2', 'sub-project3'

如果su-project1依赖sub-projcet2,则在sub-project1的build.gradle中加入以下配置即可:

dependencies {
           compile project(':sub-project2') 
}

依赖关系管理

依赖关系管理分为两个方面。

首先,gradle需要知道你要构建或者运行的项目,以便找到它们。我们将这些导入的文件视为项目的依赖。

第二,gradle需要构建或者打包你的项目产品。我们将这些导出的文件视为项目的发布。

apply plugin: 'java'
repositories {
    mavenCentral()
}
dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}
原文地址:https://www.cnblogs.com/holddie/p/7068483.html