Skip to content

Commit

Permalink
#44 generic ResourceGeneratorFeature
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex009 committed May 4, 2020
1 parent 38e851d commit 15d564a
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -104,20 +104,20 @@ abstract class FontsGenerator(
val file: File
)

class Feature(private val info: SourceInfo) : ResourceGeneratorFeature {
class Feature(private val info: SourceInfo) : ResourceGeneratorFeature<FontsGenerator> {
private val stringsFileTree = info.commonResources.matching {
include("MR/fonts/**.ttf")
}

override fun createCommonGenerator(): MRGenerator.Generator {
override fun createCommonGenerator(): FontsGenerator {
return CommonFontsGenerator(stringsFileTree)
}

override fun createIosGenerator(): MRGenerator.Generator {
override fun createIosGenerator(): FontsGenerator {
return IosFontsGenerator(stringsFileTree)
}

override fun createAndroidGenerator(): MRGenerator.Generator {
override fun createAndroidGenerator(): FontsGenerator {
return AndroidFontsGenerator(
stringsFileTree,
info.androidRClassPackage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,20 +63,20 @@ abstract class ImagesGenerator(

abstract fun getPropertyInitializer(key: String): CodeBlock?

class Feature(private val info: SourceInfo) : ResourceGeneratorFeature {
class Feature(private val info: SourceInfo) : ResourceGeneratorFeature<ImagesGenerator> {
private val stringsFileTree = info.commonResources.matching {
include("MR/images/**/*.png", "MR/images/**/*.jpg")
}

override fun createCommonGenerator(): MRGenerator.Generator {
override fun createCommonGenerator(): ImagesGenerator {
return CommonImagesGenerator(stringsFileTree)
}

override fun createIosGenerator(): MRGenerator.Generator {
override fun createIosGenerator(): ImagesGenerator {
return IosImagesGenerator(stringsFileTree)
}

override fun createAndroidGenerator(): MRGenerator.Generator {
override fun createAndroidGenerator(): ImagesGenerator {
return AndroidImagesGenerator(
stringsFileTree,
info.androidRClassPackage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,20 +71,20 @@ abstract class PluralsGenerator(
class Feature(
private val info: SourceInfo,
private val iosBaseLocalizationRegion: String
) : ResourceGeneratorFeature {
) : ResourceGeneratorFeature<PluralsGenerator> {
private val stringsFileTree = info.commonResources.matching { include("MR/**/plurals.xml") }
override fun createCommonGenerator(): MRGenerator.Generator {
override fun createCommonGenerator(): PluralsGenerator {
return CommonPluralsGenerator(stringsFileTree)
}

override fun createIosGenerator(): MRGenerator.Generator {
override fun createIosGenerator(): PluralsGenerator {
return IosPluralsGenerator(
stringsFileTree,
iosBaseLocalizationRegion
)
}

override fun createAndroidGenerator(): MRGenerator.Generator {
override fun createAndroidGenerator(): PluralsGenerator {
return AndroidPluralsGenerator(
stringsFileTree,
info.androidRClassPackage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

package dev.icerock.gradle.generator

interface ResourceGeneratorFeature {
fun createCommonGenerator(): MRGenerator.Generator
fun createIosGenerator(): MRGenerator.Generator
fun createAndroidGenerator(): MRGenerator.Generator
interface ResourceGeneratorFeature<T : MRGenerator.Generator> {
fun createCommonGenerator(): T
fun createIosGenerator(): T
fun createAndroidGenerator(): T
}
Original file line number Diff line number Diff line change
Expand Up @@ -66,20 +66,20 @@ abstract class StringsGenerator(
class Feature(
private val info: SourceInfo,
private val iosBaseLocalizationRegion: String
) : ResourceGeneratorFeature {
) : ResourceGeneratorFeature<StringsGenerator> {
private val stringsFileTree = info.commonResources.matching { include("MR/**/strings.xml") }
override fun createCommonGenerator(): MRGenerator.Generator {
override fun createCommonGenerator(): StringsGenerator {
return CommonStringsGenerator(stringsFileTree)
}

override fun createIosGenerator(): MRGenerator.Generator {
override fun createIosGenerator(): StringsGenerator {
return IosStringsGenerator(
stringsFileTree,
iosBaseLocalizationRegion
)
}

override fun createAndroidGenerator(): MRGenerator.Generator {
override fun createAndroidGenerator(): StringsGenerator {
return AndroidStringsGenerator(
stringsFileTree,
info.androidRClassPackage
Expand Down

0 comments on commit 15d564a

Please sign in to comment.