T0-ES 6.1.4 Gradle build & import to IDEA

Overview

在es 5.X及之后的版本中,包管理框架从Maven迁移到了Gradle。

  • 在Maven导入IDEA的过程中,不需要一些命令行,因为idea的reimport按钮会自动download jar包以及建立索引。
  • 而在Gradle中,这个转换过程与mvn有所不同,需要在导入(import project)之前进行一些gradle命令行操作,如下,
  1. groovy install
  2. gradle install
    • 配置系统环境变量GRADLE_USER_HOME,以便自定义gradle下载的jar包存放位置
  3. cd yourDir/es614
  4. git clone –depth 1 –branch v6.1.4 https://github.com/elastic/elasticsearch.git
  5. cd elasticsearch
  6. gradle clean –parallel
  7. gradle idea -Dhttp.proxyHost=proxy.your.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.your.com -Dhttps.proxyPort=8080 –parallel(不要带http://)
  8. gradle build -x test –parallel
  9. IDEA import build.gradle

image

gradle idea begin

image

gradle idea end

image

gradle build begin

gradle build过程中一直加载、编译modules和plugins。

image

gradle build mid

上图,在命令行里指定了-x test来跳过测试了,不知道为什么还运行这个main(),这里需要再观察。

image

gradle build end

上图,虽然最后build failed了,但是将被gradle编译过的es导入到idea之后,还是能够正常显示类关系,即被源码关系链索引好了。

image

idea import project

image

import build.gradle

Result

image

索引后的源码目录

image

external libraries第三方库

遗留问题

  1. gradle build -x test的失效
  2. gradle build的BUILD FAILED
  3. 为什么没有选择最新的v6.2.4。是由于minimumCompilerVersion的限制。(服务器运行可以是jdk8,但是编译要更新版本的jdk。6.2.x是jdk9;6.3.x是jdk10)

image

es tag till 20180508

image

BuildPlugin.groovy

Reference