-
Notifications
You must be signed in to change notification settings - Fork 0
/
install_gradle_3.1.sh
88 lines (77 loc) · 1.9 KB
/
install_gradle_3.1.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/bash
# @file:
# install_gradle_3.1.sh
# @desc:
# Install gradle 3.1.
# 下载 gradle 3.1
# 判断 /develop/installation/gradle-3.1-all 是否存在, 不存在就 wget
# @Author:
# codergege
# @Last Update:
# 2016-10-29
# @usage:
# 为了使 souce $config 生效, 要用 source 命令执行
# source install_gradle_3.1.sh
# home
home=/home/codergege
# 安装包目录
pkgDir=$home/develop/installation
# api 目录
apiDir=$home/develop/api-documentation
# 安装目录
installDir=/usr/local/gradle
# config
config=/etc/profile
# 保存当前目录
pwdDir=$pwd
# 安装包
pkg=$pkgDir/gradle-3.1-all.zip
url=https://services.gradle.org/distributions/gradle-3.1-all.zip
# gradle version
gv=gradle-3.1
# 判断安装包是否存在
cd $pkgDir
if [ -f "$pkg" ]; then
echo "找到本地安装包, 准备安装..."
else
echo "未找到本地安装包, 准备下载..."
wget -P $pkgDir $url
fi
if [ ! -d "$installDir" ]; then
sudo mkdir -p $installDir
fi
# 如果 apiDir 不存在, 就创建
if [ ! -d "$apiDir" ]; then
mkdir -p $apiDir
fi
# 解压并 mv 到安装目录
gradle=$installDir/$gv
if [ -d "$gradle" ]; then
sudo rm -rf $gradle
fi
# 解压
dtrx -nov --one h $gv-all.zip
sudo mv $pkgDir/$gv-all/$gv $installDir/
# 创建 doc link
cd $apiDir
sudo rm -f $gv
sudo ln -s $gradle/docs $gv
# 将 gradle 环境变量写入 $config 的函数
function set_gradle_env() {
sudo sed -i '$a # Set gradle environment GRADLE_HOME' $config
echo "export GRADLE_HOME=$gradle" | sudo tee -a $config
sudo sed -i '$a export PATH=$PATH:$GRADLE_HOME/bin' $config
}
# set gradle environment
if ! grep "GRADLE_HOME" $config; then
echo "设置 gradle environment"
set_gradle_env
else
echo "$config 中已存在 GRADLE_HOME, 将删除原设置, 并重新设置"
# 如果已经有了设置, 先删除再写入
sudo sed -i '/GRADLE_HOME/d' $config
set_gradle_env
fi
cd $pwdDir
source $config
echo "========> $gradle installed"