一句话概括Gradle自身源代码编译流程-用gradle来编译Gradle
下面我们正式开始分析:
因为我们拿到源代码后,首先接触的是gradlew.bat,也就是Gradle源代码自身编译的命令。所以,我们还是从这个脚本开始分析。
一. Eclipse打开源代码
为了方便修改代码,我选择用Eclipse来打开这个工程。步骤是:
File->New->Java Project->Use default location去掉勾选->Browse选择Gradle源代码目录->finish
二. gradlew.bat脚本
1. 还是从我们编译Gradle源代码的命令入手
gradlew.bat assemble
那首先来看下gradlw.bat :
执行gradlew.bat assemble时,首先来看看这个脚本里面的各个变量值:
CLASSPATH:gradle-3.1\\gradle\wrapper\gradle-wrapper.jar
表示的是gradle源代码里面gralde\wrapper\目录下gradle-wrapper.jar,这个jar也是待会要执行的编译操作要运行的jar。
DEFAULT_JVM_OPTS:-Xmx1024m -Dfile.encoding=UTF-8 表示的是Java虚拟机配置
JAVA_OPTS:空
GRADLE_OPTS:空
CMD_LINE_ARGS:assemble 表示要执行的gradle task名字
然后接下来,就会执行重要的一句,启动gradle-wrapper.jar里面的Gradle