-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathpgy.gradle
124 lines (105 loc) · 3.67 KB
/
pgy.gradle
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
def app1OfflineFile = "${projectDir.absolutePath}/build/outputs/apk/app1Offline/release/${getApkName(getTestVersionName("offline"))}"
def app1OnlineFile = "${projectDir.absolutePath}/build/outputs/apk/app1Online/release/${getApkName(rootProject.ext.APP1_VERSION_NAME)}"
def app2OfflineFile = "${projectDir.absolutePath}/build/outputs/apk/app2Offline/release/${getApkName(getApp2TestVersionName("offline"))}"
def app2OnlineFile = "${projectDir.absolutePath}/build/outputs/apk/app2Online/release/${getApkName(rootProject.ext.APP2_VERSION_NAME)}"
def app1AdminFileDir = "${projectDir.parent}/jiagu/apk/app1Admin/"
def app2AdminFileDir = "${projectDir.parent}/jiagu/apk/app2Admin/"
private def uploadPGY(String filePath) {
println "uploadPGY filePath:" + filePath
def stdout = new ByteArrayOutputStream()
exec {
executable = 'curl'
args = ['-F', "file=@${filePath}", '-F', "_api_key=${rootProject.ext.pgy["apiKey"]}", rootProject.ext.pgy["uploadUrl"]]
standardOutput = stdout
}
String output = stdout.toString()
def parsedJson = new groovy.json.JsonSlurper().parseText(output)
println parsedJson.data.buildQRCodeURL
println "版本号:" + parsedJson.data.buildVersion
}
/**
* 执行 “uploadApp1Offline” 命令自动打包测试环境包,并上传到蒲公英
*/
task uploadApp1Offline(dependsOn: 'assembleApp1OfflineRelease') {
group = "publish"
doLast {
uploadPGY(app1OfflineFile)
}
}
/**
* 执行 “uploadApp1Online” 命令自动打包生成线上内测环境包,并上传到蒲公英
*/
task uploadApp1Online(dependsOn: 'assembleApp1OnlineRelease') {
group = "publish"
doLast {
uploadPGY(app1OnlineFile)
}
}
/**
* 执行 “uploadApp1Admin” 命令自动打超管服包,并上传到蒲公英
*/
task uploadApp1Admin(dependsOn: 'jiaGuApp1Admin') {
group = "publish"
doLast {
File dir = new File(app1AdminFileDir)
if (!dir.exists()) {
println "Alpha dir not exists:" + dir.path
return
}
File[] files = dir.listFiles(new FileFilter() {
@Override
boolean accept(File file) {
return file.isFile() && file.name.endsWith(".apk")
}
})
if (files == null || files.size() == 0) {
println "files == null || files.size() == 0"
return
}
File apkFile = files[0]
uploadPGY(apkFile.path)
}
}
/**
* 执行 “uploadApp2Offline” 命令自动打包测试环境包,并上传到蒲公英
*/
task uploadApp2Offline(dependsOn: 'assembleApp2OfflineRelease') {
group = "publish"
doLast {
uploadPGY(app2OfflineFile)
}
}
/**
* 执行 “uploadApp2Online” 命令自动打包生成线上内测环境包,并上传到蒲公英
*/
task uploadApp2Online(dependsOn: 'assembleApp2OnlineRelease') {
group = "publish"
doLast {
uploadPGY(app2OnlineFile)
}
}
/**
* 执行 “uploadApp2Admin” 命令自动打超管服包,并上传到蒲公英
*/
task uploadApp2Admin(dependsOn: 'jiaGuApp2Admin') {
group = "publish"
doLast {
File dir = new File(app2AdminFileDir)
if (!dir.exists()) {
println "Alpha dir not exists:" + dir.path
return
}
File[] files = dir.listFiles(new FileFilter() {
@Override
boolean accept(File file) {
return file.isFile() && file.name.endsWith(".apk")
}
})
if (files == null || files.size() == 0) {
println "files == null || files.size() == 0"
return
}
File apkFile = files[0]
uploadPGY(apkFile.path)
}
}