[SKIP CI] improve tasks, support AndroidManifest override (#5695)
* improve tasks, support AndroidManifest override * remove unnecessary arguments
This commit is contained in:
parent
c05656265b
commit
d14bfcb1ad
|
@ -35,18 +35,10 @@ jobs:
|
|||
mkdir -p ~/.gradle
|
||||
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
|
||||
|
||||
- name: Build multi-source library
|
||||
- name: Generate sources from the multi-source library
|
||||
uses: eskatos/gradle-command-action@v1
|
||||
with:
|
||||
arguments: :multisrc:assembleDebug
|
||||
wrapper-cache-enabled: true
|
||||
dependencies-cache-enabled: true
|
||||
configuration-cache-enabled: true
|
||||
|
||||
- name: Run multi-source generators
|
||||
uses: eskatos/gradle-command-action@v1
|
||||
with:
|
||||
arguments: :multisrc:runAllGenerators
|
||||
arguments: :multisrc:multisrcGenerators
|
||||
wrapper-cache-enabled: true
|
||||
dependencies-cache-enabled: true
|
||||
configuration-cache-enabled: true
|
||||
|
|
|
@ -46,22 +46,10 @@ jobs:
|
|||
mkdir -p ~/.gradle
|
||||
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
|
||||
|
||||
- name: Build multi-source library
|
||||
- name: Generate sources from the multi-source library
|
||||
uses: eskatos/gradle-command-action@v1
|
||||
with:
|
||||
build-root-directory: master
|
||||
wrapper-directory: master
|
||||
arguments: :multisrc:assembleDebug
|
||||
wrapper-cache-enabled: true
|
||||
dependencies-cache-enabled: true
|
||||
configuration-cache-enabled: true
|
||||
|
||||
- name: Run multi-source generators
|
||||
uses: eskatos/gradle-command-action@v1
|
||||
with:
|
||||
build-root-directory: master
|
||||
wrapper-directory: master
|
||||
arguments: :multisrc:runAllGenerators
|
||||
arguments: :multisrc:multisrcGenerators
|
||||
wrapper-cache-enabled: true
|
||||
dependencies-cache-enabled: true
|
||||
configuration-cache-enabled: true
|
||||
|
|
|
@ -21,7 +21,7 @@ repositories {
|
|||
apply("$rootDir/common-dependencies.gradle")
|
||||
|
||||
tasks {
|
||||
val runAllGenerators by registering {
|
||||
val multisrcGenerators by registering {
|
||||
doLast {
|
||||
val isWindows = System.getProperty("os.name").toString().toLowerCase().contains("win")
|
||||
val classPath = (configurations.debugCompileOnly.get().asFileTree.toList() +
|
||||
|
@ -46,5 +46,6 @@ tasks {
|
|||
throw Exception("Java process failed with exit code: $exitCode")
|
||||
}
|
||||
}
|
||||
dependsOn("assembleDebug")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,12 +68,16 @@ interface ThemeSourceGenerator {
|
|||
""".trimIndent())
|
||||
}
|
||||
|
||||
private fun writeAndroidManifest(androidManifestFile: File) {
|
||||
androidManifestFile.writeText("""
|
||||
private fun writeAndroidManifest(androidManifestFile: File, manifestOverridesPath: String, source: ThemeSourceData, projectRootPath: String) {
|
||||
val androidManifestOverride = File("$manifestOverridesPath/${source.pkgName}")
|
||||
if (androidManifestOverride.exists())
|
||||
androidManifestOverride.copyRecursively(File(projectRootPath))
|
||||
else
|
||||
androidManifestFile.writeText("""
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- THIS FILE IS AUTO-GENERATED; DO NOT EDIT -->
|
||||
<manifest package="eu.kanade.tachiyomi.extension" />
|
||||
""".trimIndent())
|
||||
""".trimIndent())
|
||||
}
|
||||
|
||||
private fun createGradleProject(source: ThemeSourceData, themePkg: String, themeClass: String, baseVersionCode: Int, userDir: String) {
|
||||
|
@ -82,6 +86,7 @@ interface ThemeSourceGenerator {
|
|||
val overridesPath = "$userDir/multisrc/overrides" // userDir = tachiyomi-extensions project root path
|
||||
val resOverridesPath = "$overridesPath/res/$themePkg"
|
||||
val srcOverridesPath = "$overridesPath/src/$themePkg"
|
||||
val manifestOverridesPath = "$overridesPath/manifest/$themePkg"
|
||||
val projectGradleFile = File("$projectRootPath/build.gradle")
|
||||
val projectAndroidManifestFile = File("$projectRootPath/AndroidManifest.xml")
|
||||
|
||||
|
@ -93,7 +98,7 @@ interface ThemeSourceGenerator {
|
|||
cleanDirectory(projectRootFile)
|
||||
|
||||
writeGradle(projectGradleFile, source, baseVersionCode)
|
||||
writeAndroidManifest(projectAndroidManifestFile)
|
||||
writeAndroidManifest(projectAndroidManifestFile, manifestOverridesPath, source, projectRootPath)
|
||||
|
||||
writeSourceFiles(projectSrcPath, srcOverridesPath, source, themePkg, themeClass)
|
||||
copyThemeClasses(userDir, themePkg, projectRootPath)
|
||||
|
|
Loading…
Reference in New Issue