4 Commits
1.0.0 ... 1.0.1

7 changed files with 29 additions and 5 deletions

View File

@@ -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) 查看历史更新日志
## 项目推广

View File

@@ -2,4 +2,8 @@
## 1.0.0 | 2023.10.13
- 首个版本提交至 Maven
- 首个版本提交至 Maven
## 1.0.1 | 2023.10.13
- 修复在使用 Kotlin on Android 插件的项目上找不到源码路径的问题

View File

@@ -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

View File

@@ -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)
}

View File

@@ -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") }
}

View File

@@ -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"

View File

@@ -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