@@ -25,7 +25,6 @@ import com.android.build.gradle.LibraryExtension
25
25
import com.android.build.gradle.LibraryPlugin
26
26
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
27
27
import com.hyperdevs.poeditor.gradle.ktx.registerNewTask
28
- import com.hyperdevs.poeditor.gradle.network.api.OrderType
29
28
import com.hyperdevs.poeditor.gradle.tasks.ImportPoEditorStringsTask
30
29
import com.hyperdevs.poeditor.gradle.utils.*
31
30
import org.gradle.api.NamedDomainObjectContainer
@@ -44,24 +43,11 @@ typealias ConfigName = String
44
43
class PoEditorPlugin : Plugin <Project > {
45
44
override fun apply (project : Project ) {
46
45
val mainConfigName = " main"
47
- val mainResourceDirectory = getResourceDirectory(project, mainConfigName)
48
46
49
47
// Add the 'poEditorPlugin' extension object in the project,
50
48
// used to pass parameters to the main PoEditor task
51
49
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)
65
51
66
52
// Add flavor and build-type configurations if the project has the "com.android.application" plugin
67
53
project.plugins.withType<AppPlugin > {
@@ -182,8 +168,10 @@ class PoEditorPlugin : Plugin<Project> {
182
168
project.registerNewTask<ImportPoEditorStringsTask >(
183
169
mainPoEditorTaskName,
184
170
mainPoEditorTaskDescription,
185
- PLUGIN_GROUP ,
186
- arrayOf(mainPoEditorExtension))
171
+ PLUGIN_GROUP
172
+ ) {
173
+ configureTask(" main" , mainPoEditorExtension)
174
+ }
187
175
}
188
176
}
189
177
}
@@ -205,8 +193,7 @@ class PoEditorPlugin : Plugin<Project> {
205
193
project.tasks.findByName(configTaskName) ? : run {
206
194
val rawConfigExtension = configsExtensionContainer.findByName(configName)?.also {
207
195
// 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
210
197
}
211
198
212
199
if (rawConfigExtension != null ) {
@@ -222,8 +209,10 @@ class PoEditorPlugin : Plugin<Project> {
222
209
val newConfigPoEditorTask = project.registerNewTask<ImportPoEditorStringsTask >(
223
210
configTaskName,
224
211
getPoEditorDescriptionForConfig(configName),
225
- PLUGIN_GROUP ,
226
- arrayOf(mergedConfigExtension))
212
+ PLUGIN_GROUP
213
+ ) {
214
+ configureTask(configName, mergedConfigExtension)
215
+ }
227
216
228
217
configPoEditorTaskProvidersMap.put(configName, newConfigPoEditorTask)
229
218
}
@@ -256,9 +245,6 @@ class PoEditorPlugin : Plugin<Project> {
256
245
257
246
private fun getPoEditorTaskName (configName : ConfigName = "") = " import${configName.capitalize()} PoEditorStrings"
258
247
259
- private fun getResourceDirectory (project : Project , configName : ConfigName ) =
260
- project.layout.projectDirectory.dir(" src/$configName /res" )
261
-
262
248
private fun getMainPoEditorDescription (): String = """
263
249
Imports all PoEditor strings for all flavors and build types configurations.
264
250
""" .trimIndent()
0 commit comments