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
T0-ES 6.1.4 Gradle build & import to IDEA_第1张图片
gradle idea begin
T0-ES 6.1.4 Gradle build & import to IDEA_第2张图片
gradle idea end
T0-ES 6.1.4 Gradle build & import to IDEA_第3张图片
gradle build begin

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

T0-ES 6.1.4 Gradle build & import to IDEA_第4张图片
gradle build mid

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

T0-ES 6.1.4 Gradle build & import to IDEA_第5张图片
gradle build end

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

T0-ES 6.1.4 Gradle build & import to IDEA_第6张图片
idea import project
T0-ES 6.1.4 Gradle build & import to IDEA_第7张图片
import build.gradle

Result

T0-ES 6.1.4 Gradle build & import to IDEA_第8张图片
索引后的源码目录
T0-ES 6.1.4 Gradle build & import to IDEA_第9张图片
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)
T0-ES 6.1.4 Gradle build & import to IDEA_第10张图片
es tag till 20180508
BuildPlugin.groovy

Reference

  • Elasticsearch5.5.0源码-编译、导入IDEA、启动
  • ElasticStack系列之十六 & ElasticSearch5.x index/create 和 update 源码分析
  • gradle命令参数
  • gradle 命令及技巧 (gradle-tips)

你可能感兴趣的:(T0-ES 6.1.4 Gradle build & import to IDEA)