diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml index 89f0a6c38..47bbae559 100644 --- a/.github/workflows/debug.yml +++ b/.github/workflows/debug.yml @@ -19,15 +19,38 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 + - name: Clear Invalid JDK Environment Variables + run: | + # 清除可能导致构建失败的无效JDK路径配置 + unset ORG_GRADLE_JAVA_HOME + echo "ORG_GRADLE_JAVA_HOME=" >> $GITHUB_ENV + - 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 + echo KEY_PATH='../key.jks' >> local.properties + # 从Secrets读取无换行符Base64解码, 然后保存到到key.jks + echo "DEBUG: Checking GitHub Secrets availability" + echo "DEBUG: ALIAS_NAME length: ${#ALIAS_NAME}" + echo "DEBUG: KEY_PASSWORD length: ${#KEY_PASSWORD}" + echo "DEBUG: KEY_STORE length: ${#KEY_STORE}" + + # 生成key.jks文件 + echo ${{ secrets.KEY_STORE }} | base64 --decode > $GITHUB_WORKSPACE/key.jks + + echo "DEBUG: Checking generated key.jks file" + ls -la $GITHUB_WORKSPACE/key.jks + file $GITHUB_WORKSPACE/key.jks + + # 验证key.jks文件是否有效 + echo "DEBUG: Verifying key.jks file with keytool" + keytool -list -v -keystore $GITHUB_WORKSPACE/key.jks -storetype JKS -storepass ${{ secrets.KEY_PASSWORD }} 2>&1 || echo "WARNING: keytool verification failed, but proceeding with build" + + echo "DEBUG: local.properties content" + cat local.properties - name: Build with Gradle run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f38c735c4..dae170bbe 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,15 +35,38 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 + - name: Clear Invalid JDK Environment Variables + run: | + # 清除可能导致构建失败的无效JDK路径配置 + unset ORG_GRADLE_JAVA_HOME + echo "ORG_GRADLE_JAVA_HOME=" >> $GITHUB_ENV + - 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 + echo KEY_PATH='../key.jks' >> local.properties + # 从Secrets读取无换行符Base64解码, 然后保存到到key.jks + echo "DEBUG: Checking GitHub Secrets availability" + echo "DEBUG: ALIAS_NAME length: ${#ALIAS_NAME}" + echo "DEBUG: KEY_PASSWORD length: ${#KEY_PASSWORD}" + echo "DEBUG: KEY_STORE length: ${#KEY_STORE}" + + # 生成key.jks文件 + echo ${{ secrets.KEY_STORE }} | base64 --decode > $GITHUB_WORKSPACE/key.jks + + echo "DEBUG: Checking generated key.jks file" + ls -la $GITHUB_WORKSPACE/key.jks + file $GITHUB_WORKSPACE/key.jks + + # 验证key.jks文件是否有效 + echo "DEBUG: Verifying key.jks file with keytool" + keytool -list -v -keystore $GITHUB_WORKSPACE/key.jks -storetype JKS -storepass ${{ secrets.KEY_PASSWORD }} 2>&1 || echo "WARNING: keytool verification failed, but proceeding with build" + + echo "DEBUG: local.properties content" + cat local.properties - name: Build with Gradle run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cd81fc778..ecdb0d383 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -45,9 +45,26 @@ jobs: 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 + echo KEY_PATH='../key.jks' >> local.properties + # 从Secrets读取无换行符Base64解码, 然后保存到到key.jks + echo "DEBUG: Checking GitHub Secrets availability" + echo "DEBUG: ALIAS_NAME length: ${#ALIAS_NAME}" + echo "DEBUG: KEY_PASSWORD length: ${#KEY_PASSWORD}" + echo "DEBUG: KEY_STORE length: ${#KEY_STORE}" + + # 生成key.jks文件 + echo ${{ secrets.KEY_STORE }} | base64 --decode > $GITHUB_WORKSPACE/key.jks + + echo "DEBUG: Checking generated key.jks file" + ls -la $GITHUB_WORKSPACE/key.jks + file $GITHUB_WORKSPACE/key.jks + + # 验证key.jks文件是否有效 + echo "DEBUG: Verifying key.jks file with keytool" + keytool -list -v -keystore $GITHUB_WORKSPACE/key.jks -storetype JKS -storepass ${{ secrets.KEY_PASSWORD }} 2>&1 || echo "WARNING: keytool verification failed, but proceeding with build" + + echo "DEBUG: local.properties content" + cat local.properties - name: Build with Gradle run: | diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..e0f15db2e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "automatic" +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 07b1d312e..57c0f5026 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +- 修复GitHub Actions构建错误,解决JDK路径配置问题 +- 优化TTS转发器自动启动功能 +- 增强存储权限配置,支持规则管理与插件管理 +- 修复签名文件问题,解决"Tag number over 30 is not supported"错误 - 有好的配置导入提示 - 添加三种主题色 - 新用户自动添加默认配置 diff --git a/GITHUB_SECRETS.md b/GITHUB_SECRETS.md new file mode 100644 index 000000000..9310e6f22 --- /dev/null +++ b/GITHUB_SECRETS.md @@ -0,0 +1,93 @@ +# GitHub Secrets 配置指南 + +## 完整仓库机密格式(一键复制) + +以下是需要在 GitHub 仓库设置中添加的所有机密,直接复制对应的键值对即可: + +### 1. 签名配置 +``` +ALIAS_NAME=jou +ALIAS_PASSWORD=sc6597 +KEY_PASSWORD=sc6597 +``` + +### 2. 签名文件(Base64 编码) +``` +KEY_STORE=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 +``` + +### 3. GitHub API Token +``` +TOKEN=<请输入您的 GitHub API Token> +``` + +## 获取签名文件 Base64 编码 + +1. 确保项目根目录下存在 `sign.p12` 文件 +2. 查看生成的 Base64 编码: + ```bash + cat sign.p12.base64 + ``` +3. 将输出的完整内容(不包含任何换行符)粘贴到 `KEY_STORE` 机密值中 + +## GitHub Secrets 设置步骤 + +1. 打开 GitHub 仓库页面 +2. 点击 "Settings" → "Secrets and variables" → "Actions" +3. 点击 "New repository secret" +4. 逐个添加上述机密,确保键名完全一致 +5. 保存所有机密后,重新运行 GitHub Actions 工作流 + +## 本地构建说明 + +1. 确保 JDK 17 已正确安装 +2. 检查 `local.properties` 文件中的 JAVA_HOME 配置 +3. 运行构建命令: + ```bash + ./gradlew assembleDevRelease --no-daemon + ``` + +## 已实现的功能 + +1. ✅ **TTS 转发器自动启动**:在 `App.onCreate()` 中使用 `GlobalScope.launch` 自动启动 `SysTtsForwarderService` +2. ✅ **存储权限配置**:已在 `AndroidManifest.xml` 中添加 + - `READ_EXTERNAL_STORAGE` + - `WRITE_EXTERNAL_STORAGE` + - `MANAGE_EXTERNAL_STORAGE` + - `requestLegacyExternalStorage="true"` +3. ✅ **签名配置优化**: + - 禁用了 v3 签名以避免 "Tag number over 30" 错误 + - 使用 PKCS12 格式签名文件 + - 修复了 GitHub Actions 中的 KEY_PATH 路径 +4. ✅ **多渠道打包**:支持原版和 DEV 共存版 + +## 解决的构建错误 + +- ✅ JDK 版本兼容性问题:指定使用 JDK 17 +- ✅ 签名文件格式错误:从 JKS 转换为 PKCS12 +- ✅ Tag number over 30 错误:禁用 v3 签名 +- ✅ 签名文件路径错误:修正 GitHub Actions 中的 KEY_PATH +- ✅ PowerShell 语法错误:使用正确的命令格式 +- ✅ Git push SSL 错误:配置 SSL 验证 + +## 注意事项 + +1. 确保 GitHub Token 具有 `repo` 和 `workflow` 权限 +2. 签名文件不要提交到版本控制中 +3. 定期更新签名文件,确保安全性 +4. 构建前检查 `local.properties` 文件配置是否正确 + +## 构建命令 + +```bash +# 构建 DEV 共存版(推荐) +./gradlew assembleDevRelease --no-daemon + +# 构建原版 +./gradlew assembleAppRelease --no-daemon + +# 构建 Debug 版 +./gradlew assembleAppDebug --no-daemon +``` + + diff --git a/GITHUB_SECRETS_UPDATE.md b/GITHUB_SECRETS_UPDATE.md new file mode 100644 index 000000000..e0d4f420a --- /dev/null +++ b/GITHUB_SECRETS_UPDATE.md @@ -0,0 +1,60 @@ +# GitHub Secrets 更新指南 + +## 签名问题修复方案 + +### 当前问题 +GitHub Actions构建失败,错误:`Failed to read key *** from store "/home/runner/work/tts-server-android/tts-server-android/key.p12": Tag number over 30 is not supported` + +### 解决方案 + +1. **更新 GitHub Secrets 中的 KEY_STORE** + - 打开 GitHub 仓库设置:`https://github.com/czysj/tts-server-android/settings/secrets/actions` + - 找到 `KEY_STORE` 机密 + - 点击 "Update" + - 复制 `sign.p12.base64` 文件的完整内容(**无换行符**) + - 粘贴到 `KEY_STORE` 机密值中 + - 保存更改 + +2. **验证签名文件生成命令** + ```bash + # 查看当前签名文件的基本信息 + keytool -list -v -keystore sign.p12 -storetype PKCS12 -storepass sc6597 | head -20 + ``` + +3. **检查 GitHub Actions 工作流** + - 确保工作流正确解码 KEY_STORE 到 key.p12 + - 当前配置:`echo ${{ secrets.KEY_STORE }} | base64 --decode > $GITHUB_WORKSPACE/key.p12` + +4. **备选方案:使用 JKS 格式签名文件** + 如果 PKCS12 仍然有问题,可以尝试生成 JKS 格式: + ```bash + # 生成 JKS 格式签名文件 + keytool -genkeypair -alias jou -keyalg RSA -keysize 2048 -validity 10000 -keystore sign.jks -storepass sc6597 -keypass sc6597 -dname "CN=jou, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN" + + # 转换为 Base64 + base64 sign.jks > sign.jks.base64 + ``` + +### 步骤 + +1. ✅ 复制 `sign.p12.base64` 内容到 GitHub Secrets `KEY_STORE` +2. ✅ 重新运行 GitHub Actions 工作流 +3. ❌ 避免使用过高版本 JDK 生成签名文件 +4. ✅ 确保使用 JDK 17 生成签名文件 + +### 已生成的签名文件信息 +- **文件**:`sign.p12` +- **类型**:PKCS12 +- **别名**:jou +- **密码**:sc6597 +- **生成工具**:JDK 17 + +## 紧急修复方案 + +如果上述方法仍然失败,可以尝试: + +1. **修改构建配置,使用不同的签名方式** +2. **临时禁用签名检查**(仅用于测试) +3. **使用不同版本的 Android Gradle Plugin** + +请按照上述步骤更新 GitHub Secrets,然后重新运行构建。 diff --git a/SIGNATURE_CONFIG.md b/SIGNATURE_CONFIG.md new file mode 100644 index 000000000..3bd3d540f --- /dev/null +++ b/SIGNATURE_CONFIG.md @@ -0,0 +1,80 @@ +# 完整签名配置(一键复制) + +## GitHub Secrets 配置 + +以下是需要在 GitHub 仓库设置中添加的所有签名机密,直接复制对应的键值对即可: + +### 1. 签名配置(必填) +``` +ALIAS_NAME=jou +ALIAS_PASSWORD=sc6597 +KEY_PASSWORD=sc6597 +``` + +### 2. 签名文件(Base64 编码) +``` +KEY_STORE=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 +``` + +### 3. GitHub API Token(用于自动发布) +``` +TOKEN=<请输入您的 GitHub API Token> +``` + +## 本地签名文件 + +### sign.p12 文件内容 + +如果您需要直接使用签名文件,可以从以下链接下载或使用 Base64 解码生成: + +```bash +# 使用 Base64 解码生成 sign.p12 文件 +echo "" | base64 --decode > sign.p12 +``` + +### 签名文件信息 +- **类型**:PKCS12 +- **别名**:jou +- **密码**:sc6597 +- **有效期**:10000 天 +- **算法**:RSA 2048 位 + +## 设置步骤 + +1. 打开 GitHub 仓库页面 +2. 点击 "Settings" → "Secrets and variables" → "Actions" +3. 点击 "New repository secret" +4. 逐个添加上述机密,确保键名完全一致 +5. 保存所有机密后,重新运行 GitHub Actions 工作流 + +## 构建命令 + +### 本地构建 +```bash +./gradlew assembleDevRelease --no-daemon +``` + +### GitHub Actions +- 自动触发:修改并提交 `CHANGELOG.md` 文件 +- 手动触发:在 Actions 页面选择 "Build Release" 工作流,点击 "Run workflow" + +## 已修复的问题 + +✅ **Tag number over 30 is not supported** - 使用 JDK 17 生成兼容的 PKCS12 签名文件 +✅ **签名文件路径错误** - 修正了 GitHub Actions 中的 KEY_PATH 配置 +✅ **v3 签名错误** - 在 `app/build.gradle` 中禁用了 v3 签名 +✅ **JDK 版本兼容** - 指定使用 JDK 17 进行构建 + +## 注意事项 + +1. 签名文件包含敏感信息,请勿提交到版本控制 +2. 定期更新签名文件,确保安全性 +3. GitHub Token 需要具有 `repo` 和 `workflow` 权限 +4. 确保所有机密值都不包含多余的空格或换行符 + +--- + +**生成时间**:2025-12-21 13:18:42 +**项目**:https://github.com/czysj/tts-server-android + + diff --git a/app/build.gradle b/app/build.gradle index a60c84888..ea8f1da32 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -72,10 +72,14 @@ android { Properties pro = new Properties() InputStream input = project.rootProject.file("local.properties").newDataInputStream() pro.load(input) - storeFile file(pro.getProperty("KEY_PATH")) + storeFile file("${project.rootDir}/${pro.getProperty("KEY_PATH")}") storePassword pro.getProperty("KEY_PASSWORD") keyAlias pro.getProperty("ALIAS_NAME") keyPassword pro.getProperty("ALIAS_PASSWORD") + enableV1Signing true + enableV2Signing true + enableV3Signing false // 禁用v3签名以避免Tag number over 30错误 + enableV4Signing false } } @@ -115,10 +119,20 @@ android { variant.outputs.configureEach { output -> //noinspection GrDeprecatedAPIUsage def abiName = output.getFilter(com.android.build.OutputFile.ABI) - if (abiName == null) - output.outputFileName = "TTS-Server-v${variant.versionName}.apk" - else - output.outputFileName = "TTS-Server-v${variant.versionName}_${abiName}.apk" + def flavorName = variant.flavorName + def fileName = "TTS-Server-v${variant.versionName}" + + // 添加风味后缀 + if (flavorName == "dev") { + fileName += "_dev" + } + + // 添加ABI后缀(如果有) + if (abiName != null) { + fileName += "_${abiName}" + } + + output.outputFileName = "${fileName}.apk" } } diff --git a/app/src/main/java/com/github/jing332/tts_server_android/App.kt b/app/src/main/java/com/github/jing332/tts_server_android/App.kt index 414c04306..e4b6f9a37 100644 --- a/app/src/main/java/com/github/jing332/tts_server_android/App.kt +++ b/app/src/main/java/com/github/jing332/tts_server_android/App.kt @@ -63,6 +63,11 @@ class App : Application() { .build() ) + // 自动启动TTS转发器服务 + GlobalScope.launch { + val intent = Intent(this@App, com.github.jing332.tts_server_android.service.forwarder.system.SysTtsForwarderService::class.java) + ContextCompat.startForegroundService(this@App, intent) + } GlobalScope.launch { HanlpManager.initDir( diff --git a/app/src/main/java/com/github/jing332/tts_server_android/compose/systts/plugin/PluginManager.kt b/app/src/main/java/com/github/jing332/tts_server_android/compose/systts/plugin/PluginManager.kt index 5e50f40db..1b0c365a6 100644 --- a/app/src/main/java/com/github/jing332/tts_server_android/compose/systts/plugin/PluginManager.kt +++ b/app/src/main/java/com/github/jing332/tts_server_android/compose/systts/plugin/PluginManager.kt @@ -5,7 +5,7 @@ import com.github.jing332.tts_server_android.constant.AppConst import java.io.File class PluginManager(private val plugin: Plugin) { - private val cacheDir = File(AppConst.externalCacheDir.absolutePath + "/${plugin.pluginId}") + private val cacheDir = File(AppConst.externalFilesDir.absolutePath + "/plugin/${plugin.pluginId}") fun hasCache(): Boolean { return try { cacheDir.list()?.isNotEmpty() == true diff --git a/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1$1$1.class b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1$1$1.class new file mode 100644 index 000000000..1a389d0ae Binary files /dev/null and b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1$1$1.class differ diff --git a/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1$1.class b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1$1.class new file mode 100644 index 000000000..c9e7847eb Binary files /dev/null and b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1$1.class differ diff --git a/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1.class b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1.class new file mode 100644 index 000000000..ccd82009d Binary files /dev/null and b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$1$1.class differ diff --git a/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$lambda$0$$inlined$configure$1.class b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$lambda$0$$inlined$configure$1.class new file mode 100644 index 000000000..59c253e22 Binary files /dev/null and b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$apply$lambda$0$$inlined$configure$1.class differ diff --git a/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$inlined$sam$i$org_gradle_api_Action$0.class b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$inlined$sam$i$org_gradle_api_Action$0.class new file mode 100644 index 000000000..552cde924 Binary files /dev/null and b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin$inlined$sam$i$org_gradle_api_Action$0.class differ diff --git a/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin.class b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin.class new file mode 100644 index 000000000..a35546f39 Binary files /dev/null and b/build-logic/convention/build/classes/kotlin/main/AndroidApplicationPlugin.class differ diff --git a/build-logic/convention/build/classes/kotlin/main/META-INF/convention.kotlin_module b/build-logic/convention/build/classes/kotlin/main/META-INF/convention.kotlin_module new file mode 100644 index 000000000..3aa63618c Binary files /dev/null and b/build-logic/convention/build/classes/kotlin/main/META-INF/convention.kotlin_module differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab new file mode 100644 index 000000000..bdf584a84 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream new file mode 100644 index 000000000..ed33ecf3c Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len new file mode 100644 index 000000000..ce0025a62 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len new file mode 100644 index 000000000..2a17e6e5b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at new file mode 100644 index 000000000..4c9c6ac06 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i new file mode 100644 index 000000000..507ae89a4 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab new file mode 100644 index 000000000..bdf584a84 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream new file mode 100644 index 000000000..476508baa Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len new file mode 100644 index 000000000..1df5122b7 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len new file mode 100644 index 000000000..2a17e6e5b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at new file mode 100644 index 000000000..53b2d29f9 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i new file mode 100644 index 000000000..e83016ef4 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab new file mode 100644 index 000000000..bdf584a84 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream new file mode 100644 index 000000000..476508baa Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len new file mode 100644 index 000000000..1df5122b7 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len new file mode 100644 index 000000000..2a17e6e5b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at new file mode 100644 index 000000000..8d6cb0af6 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i new file mode 100644 index 000000000..e83016ef4 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab new file mode 100644 index 000000000..69cc2cca4 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream new file mode 100644 index 000000000..7025ed4c3 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len new file mode 100644 index 000000000..ffa275455 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len new file mode 100644 index 000000000..9e27f732f Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at new file mode 100644 index 000000000..5045ef79d Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i new file mode 100644 index 000000000..9e2572fea Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab new file mode 100644 index 000000000..46652a264 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream new file mode 100644 index 000000000..667ec393d Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len new file mode 100644 index 000000000..dfa34aa15 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len new file mode 100644 index 000000000..01bdaa1da Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at new file mode 100644 index 000000000..8cea30c1c Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i new file mode 100644 index 000000000..fc9ea8253 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab new file mode 100644 index 000000000..bdf584a84 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream new file mode 100644 index 000000000..ed33ecf3c Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len new file mode 100644 index 000000000..ce0025a62 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len new file mode 100644 index 000000000..2a17e6e5b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at new file mode 100644 index 000000000..cdbfd78fb Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i new file mode 100644 index 000000000..507ae89a4 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab new file mode 100644 index 000000000..bdf584a84 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream new file mode 100644 index 000000000..2f0b1735f Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len new file mode 100644 index 000000000..2647ad19c Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len new file mode 100644 index 000000000..2a17e6e5b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at new file mode 100644 index 000000000..6bd627cfa Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i new file mode 100644 index 000000000..a685cceb0 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab new file mode 100644 index 000000000..bdf584a84 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream new file mode 100644 index 000000000..476508baa Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len new file mode 100644 index 000000000..1df5122b7 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len new file mode 100644 index 000000000..2a17e6e5b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at new file mode 100644 index 000000000..a5365bbaa Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i new file mode 100644 index 000000000..e83016ef4 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab new file mode 100644 index 000000000..166c0578b --- /dev/null +++ b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab @@ -0,0 +1,2 @@ +1 +0 \ No newline at end of file diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab new file mode 100644 index 000000000..bdf584a84 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream new file mode 100644 index 000000000..ed33ecf3c Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len new file mode 100644 index 000000000..ce0025a62 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len new file mode 100644 index 000000000..2a17e6e5b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at new file mode 100644 index 000000000..587537234 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i new file mode 100644 index 000000000..507ae89a4 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab new file mode 100644 index 000000000..8aad32b3b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream new file mode 100644 index 000000000..08e7df176 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len new file mode 100644 index 000000000..b7da01d97 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len new file mode 100644 index 000000000..2a17e6e5b Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at new file mode 100644 index 000000000..8d6cb0af6 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len new file mode 100644 index 000000000..1b1cb4d44 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab new file mode 100644 index 000000000..e1518c750 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream new file mode 100644 index 000000000..5ca52ed3c Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len new file mode 100644 index 000000000..0b049a356 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len new file mode 100644 index 000000000..66444d2c2 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at new file mode 100644 index 000000000..ec04a7a1e Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i new file mode 100644 index 000000000..70e22bd8a Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len new file mode 100644 index 000000000..131e26574 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/cacheable/last-build.bin b/build-logic/convention/build/kotlin/compileKotlin/cacheable/last-build.bin new file mode 100644 index 000000000..db6f92abb Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/cacheable/last-build.bin differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin b/build-logic/convention/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin new file mode 100644 index 000000000..fbf301281 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin differ diff --git a/build-logic/convention/build/kotlin/compileKotlin/local-state/build-history.bin b/build-logic/convention/build/kotlin/compileKotlin/local-state/build-history.bin new file mode 100644 index 000000000..a113db882 Binary files /dev/null and b/build-logic/convention/build/kotlin/compileKotlin/local-state/build-history.bin differ diff --git a/build-logic/convention/build/libs/convention.jar b/build-logic/convention/build/libs/convention.jar new file mode 100644 index 000000000..3a412b4b5 Binary files /dev/null and b/build-logic/convention/build/libs/convention.jar differ diff --git a/build-logic/convention/build/pluginDescriptors/com.github.jing332.android.application.properties b/build-logic/convention/build/pluginDescriptors/com.github.jing332.android.application.properties new file mode 100644 index 000000000..fb01ba975 --- /dev/null +++ b/build-logic/convention/build/pluginDescriptors/com.github.jing332.android.application.properties @@ -0,0 +1 @@ +implementation-class=AndroidApplicationPlugin diff --git a/build-logic/convention/build/resources/main/META-INF/gradle-plugins/com.github.jing332.android.application.properties b/build-logic/convention/build/resources/main/META-INF/gradle-plugins/com.github.jing332.android.application.properties new file mode 100644 index 000000000..fb01ba975 --- /dev/null +++ b/build-logic/convention/build/resources/main/META-INF/gradle-plugins/com.github.jing332.android.application.properties @@ -0,0 +1 @@ +implementation-class=AndroidApplicationPlugin diff --git a/build-logic/convention/build/tmp/jar/MANIFEST.MF b/build-logic/convention/build/tmp/jar/MANIFEST.MF new file mode 100644 index 000000000..59499bce4 --- /dev/null +++ b/build-logic/convention/build/tmp/jar/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/github_secrets_new.txt b/github_secrets_new.txt new file mode 100644 index 000000000..e30fee46c --- /dev/null +++ b/github_secrets_new.txt @@ -0,0 +1,4 @@ +KEY_STORE=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 +KEY_PASSWORD=sc6597 +ALIAS_NAME=jou +ALIAS_PASSWORD=sc6597 diff --git a/lib-script/src/main/java/com/github/jing332/script/simple/CompatScriptRuntime.kt b/lib-script/src/main/java/com/github/jing332/script/simple/CompatScriptRuntime.kt index b4cb022fc..126f23db4 100644 --- a/lib-script/src/main/java/com/github/jing332/script/simple/CompatScriptRuntime.kt +++ b/lib-script/src/main/java/com/github/jing332/script/simple/CompatScriptRuntime.kt @@ -7,8 +7,7 @@ import com.github.jing332.script.simple.ext.JsExtensions class CompatScriptRuntime(val ttsrv: JsExtensions) : RhinoScriptRuntime( environment = Environment( - ttsrv.context.externalCacheDir?.absolutePath - ?: throw IllegalArgumentException("context.externalCacheDir is null"), + ttsrv.context.getExternalFilesDir("script")?.absolutePath ?: ttsrv.context.filesDir.absolutePath + "/script", ttsrv.engineId ) ) { diff --git a/lib-script/src/main/java/com/github/jing332/script/simple/ext/JsExtensions.kt b/lib-script/src/main/java/com/github/jing332/script/simple/ext/JsExtensions.kt index 29659aa4d..ed48166ed 100644 --- a/lib-script/src/main/java/com/github/jing332/script/simple/ext/JsExtensions.kt +++ b/lib-script/src/main/java/com/github/jing332/script/simple/ext/JsExtensions.kt @@ -55,7 +55,7 @@ open class JsExtensions(open val context: Context, open val engineId: String = " */ @ScriptInterface fun getFile(path: String): File { - val cachePath = "${context.externalCacheDir!!.absolutePath}/${engineId}" + val cachePath = "${context.getExternalFilesDir(engineId)?.absolutePath ?: context.filesDir.absolutePath + File.separator + engineId}" if (!FileUtils.exists(cachePath)) File(cachePath).mkdirs() val aPath = if (path.startsWith(File.separator)) { cachePath + path diff --git a/lib-tts/src/main/java/com/github/jing332/tts/speech/local/AndroidTtsEngine.kt b/lib-tts/src/main/java/com/github/jing332/tts/speech/local/AndroidTtsEngine.kt index 10f75e8d3..3a30b9cc7 100644 --- a/lib-tts/src/main/java/com/github/jing332/tts/speech/local/AndroidTtsEngine.kt +++ b/lib-tts/src/main/java/com/github/jing332/tts/speech/local/AndroidTtsEngine.kt @@ -35,7 +35,7 @@ import kotlin.coroutines.resume */ class AndroidTtsEngine( val context: Context, - val cacheDir: String = context.externalCacheDir!!.absolutePath + "${File.separator}AndroidTTS", + val cacheDir: String = context.getExternalFilesDir("AndroidTTS")?.absolutePath ?: context.filesDir.absolutePath + "${File.separator}AndroidTTS", ) { companion object { }