@@ -25,7 +25,6 @@ import com.android.build.gradle.LibraryExtension
2525import com.android.build.gradle.LibraryPlugin
2626import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
2727import com.hyperdevs.poeditor.gradle.ktx.registerNewTask
28- import com.hyperdevs.poeditor.gradle.network.api.OrderType
2928import com.hyperdevs.poeditor.gradle.tasks.ImportPoEditorStringsTask
3029import com.hyperdevs.poeditor.gradle.utils.*
3130import org.gradle.api.NamedDomainObjectContainer
@@ -44,24 +43,11 @@ typealias ConfigName = String
4443class PoEditorPlugin : Plugin <Project > {
4544 override fun apply (project : Project ) {
4645 val mainConfigName = " main"
47- val mainResourceDirectory = getResourceDirectory(project, mainConfigName)
4846
4947 // Add the 'poEditorPlugin' extension object in the project,
5048 // used to pass parameters to the main PoEditor task
5149 val mainPoEditorExtension: PoEditorPluginExtension = project.extensions
52- .create<PoEditorPluginExtension >(DEFAULT_PLUGIN_NAME , project.objects, mainConfigName).apply {
53- enabled.convention(true )
54- defaultLang.convention(" en" )
55- defaultResPath.convention(mainResourceDirectory.asFile.absolutePath)
56- filters.convention(emptyList())
57- order.convention(OrderType .NONE .name.toLowerCase())
58- tags.convention(emptyList())
59- languageValuesOverridePathMap.convention(emptyMap())
60- minimumTranslationPercentage.convention(- 1 )
61- resFileName.convention(" strings" )
62- unquoted.convention(false )
63- unescapeHtmlTags.convention(true )
64- }
50+ .create<PoEditorPluginExtension >(DEFAULT_PLUGIN_NAME , project.objects, mainConfigName)
6551
6652 // Add flavor and build-type configurations if the project has the "com.android.application" plugin
6753 project.plugins.withType<AppPlugin > {
@@ -182,8 +168,10 @@ class PoEditorPlugin : Plugin<Project> {
182168 project.registerNewTask<ImportPoEditorStringsTask >(
183169 mainPoEditorTaskName,
184170 mainPoEditorTaskDescription,
185- PLUGIN_GROUP ,
186- arrayOf(mainPoEditorExtension))
171+ PLUGIN_GROUP
172+ ) {
173+ configureTask(" main" , mainPoEditorExtension)
174+ }
187175 }
188176 }
189177 }
@@ -205,8 +193,7 @@ class PoEditorPlugin : Plugin<Project> {
205193 project.tasks.findByName(configTaskName) ? : run {
206194 val rawConfigExtension = configsExtensionContainer.findByName(configName)?.also {
207195 // Don't forget to add the default resources path for the configuration
208- val configResDir = getResourceDirectory(project, configName)
209- it.defaultResPath.convention(configResDir.asFile.absolutePath)
196+ it.configName = configName
210197 }
211198
212199 if (rawConfigExtension != null ) {
@@ -222,8 +209,10 @@ class PoEditorPlugin : Plugin<Project> {
222209 val newConfigPoEditorTask = project.registerNewTask<ImportPoEditorStringsTask >(
223210 configTaskName,
224211 getPoEditorDescriptionForConfig(configName),
225- PLUGIN_GROUP ,
226- arrayOf(mergedConfigExtension))
212+ PLUGIN_GROUP
213+ ) {
214+ configureTask(configName, mergedConfigExtension)
215+ }
227216
228217 configPoEditorTaskProvidersMap.put(configName, newConfigPoEditorTask)
229218 }
@@ -256,9 +245,6 @@ class PoEditorPlugin : Plugin<Project> {
256245
257246 private fun getPoEditorTaskName (configName : ConfigName = "") = " import${configName.capitalize()} PoEditorStrings"
258247
259- private fun getResourceDirectory (project : Project , configName : ConfigName ) =
260- project.layout.projectDirectory.dir(" src/$configName /res" )
261-
262248 private fun getMainPoEditorDescription (): String = """
263249 Imports all PoEditor strings for all flavors and build types configurations.
264250 """ .trimIndent()
0 commit comments