Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #174

Open
wants to merge 934 commits into
base: compose
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
934 commits
Select commit Hold shift + click to select a range
ba9d44b
refactor: 插件管理
jing332 Apr 28, 2023
9271adc
fix: 插件/朗读规则 无法保存
jing332 Apr 28, 2023
bb3aed5
style: AppLogLevel
jing332 Apr 28, 2023
63e7028
feat: 日志界面一键滚动底部按钮
jing332 Apr 28, 2023
824efa9
feat: 日志界面
jing332 Apr 28, 2023
30abb69
feat: 添加动画
jing332 Apr 29, 2023
e6163a1
fix: 动画问题
jing332 May 1, 2023
daa6cd0
style: ui
jing332 May 1, 2023
a8fcc57
fix: 导入配置
jing332 May 1, 2023
f55f2ff
fix: 动画颜色
jing332 May 2, 2023
bdd4d90
fix: 菜单重复
jing332 May 2, 2023
82c503b
style: ActivityTransitionHelper.kt
jing332 May 2, 2023
d6205da
style: layout
jing332 May 2, 2023
f59e116
refactor: Item试听按钮
jing332 May 3, 2023
6e55e7a
feat: 可为分组设置音频参数
jing332 May 22, 2023
0e5891b
fix: TTS合成中时通知突然重置
jing332 May 22, 2023
e3821df
chore: build.gradle
jing332 May 22, 2023
9820bca
fix: 脚本编辑器同步pull
jing332 May 27, 2023
06d14b1
refactor: 朗读规则按照顺序匹配id
jing332 May 26, 2023
7030cb3
refactor: 朗读规则按照顺序匹配id
jing332 May 27, 2023
a17433e
feat: 可单独导出插件
jing332 May 27, 2023
04459d8
feat: 可复制调试日志
jing332 May 27, 2023
d8a7939
refactor: 插件TTS单例化
jing332 May 28, 2023
0604efa
refactor: 超时
jing332 May 28, 2023
f601890
Update CHANGELOG.md
jing332 Jun 13, 2023
8969bdd
Update release.yml
jing332 Jun 13, 2023
70fd47a
fix: 导入阅读TTS失败
jing332 Jun 29, 2023
c9f6724
fix: 试听无法暂停
jing332 Jun 29, 2023
6b57789
chore: 更新库
jing332 Jun 29, 2023
64b8032
feat: 加入天蓝色主题
jing332 Jun 29, 2023
50d3833
feat: 可设置主题
jing332 Jun 30, 2023
905a915
feat: 支持主题设置
jing332 Jun 30, 2023
9e0b917
refactor: ui颜色
jing332 Jun 30, 2023
5a91cf0
fix: 内置文件选择器返回后界面被遮挡
jing332 Jun 30, 2023
900f318
feat: 新增主题色
jing332 Jun 30, 2023
25f3fe2
release
jing332 Jun 30, 2023
f29082f
Update README.md
jing332 Jun 30, 2023
e1b4148
Update README.md
jing332 Jul 3, 2023
d940e04
refactor: themes.xml
jing332 Jul 14, 2023
9bdc611
feat: 更友好的配置导入提醒
jing332 Jul 14, 2023
ad744d7
Update README.md
jing332 Jul 16, 2023
f5502f5
fix: 朗读规则导出无 .json
jing332 Jul 20, 2023
20c26e7
feat: 支持由调用者通过API指定发音配置
jing332 Jul 23, 2023
fa54a99
fix: 本地TTS无法在编辑界面试听
jing332 Jul 23, 2023
12663ed
fix: 插件TTS的附加数据混乱问题
jing332 Jul 23, 2023
005994a
fix: 替换规则无法导入
jing332 Jul 23, 2023
14f2b35
fix: 插件TTS 对象数据不更新
jing332 Jul 23, 2023
3bad341
feat: 添加3种主题
jing332 Jul 23, 2023
3238ef3
fix: 插件TTS 对象数据不更新
jing332 Jul 23, 2023
93f09f0
fix: Android8 及以下无法备份
jing332 Jul 24, 2023
dd583a0
fix: zip解压缩 在低版本Android兼容问题
jing332 Jul 25, 2023
c3c82ef
refactor: 移除zipUtils try catch
jing332 Jul 25, 2023
3604a95
fix: 备份文件为空
jing332 Jul 25, 2023
d392128
refactor: 优化导入配置的格式识别
jing332 Jul 25, 2023
33af226
feat: 朗读规则支持单条导出
jing332 Jul 25, 2023
338e7e8
fix: 低版本安卓下恢复失败
jing332 Jul 26, 2023
ecae75c
feat: 新用户自动添加默认配置
jing332 Jul 26, 2023
204120d
feat: 添加帮助文档
jing332 Jul 26, 2023
df35f8f
feat: 添加帮助文档
jing332 Jul 26, 2023
f26e791
release
jing332 Jul 26, 2023
6ffeeaf
fix: 恢复同ID朗读规则时被覆盖
jing332 Jul 27, 2023
12d514a
feat: 替换规则分组 可设置在朗读规则后执行
jing332 Jul 30, 2023
8fdb29a
feat: 替换规则分组 可设置在朗读规则后执行
jing332 Jul 30, 2023
4a101b7
refactor: 移除多余的无声判断
jing332 Aug 2, 2023
7035238
feat: hanlp语法分析
jing332 Aug 2, 2023
1f7a032
fix: hanlp 目录
jing332 Aug 2, 2023
7052109
fix: ttsrv hanlp
jing332 Aug 2, 2023
fd04a6d
feat: 可复制分组
jing332 Aug 5, 2023
8e07e88
feat: 插件支持raw音频流
jing332 Aug 10, 2023
b370943
fix: PCM音频流破音
jing332 Aug 20, 2023
56a4b80
fix: PCM音频流破音
jing332 Aug 20, 2023
8debb85
chore: compose
jing332 Aug 20, 2023
4d81e5e
feat: list
jing332 Aug 21, 2023
59cc757
feat: list
jing332 Aug 22, 2023
6d28aae
refactor: 使用Compose重新UI
jing332 Aug 22, 2023
484620a
feat: 试听
jing332 Aug 22, 2023
66ca935
feat: 界面跳转菜单
jing332 Aug 22, 2023
20b5acd
feat: 内置播放器和音频参数对话框
jing332 Aug 22, 2023
4d85e5f
fix: 版本号
jing332 Aug 22, 2023
ca17d2d
Update test.yml
jing332 Aug 22, 2023
010003c
feat: 分组可排序
jing332 Aug 23, 2023
701065a
feat: 日志界面
jing332 Aug 23, 2023
c388f96
feat: TTS转发器 UI
jing332 Aug 23, 2023
8686d74
feat: 转发器 UI
jing332 Aug 23, 2023
be0ad7c
Update test.yml
jing332 Aug 23, 2023
c0cdb26
Update test.yml
jing332 Aug 23, 2023
1ac3429
feat: 设置 UI
jing332 Aug 24, 2023
c99faff
refactor: Item UI
jing332 Aug 24, 2023
c2e26e6
fix: PCM结尾吞字
jing332 Aug 24, 2023
8bd682f
feat: plugin ui
jing332 Aug 25, 2023
3496239
feat: plugin ui
jing332 Aug 25, 2023
087dbca
feat: edit ui
jing332 Aug 25, 2023
3125392
fix: bgm & pluginTTS
jing332 Aug 25, 2023
45b4e83
fix: Microsoft TTS
jing332 Aug 25, 2023
664049f
feat: 分组的音频参数 & 复制
jing332 Aug 25, 2023
2d77246
feat: 主题设置
jing332 Aug 26, 2023
311e0d8
refactor: 语言默认跟随系统
jing332 Aug 26, 2023
fd900c1
feat: 快捷编辑
jing332 Aug 26, 2023
e619172
refactor: ui
jing332 Aug 26, 2023
fb5944b
fix: 采样率未获取
jing332 Aug 26, 2023
e82bc52
feat: 设置界面
jing332 Aug 26, 2023
dd257f7
fix: A14 服务崩溃
jing332 Aug 26, 2023
937ac4f
fix: 配置保存后不更新
jing332 Aug 27, 2023
7c12ee3
fix: 设置界面 超时单位错误
jing332 Aug 27, 2023
efe9cc6
fix: 按钮组 无障碍
jing332 Aug 27, 2023
ea2431d
refactor: 移除旧版UI
jing332 Aug 27, 2023
e120cff
fix: 分组下拉框无效
jing332 Aug 27, 2023
ff89f65
fix: 数据不更新
jing332 Aug 27, 2023
99c9520
feat: 插件管理UI
jing332 Aug 27, 2023
89d1149
feat: 朗读规则管理UI
jing332 Aug 28, 2023
7d555a9
fix: 快捷编辑不更新
jing332 Aug 28, 2023
d89fd27
refactor: 导入导出
jing332 Aug 28, 2023
5962669
refactor: 移除无用文件
jing332 Aug 28, 2023
200fe2d
refactor: 代码编辑器
jing332 Aug 28, 2023
0d82dc4
refactor: 直链上传
jing332 Aug 28, 2023
681d70d
refactor: Item 布局
jing332 Aug 28, 2023
76bf1cf
refactor: Item 布局
jing332 Aug 28, 2023
0d10e0c
refactor: Item 布局
jing332 Aug 28, 2023
6057413
perf: list
jing332 Aug 29, 2023
8f8bebe
feat: 试听对话框
jing332 Aug 29, 2023
96d72cc
feat: 替换管理
jing332 Aug 29, 2023
f511ddd
feat: BGM对话框
jing332 Aug 29, 2023
f1786df
feat: 分组内的列表排序
jing332 Aug 29, 2023
2f48b14
feat: 配置一键打开导入
jing332 Aug 29, 2023
372de1f
refactor: ui
jing332 Aug 29, 2023
144fa72
fix: file picker
jing332 Aug 29, 2023
a0df849
fix: importSheet ImePadding
jing332 Aug 29, 2023
8d49273
feat: 替换管理搜索
jing332 Aug 29, 2023
af4898a
feat: 替换管理自定义排序
jing332 Aug 29, 2023
abcec2a
refactor: Replace SearchBox
jing332 Aug 30, 2023
ea96c01
feat: 下拉对话框模式
jing332 Aug 30, 2023
89dc18b
fix: 分组/朗读目标 多选设置无效
jing332 Aug 30, 2023
7df0923
feat: 内置播放器参数
jing332 Aug 30, 2023
bb738cf
fix: bug
jing332 Aug 30, 2023
4e387ca
fix: bug
jing332 Aug 30, 2023
6d1376b
fix: tag name
jing332 Aug 30, 2023
bf293b5
fix: edge音频流
jing332 Aug 30, 2023
288257c
feat: 本地TTS加载动画
jing332 Aug 30, 2023
6e2c3da
refactor: Logo
jing332 Aug 30, 2023
a6c945d
feat: 替换规则编辑 输入法工具栏
jing332 Aug 30, 2023
047445e
fix: bug
jing332 Aug 31, 2023
07c2ff3
fix: 无障碍
jing332 Aug 31, 2023
a254ccb
refactor: 备份恢复
jing332 Aug 31, 2023
d1500e6
Update build.gradle
jing332 Dec 30, 2023
89be286
Update build.gradle
jing332 Dec 30, 2023
f595abc
Delete app/src/main/java/com/github/jing332/tts_server_android/compos…
jing332 Dec 30, 2023
87213f0
fix: 添加替换规则分组
jing332 Dec 30, 2023
07a040f
fix: 标签名不重置为空
jing332 Dec 30, 2023
ee65efb
feat: 更新库
jing332 Dec 30, 2023
3635da6
refactor: 选项对话框
jing332 Dec 30, 2023
f992c90
refactor: 目录结构
jing332 Dec 30, 2023
5015d4e
feat: 标签数据可复制粘贴
jing332 Dec 30, 2023
130e81e
feat: 长按切换朗读目标
jing332 Dec 30, 2023
47836cf
feat: BGM文件权限
jing332 Dec 30, 2023
6b9c250
feat: 单配置导出
jing332 Dec 30, 2023
96b6e30
refactor: struct
jing332 Dec 31, 2023
f4610a2
fix: 下拉框与预览插件
jing332 Dec 31, 2023
0fa5b39
fix: 代码编辑器不同步
jing332 Dec 31, 2023
a5daa6d
feat: FileProvider
jing332 Dec 31, 2023
069a94f
fix: 远程动作-预览UI
jing332 Dec 31, 2023
53c4342
refactor: 精简文件
jing332 Dec 31, 2023
82b10e1
refactor: 错误对话框
jing332 Dec 31, 2023
9f6df26
fix: 滑动条按钮
jing332 Jan 10, 2024
21b7cc0
refactor: bgm音频权限
jing332 Jan 11, 2024
120fdc8
feat: Android13+ 检查通知权限
jing332 Jan 11, 2024
ee402c8
feat: 导入默认配置
jing332 Jan 11, 2024
d7728dc
fix: 默认配置
jing332 Jan 12, 2024
586fa25
feat: 替换排序
jing332 Jan 13, 2024
417e946
fix: TTS编辑界面的自定义UI
jing332 Jan 19, 2024
beba89e
fix: 下拉框
jing332 Jan 19, 2024
9167023
refactor: JSpinner
jing332 Jan 19, 2024
5782aec
fix: 导出文件名
jing332 Jan 19, 2024
8d7f77d
chore: 更新UI库
jing332 Jan 21, 2024
4397251
fix: 插件自定义UI下拉框
jing332 Jan 21, 2024
3f23a76
refactor: 插件UI 滑动条
jing332 Jan 22, 2024
568aade
feat: 从Github Actions检查APP更新
jing332 Jan 22, 2024
9793d58
fix: BottomSheet 上拉界面文本工具栏不显示
jing332 Jan 22, 2024
7ba8701
refactor: 插件UI 文本输入
jing332 Jan 24, 2024
3db310b
fix: 上拉界面关闭动画
jing332 Jan 24, 2024
fbcbbf6
fix: 上拉界面关闭动画
jing332 Jan 24, 2024
0d5d323
feat: 滑动手势打开侧滑菜单
jing332 Jan 24, 2024
7c1ea09
feat: tooltip
jing332 Jan 24, 2024
df983a1
ui
jing332 Jan 24, 2024
e514308
feat: 插件预览
jing332 Jan 25, 2024
1245b4d
fix: 编辑配置后没有热更新
jing332 Jan 26, 2024
1bb730a
Update Crowdin configuration file
jing332 Jan 28, 2024
fe26b89
Update crowdin.yml
jing332 Jan 28, 2024
92ce1cb
New translations strings.xml (Japanese)
jing332 Jan 28, 2024
ada6ed8
New translations strings.xml (Chinese Traditional)
jing332 Jan 28, 2024
a1f4737
New translations strings.xml (Persian)
jing332 Jan 28, 2024
3695c9b
Update strings.xml
jing332 Jan 28, 2024
fdfe3e4
New translations strings.xml (Japanese)
jing332 Jan 28, 2024
a98e707
New translations strings.xml (Chinese Traditional)
jing332 Jan 28, 2024
a40a405
New translations strings.xml (Persian)
jing332 Jan 28, 2024
d365b19
New translations strings.xml (English)
jing332 Jan 28, 2024
9c4339a
New translations strings.xml (Chinese Traditional, Hong Kong)
jing332 Jan 28, 2024
e996665
New translations strings.xml (Persian)
jing332 Jan 28, 2024
a931b08
New translations strings.xml (Persian)
jing332 Jan 28, 2024
615fcbc
Update source file strings.xml
jing332 Jan 29, 2024
64b6efe
Merge branch 'l10n_compose' into compose
jing332 Jan 29, 2024
f9d0e03
New translations strings.xml (Persian)
jing332 Jan 29, 2024
fd8d0a5
New translations strings.xml (Persian)
jing332 Jan 29, 2024
cd7aaa7
Merge pull request #149 from jing332/l10n_compose
jing332 Jan 29, 2024
6ca8d20
fix: 替换规则热更新 #146
jing332 Jan 29, 2024
e27f6f7
fix: 列表为空提示
jing332 Jan 29, 2024
441915c
Update README.md
jing332 Jan 29, 2024
eaeb3eb
fix: 单语音与备用TTS勾选冲突 #148
jing332 Jan 29, 2024
eda8d21
chore: 自动上传蓝奏云
jing332 Jan 29, 2024
1eed7d5
chore: 自动上传蓝奏云
jing332 Jan 29, 2024
dd49972
New translations strings.xml (Persian)
jing332 Jan 29, 2024
9607173
feat: 插件 语言框可自定义显示名称
jing332 Jan 30, 2024
e932393
New translations strings.xml (Japanese)
jing332 Jan 30, 2024
a37d3a7
New translations strings.xml (Chinese Traditional)
jing332 Jan 30, 2024
42b71ac
New translations strings.xml (English)
jing332 Jan 30, 2024
89210b8
New translations strings.xml (Persian)
jing332 Jan 30, 2024
6463a56
New translations strings.xml (Chinese Traditional, Hong Kong)
jing332 Jan 30, 2024
47eb189
chore: action
jing332 Jan 30, 2024
f72b372
chore: action
jing332 Jan 30, 2024
6107399
chore: action
jing332 Jan 30, 2024
e22779e
chore: action
jing332 Jan 30, 2024
90e4663
chore: action
jing332 Jan 30, 2024
40d5c38
chore: action
jing332 Jan 30, 2024
19e4a36
chore: action
jing332 Jan 30, 2024
0a14c0b
chore: action
jing332 Jan 30, 2024
b5fc0ec
chore: action
jing332 Jan 30, 2024
8dfeba4
Update source file strings.xml
jing332 Jan 30, 2024
1a7f928
feat: 替换规则测试可试听 #150
jing332 Jan 30, 2024
7323612
Merge branch 'l10n_compose' into compose
jing332 Jan 31, 2024
df056d0
refactor: 替换规则试听 #150
jing332 Jan 31, 2024
63582aa
fix: 内置TTS 显示名称为空
jing332 Jan 31, 2024
fc11404
feat: 文件选择器权限处理
jing332 Jan 31, 2024
182135b
feat: 替换规则 保存测试内容 #150
jing332 Jan 31, 2024
7dee4f6
fix: 选择对话框搜索时值偏移 #153 #154
jing332 Jan 31, 2024
4a6e2e4
fix: 插件 TTS配置显示名称为空
jing332 Jan 31, 2024
7598af5
New translations strings.xml (Persian)
jing332 Feb 2, 2024
3e322cd
New translations strings.xml (Persian)
jing332 Feb 2, 2024
6ce45bf
Merge pull request #157 from jing332/l10n_compose
jing332 Feb 4, 2024
26372ae
fix: BigDecimal #156
jing332 Feb 4, 2024
5c8781f
fix: TalkBack Slider #156
jing332 Feb 4, 2024
7819f3e
New translations strings.xml (Persian)
jing332 Feb 9, 2024
2b97d91
New translations strings.xml (Persian)
jing332 Feb 9, 2024
87c83de
Merge pull request #160 from jing332/l10n_compose
jing332 Feb 10, 2024
d751e6d
fix: Service foreground permissions #161
jing332 Feb 10, 2024
c99e797
chore: Auto merge of Crowdin translations
jing332 Feb 10, 2024
7b589f4
refactor: Sonic flush stream
jing332 Feb 10, 2024
dd8ab0f
Revert "refactor: Sonic flush stream"
jing332 Feb 11, 2024
6cb18a3
fix: getVoiceName is null #168
jing332 Feb 18, 2024
1583f43
更新 README.md
jing332 Feb 19, 2024
2e5dfee
fix: 替换规则无法保存排序 #169
jing332 Feb 20, 2024
a97dc3f
Update README.md
mablue Mar 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
98 changes: 98 additions & 0 deletions .github/scripts/lzy_web.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
import requests, os, datetime, sys

# Cookie 中 phpdisk_info 的值
cookie_phpdisk_info = os.environ.get('phpdisk_info')
# Cookie 中 ylogin 的值
cookie_ylogin = os.environ.get('ylogin')

# 请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Safari/537.36 Edg/89.0.774.45',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Referer': 'https://pc.woozooo.com/account.php?action=login'
}

# 小饼干
cookie = {
'ylogin': cookie_ylogin,
'phpdisk_info': cookie_phpdisk_info
}


# 日志打印
def log(msg):
utc_time = datetime.datetime.utcnow()
china_time = utc_time + datetime.timedelta(hours=8)
print(f"[{china_time.strftime('%Y.%m.%d %H:%M:%S')}] {msg}")


# 检查是否已登录
def login_by_cookie():
url_account = "https://pc.woozooo.com/account.php"
if cookie['phpdisk_info'] is None:
log('ERROR: 请指定 Cookie 中 phpdisk_info 的值!')
return False
if cookie['ylogin'] is None:
log('ERROR: 请指定 Cookie 中 ylogin 的值!')
return False
res = requests.get(url_account, headers=headers, cookies=cookie, verify=True)
if '网盘用户登录' in res.text:
log('ERROR: 登录失败,请更新Cookie')
return False
else:
log('登录成功')
return True


# 上传文件
def upload_file(file_dir, folder_id):
file_name = os.path.basename(file_dir)
url_upload = "https://up.woozooo.com/fileup.php"
headers['Referer'] = f'https://up.woozooo.com/mydisk.php?item=files&action=index&u={cookie_ylogin}'
post_data = {
"task": "1",
"folder_id": folder_id,
"id": "WU_FILE_0",
"name": file_name,
}
files = {'upload_file': (file_name, open(file_dir, "rb"), 'application/octet-stream')}
res = requests.post(url_upload, data=post_data, files=files, headers=headers, cookies=cookie, timeout=120).json()
log(f"{file_dir} -> {res['info']}")
return res['zt'] == 1


# 上传文件夹内的文件
def upload_folder(folder_dir, folder_id):
file_list = sorted(os.listdir(folder_dir), reverse=True)
for file in file_list:
path = os.path.join(folder_dir, file)
if os.path.isfile(path):
upload_file(path, folder_id)
else:
upload_folder(path, folder_id)


# 上传
def upload(dir, folder_id):
if dir is None:
log('ERROR: 请指定上传的文件路径')
return
if folder_id is None:
log('ERROR: 请指定蓝奏云的文件夹id')
return
if os.path.isfile(dir):
upload_file(dir, str(folder_id))
else:
upload_folder(dir, str(folder_id))


if __name__ == '__main__':
argv = sys.argv[1:]
if len(argv) != 2:
log('ERROR: 参数错误,请以这种格式重新尝试\npython lzy_web.py 需上传的路径 蓝奏云文件夹id')
# 需上传的路径
upload_path = argv[0]
# 蓝奏云文件夹id
lzy_folder_id = argv[1]
if login_by_cookie():
upload(upload_path, lzy_folder_id)
29 changes: 29 additions & 0 deletions .github/workflows/automerge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Auto merge
on:
pull_request:
types:
- labeled
- unlabeled
- synchronize
- opened
- edited
- ready_for_review
- reopened
- unlocked
pull_request_review:
types:
- submitted
check_suite:
types:
- completed
status: {}
jobs:
automerge:
runs-on: ubuntu-latest
steps:
- id: automerge
name: automerge
uses: "pascalgn/automerge-action@v0.16.2"
env:
MERGE_FILTER_AUTHOR: "jing332"
GITHUB_TOKEN: ${{ secrets.TOKEN }}
72 changes: 72 additions & 0 deletions .github/workflows/debug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Build Debug

on:
workflow_dispatch:

jobs:
go-lib:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- uses: actions/setup-go@v4
with:
go-version: 1.19.1
cache-dependency-path: ${{ github.workspace }}/tts-server-lib

- name: Build tts-server-lib
run: |
cd tts-server-lib
go install golang.org/x/mobile/cmd/gomobile@latest
gomobile init
go get golang.org/x/mobile/bind
gomobile bind -ldflags "-s -w" -v -androidapi=19
cp -f *.aar $GITHUB_WORKSPACE/app/libs

- uses: actions/upload-artifact@v3.1.0
with:
name: tts-server-lib
path: tts-server-lib/*.aar

build:
needs: go-lib
runs-on: ubuntu-latest
env:
outputs_dir: "${{ github.workspace }}/app/build/outputs"

steps:
- uses: actions/checkout@v3

- uses: actions/download-artifact@v3
with:
name: tts-server-lib
path: ${{ github.workspace }}/app/libs

- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Init Signature
run: |
touch local.properties
echo ALIAS_NAME='${{ secrets.ALIAS_NAME }}' >> local.properties
echo ALIAS_PASSWORD='${{ secrets.ALIAS_PASSWORD }}' >> local.properties
echo KEY_PASSWORD='${{ secrets.KEY_PASSWORD }}' >> local.properties
echo KEY_PATH='./key.jks' >> local.properties
# 从Secrets读取无换行符Base64解码, 然后保存到到app/key.jks
echo ${{ secrets.KEY_STORE }} | base64 --decode > $GITHUB_WORKSPACE/app/key.jks

- name: Build with Gradle
run: |
chmod +x gradlew
./gradlew assembleAppDebug --build-cache --parallel --daemon --warning-mode all

- name: Upload APK To Artifact
uses: actions/upload-artifact@v3
with:
name: "TTS-Server_debug"
path: ${{env.outputs_dir}}/apk/app/debug/*debug.apk
181 changes: 96 additions & 85 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,97 +2,108 @@ name: Build Release

on:
push:
branches:
branches:
- "master"
paths:
- "CHANGELOG.md"
workflow_dispatch:

jobs:
golib:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- uses: actions/setup-go@v4
with:
go-version: 1.20.3
cache-dependency-path: ${{ github.workspace }}/tts-server-lib

- name: Build tts-server-lib
run: |
cd tts-server-lib
go install golang.org/x/mobile/cmd/gomobile
gomobile init
go get golang.org/x/mobile/bind
gomobile bind -ldflags "-s -w" -v -androidapi=21
cp -f *.aar $GITHUB_WORKSPACE/app/libs

- uses: actions/upload-artifact@v3.1.0
with:
name: tts-server-lib
path: tts-server-lib/*.aar

build:
needs: golib
strategy:
matrix:
product: [ { name: "App原版", value: app } ]

fail-fast: false
runs-on: ubuntu-latest
env:
product: ${{ matrix.product.value }}
product_name: ${{matrix.product.value}}
outputs_dir: "${{ github.workspace }}/app/build/outputs"
ver_name: ""

steps:
- uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.19.1

- uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-

- name: Build Go Lib
run: |
cd tts-server-lib
go install golang.org/x/mobile/cmd/gomobile@latest
gomobile init
go get golang.org/x/mobile/bind
gomobile bind -ldflags "-s -w" -v -target="android/arm,android/arm64" -androidapi=19
cp -f *.aar $GITHUB_WORKSPACE/app/libs

- name: Upload to Artifact
uses: actions/upload-artifact@v3.1.0
with:
name: tts-server-lib
path: |
tts-server-lib/*.aar
tts-server-lib/*.jar

- uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Init Sign
run: |
touch local.properties
echo ALIAS_NAME='${{ secrets.ALIAS_NAME }}' >> local.properties
echo ALIAS_PASSWORD='${{ secrets.ALIAS_PASSWORD }}' >> local.properties
echo KEY_PASSWORD='${{ secrets.KEY_PASSWORD }}' >> local.properties
echo KEY_PATH='./key.jks' >> local.properties
# 从Secrets读取无换行符Base64解码, 然后保存到到app/key.jks
echo ${{ secrets.KEY_STORE }} | base64 --decode > $GITHUB_WORKSPACE/app/key.jks

- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew assembleRelease --build-cache --parallel --daemon --warning-mode all

- name: Organize the Files
run: |
mkdir -p ${{ github.workspace }}/apk/
rm -f ${{ github.workspace }}/apk/*
cp ${{ github.workspace }}/app/build/outputs/apk/*/*.apk ${{ github.workspace }}/apk/
cp ${{ github.workspace }}/app/build/outputs/apk/*/*.json ${{ github.workspace }}/apk/

- name: Get VerName
run: |
echo "ver_name=$(grep 'versionName' apk/output-metadata.json | cut -d\" -f4)" >> $GITHUB_ENV

- name: Upload App To Artifact
uses: actions/upload-artifact@v3
with:
name: TTS-Server_${{ env.ver_name }}
path: ${{ github.workspace }}/apk/*.apk

- uses: softprops/action-gh-release@v0.1.14
with:
name: ${{ env.ver_name }}
tag_name: ${{ env.ver_name }}
body_path: ${{ github.workspace }}/CHANGELOG.md
draft: false
prerelease: false
files: ${{ github.workspace }}/apk/*apk
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
- uses: actions/checkout@v3
with:
fetch-depth: 0

- uses: actions/download-artifact@v3
with:
name: tts-server-lib
path: ${{ github.workspace }}/app/libs

- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Init Signature
run: |
touch local.properties
echo ALIAS_NAME='${{ secrets.ALIAS_NAME }}' >> local.properties
echo ALIAS_PASSWORD='${{ secrets.ALIAS_PASSWORD }}' >> local.properties
echo KEY_PASSWORD='${{ secrets.KEY_PASSWORD }}' >> local.properties
echo KEY_PATH='./key.jks' >> local.properties
# 从Secrets读取无换行符Base64解码, 然后保存到到app/key.jks
echo ${{ secrets.KEY_STORE }} | base64 --decode > $GITHUB_WORKSPACE/app/key.jks

- name: Build with Gradle
run: |
chmod +x gradlew
./gradlew assemble${{ env.product }}release --build-cache --parallel --daemon --warning-mode all

- name: Init environment variable
run: |
echo "ver_name=$(grep -m 1 'versionName' ${{ env.outputs_dir }}/apk/${{ env.product }}/release/output-metadata.json | cut -d\" -f4)" >> $GITHUB_ENV

- name: Upload Mappings to Artifact
uses: actions/upload-artifact@v3
with:
name: mappings_${{ env.product }}_${{ env.ver_name }}
path: ${{ env.outputs_dir }}/mapping/*/*.txt

- name: Upload APK To Artifact
uses: actions/upload-artifact@v3
with:
name: "TTS-Server_${{ env.product }}_${{ env.ver_name }}"
path: ${{env.outputs_dir}}/apk/${{ env.product }}/release/*${{ env.ver_name }}.apk


- uses: softprops/action-gh-release@v0.1.15
with:
name: ${{ env.ver_name }}
tag_name: ${{ env.ver_name }}
body_path: ${{ github.workspace }}/CHANGELOG.md
draft: false
prerelease: false
files: ${{env.outputs_dir}}/apk/${{ env.product }}/release/*.apk
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
Loading