-
Notifications
You must be signed in to change notification settings - Fork 88
/
buildRelease.gradle
39 lines (32 loc) · 1.19 KB
/
buildRelease.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
tasks.register('buildReleaseTask', Copy) {
group = 'build'
description = 'Building release version ${rootProject.siyuanVersionName}'
def versionName = siyuanVersionName
def releaseDirPath = "$rootDir/app/build-release/siyuan-${versionName}-all"
delete releaseDirPath
// 配置源目录和包含模式
from("$buildDir/outputs/apk/") {
include '**/*.apk' // 包括所有嵌套文件夹中的 apk 文件
}
from("$buildDir/outputs/bundle/") {
include '**/*.aab' // 包括所有嵌套文件夹中的 aab 文件
}
// 修改每个文件的相对路径,使其不包括原始的文件夹结构
eachFile { FileCopyDetails fcd ->
fcd.relativePath = new RelativePath(true, fcd.file.name)
}
// 配置目标目录
into releaseDirPath
// 在复制完成后执行删除文件夹的操作
doLast {
// 获取目标目录的所有内容
fileTree(releaseDirPath).visit { fileVisitDetails ->
// 如果是目录,则删除它
if (fileVisitDetails.file.isDirectory()) {
fileVisitDetails.file.deleteDir()
}
}
}
// 依赖于构建任务
dependsOn 'assembleCnRelease', 'bundleGoogleplayRelease', 'bundleHuaweiRelease', 'assembleOfficialRelease'
}