Skip to content

Instantly share code, notes, and snippets.

View PaoloMilano's full-sized avatar

PaoloMilano

View GitHub Profile
package extensions
import com.android.build.gradle.AppExtension
import com.android.build.gradle.BaseExtension
import com.android.build.gradle.FeatureExtension
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.api.BaseVariant
import org.gradle.api.DomainObjectSet
import org.gradle.api.GradleException
import org.gradle.api.Project
import extensions.writeXlmWithTags
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
import java.io.File
internal open class ColorsTask : DefaultTask(){
@get:OutputFile
lateinit var outputFile: File
import extensions.android
import extensions.variants
import org.gradle.api.Plugin
import org.gradle.api.Project
import java.io.File
internal class MyFirstPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.android().variants().all { variant ->
import extensions.android
import extensions.variants
import org.gradle.api.Plugin
import org.gradle.api.Project
internal class MyFirstPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.android().variants().all { variant ->
@get:Input
val colorsMap = mapOf(
"color1" to "#00ff00",
"color2" to "#ff0000",
"color3" to "#00ffff",
"color4" to "#00ffff"
)
String dimen = "palette"
flavorDimensions dimen
productFlavors {
reds { dimension dimen }
greens { dimension dimen }
}
color1,#00ff00
color2,#20ab06
color3,#0d4402
color1,#ff0000
color2,#9f0101
color3,#450101
import android.databinding.tool.util.StringUtils
import java.util.*
import java.util.regex.Pattern
fun getAllPossibleFileLocationsByVariantDirectory(variantDirname: String): List<String> {
val VARIANT_PATTERN =
Pattern.compile("""(?:([^\p{javaUpperCase}]+)((?:\p{javaUpperCase}[^\p{javaUpperCase}]*)*)/)?([^/]*)""")
val FLAVOR_PATTERN = Pattern.compile("""(\p{javaUpperCase}[^\p{javaUpperCase}]*)""")
import extensions.writeXlmWithTags
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
import java.io.File
internal open class ColorsTask : DefaultTask(){
@get:OutputFile
lateinit var outputFile: File