@@ -9,6 +9,9 @@ import dev.icerock.gradle.generator.AndroidMRGenerator
99import dev.icerock.gradle.generator.CommonMRGenerator
1010import dev.icerock.gradle.generator.IosMRGenerator
1111import dev.icerock.gradle.generator.MRGenerator
12+ import dev.icerock.gradle.generator.image.AndroidImagesGenerator
13+ import dev.icerock.gradle.generator.image.CommonImagesGenerator
14+ import dev.icerock.gradle.generator.image.IosImagesGenerator
1215import dev.icerock.gradle.generator.plurals.AndroidPluralsGenerator
1316import dev.icerock.gradle.generator.plurals.CommonPluralsGenerator
1417import dev.icerock.gradle.generator.plurals.IosPluralsGenerator
@@ -60,6 +63,9 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
6063 val plurals = commonResources.matching {
6164 include(" MR/**/plurals.xml" )
6265 }
66+ val images = commonResources.matching {
67+ include(" MR/images/**/*.png" , " MR/images/**/*.jpg" )
68+ }
6369
6470 val androidExtension = target.extensions.getByType(LibraryExtension ::class )
6571 val mainAndroidSet = androidExtension.sourceSets.getByName(" main" )
@@ -71,6 +77,7 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
7177 project = target,
7278 stringsFileTree = strings,
7379 pluralsFileTree = plurals,
80+ imagesFileTree = images,
7481 sourceSets = sourceSets.filter { it.name.endsWith(" Main" ) },
7582 extension = mrExtension,
7683 multiplatformExtension = multiplatformExtension,
@@ -94,13 +101,13 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
94101 project : Project ,
95102 stringsFileTree : FileTree ,
96103 pluralsFileTree : FileTree ,
104+ imagesFileTree : FileTree ,
97105 sourceSets : List <KotlinSourceSet >,
98106 extension : MultiplatformResourcesPluginExtension ,
99107 multiplatformExtension : KotlinMultiplatformExtension ,
100108 androidPackage : String
101109 ) {
102110 val generatedDir = File (project.buildDir, " generated/moko" )
103- generatedDir.deleteRecursively()
104111
105112 sourceSets.forEach { sourceSet ->
106113 val generator = createGenerator(
@@ -109,6 +116,7 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
109116 sourceSet = sourceSet,
110117 stringsFileTree = stringsFileTree,
111118 pluralsFileTree = pluralsFileTree,
119+ imagesFileTree = imagesFileTree,
112120 mrClassPackage = extension.multiplatformResourcesPackage!! ,
113121 androidRClassPackage = androidPackage
114122 ) ? : return @forEach
@@ -123,6 +131,7 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
123131 sourceSet : KotlinSourceSet ,
124132 stringsFileTree : FileTree ,
125133 pluralsFileTree : FileTree ,
134+ imagesFileTree : FileTree ,
126135 mrClassPackage : String ,
127136 androidRClassPackage : String
128137 ): MRGenerator ? {
@@ -132,6 +141,7 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
132141 sourceSet = sourceSet,
133142 stringsFileTree = stringsFileTree,
134143 pluralsFileTree = pluralsFileTree,
144+ imagesFileTree = imagesFileTree,
135145 mrClassPackage = mrClassPackage
136146 )
137147 }
@@ -148,6 +158,7 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
148158 sourceSet = sourceSet,
149159 stringsFileTree = stringsFileTree,
150160 pluralsFileTree = pluralsFileTree,
161+ imagesFileTree = imagesFileTree,
151162 mrClassPackage = mrClassPackage,
152163 androidRClassPackage = androidRClassPackage
153164 )
@@ -160,6 +171,7 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
160171 sourceSet = sourceSet,
161172 stringsFileTree = stringsFileTree,
162173 pluralsFileTree = pluralsFileTree,
174+ imagesFileTree = imagesFileTree,
163175 mrClassPackage = mrClassPackage
164176 )
165177 } else {
@@ -178,8 +190,9 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
178190 generatedDir : File ,
179191 sourceSet : KotlinSourceSet ,
180192 stringsFileTree : FileTree ,
181- mrClassPackage : String ,
182- pluralsFileTree : FileTree
193+ imagesFileTree : FileTree ,
194+ pluralsFileTree : FileTree ,
195+ mrClassPackage : String
183196 ): MRGenerator {
184197 return CommonMRGenerator (
185198 generatedDir = generatedDir,
@@ -193,6 +206,10 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
193206 CommonPluralsGenerator (
194207 sourceSet = sourceSet,
195208 pluralsFileTree = pluralsFileTree
209+ ),
210+ CommonImagesGenerator (
211+ sourceSet = sourceSet,
212+ inputFileTree = imagesFileTree
196213 )
197214 )
198215 )
@@ -202,9 +219,10 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
202219 generatedDir : File ,
203220 sourceSet : KotlinSourceSet ,
204221 stringsFileTree : FileTree ,
222+ pluralsFileTree : FileTree ,
223+ imagesFileTree : FileTree ,
205224 mrClassPackage : String ,
206- androidRClassPackage : String ,
207- pluralsFileTree : FileTree
225+ androidRClassPackage : String
208226 ): MRGenerator {
209227 return AndroidMRGenerator (
210228 generatedDir = generatedDir,
@@ -220,6 +238,11 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
220238 sourceSet = sourceSet,
221239 pluralsFileTree = pluralsFileTree,
222240 androidRClassPackage = androidRClassPackage
241+ ),
242+ AndroidImagesGenerator (
243+ sourceSet = sourceSet,
244+ inputFileTree = imagesFileTree,
245+ androidRClassPackage = androidRClassPackage
223246 )
224247 )
225248 )
@@ -229,8 +252,9 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
229252 generatedDir : File ,
230253 sourceSet : KotlinSourceSet ,
231254 stringsFileTree : FileTree ,
232- mrClassPackage : String ,
233- pluralsFileTree : FileTree
255+ pluralsFileTree : FileTree ,
256+ imagesFileTree : FileTree ,
257+ mrClassPackage : String
234258 ): MRGenerator {
235259 return IosMRGenerator (
236260 generatedDir = generatedDir,
@@ -244,6 +268,10 @@ class MultiplatformResourcesPlugin : Plugin<Project> {
244268 IosPluralsGenerator (
245269 sourceSet = sourceSet,
246270 pluralsFileTree = pluralsFileTree
271+ ),
272+ IosImagesGenerator (
273+ sourceSet = sourceSet,
274+ inputFileTree = imagesFileTree
247275 )
248276 )
249277 )
0 commit comments