Gradle简易使用说明

无idea情况下

建立一个目录,shell进入相应的目录,执行gradle init就能够创建一个java项目了

gradle采用约定大于配置的模式,类似maven,以下是一个gradle项目目录结构:

├─.gradle
│  ├─3.3
│  │  └─taskArtifacts
│  ├─3.5
│  │  ├─file-changes
│  │  ├─fileContent
│  │  └─taskHistory
│  └─buildOutputCleanup
├─.idea
│  ├─libraries
│  └─modules
│      ├─module1
│      └─module2
├─build
│  ├─libs
│  └─tmp
│      └─jar
├─gradle
│  └─wrapper
├─module1
│  ├─build
│  │  ├─classes
│  │  │  ├─main
│  │  │  │  └─com
│  │  │  │      └─michaelssss
│  │  │  └─test
│  │  │      └─com
│  │  │          └─michaelssss
│  │  ├─libs
│  │  ├─reports
│  │  │  └─tests
│  │  │      └─test
│  │  │          ├─classes
│  │  │          ├─css
│  │  │          ├─js
│  │  │          └─packages
│  │  ├─test-results
│  │  │  └─test
│  │  │      └─binary
│  │  └─tmp
│  │      ├─compileJava
│  │      ├─compileTestJava
│  │      │  └─emptySourcePathRef
│  │      └─jar
│  └─src
│      ├─main
│      │  └─java
│      │      └─com
│      │          └─michaelssss
│      └─test
│          └─java
│              └─com
│                  └─michaelssss
└─module2
    ├─build
    │  ├─classes
    │  │  ├─main
    │  │  │  └─com
    │  │  │      └─michaelssss
    │  │  └─test
    │  │      └─com
    │  │          └─michaelssss
    │  ├─libs
    │  ├─reports
    │  │  └─tests
    │  │      └─test
    │  │          ├─classes
    │  │          ├─css
    │  │          ├─js
    │  │          └─packages
    │  ├─test-results
    │  │  └─test
    │  │      └─binary
    │  └─tmp
    │      ├─compileJava
    │      │  └─emptySourcePathRef
    │      ├─compileTestJava
    │      │  └─emptySourcePathRef
    │      └─jar
    └─src
        ├─main
        │  └─java
        │      └─com
        │          └─michaelssss
        └─test
            └─java
                └─com
                    └─michaelssss

idea能直接识别gradle项目,不用做额外配置

使用gradle简易动作:

gradle clean build test –fullstacktrace

有意思的新东西

完全拖拽的方式实现表创建及管理(但是相应的例外建立的模型,和SQL关系不清晰,且无文档)

Gradle解决依赖和版本管理;

发布仍旧为手工发布?(好像是);

gitlab提供了版本管理流程;

平台提供所有组件,业务只需要Gradle引入相应的项目自动解决依赖(貌似看上去挺爽的);

又因为平台提供了所有组件,或者称为服务,所以内部普遍采用RPC的方式;

有自有wiki;

目测缺少bug track,用wiki暂时顶着(好像是)

gitlab提供了版本管理流程

由以上带来的缺点是:

新手入门还是很有成本的。

Gradle是要学习的新东东,另外Gradle不像ant那么的简单,但是可以从maven借鉴大量的概念来学习

没有显式的RPC调用语句,黑箱带来了一定程度上的阅读困难,特别是跨project的调用压根看不到服务提供者的实现细节,从而缺少了注释说明。