jenkins支持多版本gradle编译

为接入jetpack compose,项目android gradle plugin版本需要升级,对应的gradle版本也需要从5.6.4升级到7.0.2,同时jdk环境也需要从jdk8升级到jdk11。

一般编译脚本直接调用gradlew即可,不用关心具体的gradle版本,但是我们的编译环境不允许连接外网,所有依赖都是走公司私服代理下载。之前为了方便处理,jenkins编译流程中直接使用的gradle script,并且指定使用本地固定版本的gradle。

此次变更要求现有分支代码使用jdk8 + gradle5.6.4编译,新分支代码使用jdk11+gradle7.0.2编译,为方便处理,直接使用shell script执行编译

#!/bin/bash

# 解析当前代码使用的gradle版本
source ./gradle/wrapper/gradle-wrapper.properties
IFS="-" read -r -a array <<< "$distributionUrl"
gradle_version=${array[1]}

echo 'gradle version:' $gradle_version

gradle_cmd="/data/gradle-5.6.4/bin/gradle"
case $gradle_version in
  7.0.2 )
    # gradle7.0.2则要使用jdk11运行
    export JAVA_HOME=/usr/local/jdk-11.0.12/
    gradle_cmd="/data/gradle-7.0.2/bin/gradle"
    ;;
  5.6.2 )
    ;;
esac

echo $gradle_cmd --no-deamon clean assemble${buildType}

exec ${gradle_cmd}  --no-deamon clean assemble${buildType}
上一篇:JavaFX(第一篇)使用eclipse


下一篇:JDK新特性之 JDK11