zoukankan      html  css  js  c++  java
  • 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.+'
    }
  • 相关阅读:
    leetcode_question_67 Add Binary
    几种常用控件的使用方法
    JavaBean讲解 规范
    [置顶] JDK-CountDownLatch-实例、源码和模拟实现
    恋人分手后需要做的不是挽回而是二次吸引
    leetcode_question_70 Climbing Stairs
    偶然碰到的Win7 64位下CHM 的问题解决
    FTP中各文件目录的说明
    深入理解line-height与vertical-align(1)
    行内元素和块级元素
  • 原文地址:https://www.cnblogs.com/holddie/p/7068483.html
Copyright © 2011-2022 走看看