[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
|
mkdir -p ~/.gradle
|
||||||
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
|
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
|
uses: eskatos/gradle-command-action@v1
|
||||||
with:
|
with:
|
||||||
arguments: :multisrc:assembleDebug
|
arguments: :multisrc:multisrcGenerators
|
||||||
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
|
|
||||||
wrapper-cache-enabled: true
|
wrapper-cache-enabled: true
|
||||||
dependencies-cache-enabled: true
|
dependencies-cache-enabled: true
|
||||||
configuration-cache-enabled: true
|
configuration-cache-enabled: true
|
||||||
|
|
|
@ -46,22 +46,10 @@ jobs:
|
||||||
mkdir -p ~/.gradle
|
mkdir -p ~/.gradle
|
||||||
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
|
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
|
uses: eskatos/gradle-command-action@v1
|
||||||
with:
|
with:
|
||||||
build-root-directory: master
|
arguments: :multisrc:multisrcGenerators
|
||||||
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
|
|
||||||
wrapper-cache-enabled: true
|
wrapper-cache-enabled: true
|
||||||
dependencies-cache-enabled: true
|
dependencies-cache-enabled: true
|
||||||
configuration-cache-enabled: true
|
configuration-cache-enabled: true
|
||||||
|
|
|
@ -21,7 +21,7 @@ repositories {
|
||||||
apply("$rootDir/common-dependencies.gradle")
|
apply("$rootDir/common-dependencies.gradle")
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
val runAllGenerators by registering {
|
val multisrcGenerators by registering {
|
||||||
doLast {
|
doLast {
|
||||||
val isWindows = System.getProperty("os.name").toString().toLowerCase().contains("win")
|
val isWindows = System.getProperty("os.name").toString().toLowerCase().contains("win")
|
||||||
val classPath = (configurations.debugCompileOnly.get().asFileTree.toList() +
|
val classPath = (configurations.debugCompileOnly.get().asFileTree.toList() +
|
||||||
|
@ -46,5 +46,6 @@ tasks {
|
||||||
throw Exception("Java process failed with exit code: $exitCode")
|
throw Exception("Java process failed with exit code: $exitCode")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
dependsOn("assembleDebug")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,11 @@ interface ThemeSourceGenerator {
|
||||||
""".trimIndent())
|
""".trimIndent())
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun writeAndroidManifest(androidManifestFile: File) {
|
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("""
|
androidManifestFile.writeText("""
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- THIS FILE IS AUTO-GENERATED; DO NOT EDIT -->
|
<!-- THIS FILE IS AUTO-GENERATED; DO NOT EDIT -->
|
||||||
|
@ -82,6 +86,7 @@ interface ThemeSourceGenerator {
|
||||||
val overridesPath = "$userDir/multisrc/overrides" // userDir = tachiyomi-extensions project root path
|
val overridesPath = "$userDir/multisrc/overrides" // userDir = tachiyomi-extensions project root path
|
||||||
val resOverridesPath = "$overridesPath/res/$themePkg"
|
val resOverridesPath = "$overridesPath/res/$themePkg"
|
||||||
val srcOverridesPath = "$overridesPath/src/$themePkg"
|
val srcOverridesPath = "$overridesPath/src/$themePkg"
|
||||||
|
val manifestOverridesPath = "$overridesPath/manifest/$themePkg"
|
||||||
val projectGradleFile = File("$projectRootPath/build.gradle")
|
val projectGradleFile = File("$projectRootPath/build.gradle")
|
||||||
val projectAndroidManifestFile = File("$projectRootPath/AndroidManifest.xml")
|
val projectAndroidManifestFile = File("$projectRootPath/AndroidManifest.xml")
|
||||||
|
|
||||||
|
@ -93,7 +98,7 @@ interface ThemeSourceGenerator {
|
||||||
cleanDirectory(projectRootFile)
|
cleanDirectory(projectRootFile)
|
||||||
|
|
||||||
writeGradle(projectGradleFile, source, baseVersionCode)
|
writeGradle(projectGradleFile, source, baseVersionCode)
|
||||||
writeAndroidManifest(projectAndroidManifestFile)
|
writeAndroidManifest(projectAndroidManifestFile, manifestOverridesPath, source, projectRootPath)
|
||||||
|
|
||||||
writeSourceFiles(projectSrcPath, srcOverridesPath, source, themePkg, themeClass)
|
writeSourceFiles(projectSrcPath, srcOverridesPath, source, themePkg, themeClass)
|
||||||
copyThemeClasses(userDir, themePkg, projectRootPath)
|
copyThemeClasses(userDir, themePkg, projectRootPath)
|
||||||
|
|
Loading…
Reference in New Issue