mirror of
https://github.com/BetterAndroid/FlexiLocale.git
synced 2025-09-05 10:45:15 +08:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
5ba66efd18
|
|||
ddd036b117
|
|||
bba646ce62
|
|||
adb2e3d643
|
@@ -57,11 +57,11 @@ var appName = locale.getAppName();
|
||||
|
||||
## 开始使用
|
||||
|
||||
- [点击这里](https://github.com/BetterAndroid/FlexiLocale/blob/master/docs/guide.md) 查看使用文档
|
||||
- [点击这里](https://github.com/BetterAndroid/FlexiLocale/blob/master/docs/guide-zh-CN.md) 查看使用文档
|
||||
|
||||
## 更新日志
|
||||
|
||||
- [点击这里](https://github.com/BetterAndroid/FlexiLocale/blob/master/docs/changelog.md) 查看历史更新日志
|
||||
- [点击这里](https://github.com/BetterAndroid/FlexiLocale/blob/master/docs/changelog-zh-CN.md) 查看历史更新日志
|
||||
|
||||
## 项目推广
|
||||
|
||||
|
@@ -2,4 +2,8 @@
|
||||
|
||||
## 1.0.0 | 2023.10.13
|
||||
|
||||
- 首个版本提交至 Maven
|
||||
- 首个版本提交至 Maven
|
||||
|
||||
## 1.0.1 | 2023.10.13
|
||||
|
||||
- 修复在使用 Kotlin on Android 插件的项目上找不到源码路径的问题
|
@@ -2,4 +2,8 @@
|
||||
|
||||
## 1.0.0 | 2023.10.13
|
||||
|
||||
- The first version is submitted to Maven
|
||||
- The first version is submitted to Maven
|
||||
|
||||
## 1.0.1 | 2023.10.13
|
||||
|
||||
- Fixed a problem where the source code path could not be found on projects using the Kotlin on Android plugin
|
@@ -22,6 +22,7 @@ kotlin {
|
||||
|
||||
dependencies {
|
||||
compileOnly(com.android.library.com.android.library.gradle.plugin)
|
||||
compileOnly(org.jetbrains.kotlin.kotlin.gradle.plugin)
|
||||
implementation(com.squareup.kotlinpoet)
|
||||
}
|
||||
|
||||
|
@@ -37,6 +37,8 @@ import com.highcapable.flexilocale.utils.debug.FError
|
||||
import com.highcapable.flexilocale.utils.debug.FLog
|
||||
import com.highcapable.flexilocale.utils.factory.toFile
|
||||
import org.gradle.api.Project
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
|
||||
import org.w3c.dom.Element
|
||||
import org.w3c.dom.Node
|
||||
import java.io.File
|
||||
@@ -53,6 +55,9 @@ internal object LocaleAnalysisHelper {
|
||||
/** Android 的 Library 插件名称 */
|
||||
private const val LIBRARY_PLUGIN_NAME = "com.android.library"
|
||||
|
||||
/** Kotlin 的 Android 插件名称 */
|
||||
private const val KT_ANDROID_PLUGIN_NAME = "org.jetbrains.kotlin.android"
|
||||
|
||||
/** I18ns 代码生成实例 */
|
||||
private val generator = LocaleSourcesGenerator()
|
||||
|
||||
@@ -126,6 +131,7 @@ internal object LocaleAnalysisHelper {
|
||||
private fun initializePlugins(project: Project) {
|
||||
runCatching {
|
||||
fun BaseExtension.updateSourceDirs() = sourceSets.configureEach { kotlin.srcDir(configs.generateDirPath) }
|
||||
fun KotlinProjectExtension.updateSourceDirs() = sourceSets.configureEach { kotlin.srcDir(configs.generateDirPath) }
|
||||
fun BaseVariant.updateResDirectories() = sourceSets.forEach { provide -> provide.resDirectories?.also { resDirectories.addAll(it) } }
|
||||
project.plugins.withId(APPLICATION_PLUGIN_NAME) {
|
||||
project.get<AppExtension>().also { extension ->
|
||||
@@ -133,6 +139,7 @@ internal object LocaleAnalysisHelper {
|
||||
extension.applicationVariants.forEach { variant ->
|
||||
variant.updateResDirectories()
|
||||
}; extension.updateSourceDirs()
|
||||
extension.sourceSets.configureEach { kotlin.srcDir(configs.generateDirPath) }
|
||||
}
|
||||
}
|
||||
project.plugins.withId(LIBRARY_PLUGIN_NAME) {
|
||||
@@ -143,6 +150,11 @@ internal object LocaleAnalysisHelper {
|
||||
}; extension.updateSourceDirs()
|
||||
}
|
||||
}
|
||||
project.plugins.withId(KT_ANDROID_PLUGIN_NAME) {
|
||||
project.get<KotlinAndroidProjectExtension>().also { extension ->
|
||||
extension.updateSourceDirs()
|
||||
}
|
||||
}
|
||||
}.onFailure { FError.make("Failed to initialize Android Gradle plugin, this may be not or a wrong Android project\n$it") }
|
||||
}
|
||||
|
||||
|
@@ -4,7 +4,7 @@ project.description=An easy generation Android i18ns string call Gradle plugin.
|
||||
project.url=https://github.com/BetterAndroid/FlexiLocale
|
||||
project.groupName=com.highcapable.flexilocale
|
||||
project.moduleName=flexi-locale
|
||||
project.version=1.0.0
|
||||
project.version=1.0.1
|
||||
project.licence.name=Apache License 2.0
|
||||
project.licence.url=https://github.com/BetterAndroid/FlexiLocale/blob/master/LICENSE
|
||||
project.developer.id="0"
|
||||
|
@@ -20,6 +20,9 @@ libraries:
|
||||
com.android.library:
|
||||
com.android.library.gradle.plugin:
|
||||
version: 8.1.2
|
||||
org.jetbrains.kotlin:
|
||||
kotlin-gradle-plugin:
|
||||
version: 1.9.10
|
||||
com.squareup:
|
||||
kotlinpoet:
|
||||
version: 1.14.2
|
Reference in New Issue
Block a user