Fix flavored build with subproject and configure kotlin for sample su… · deepmedia/Grease@125230a

4 files changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -19,5 +19,6 @@ gradle-android = ["gradle-android-sdk-common", "gradle-android-build", "gradle-a

1919
2020

[plugins]

2121

kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }

22+

kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }

2223

publisher = { id = "io.deepmedia.tools.deployer", version.ref = "publisher" }

2324

android-library = { id = "com.android.library", version.ref = "agp" }

Original file line numberDiff line numberDiff line change

@@ -118,7 +118,11 @@ internal fun Project.createProductFlavorConfigurations(

118118

val buildTypedSubFlavor = nameOf(subFlavor, variant.buildType.orEmpty())

119119

log.d { "Creating buildTyped sub product flavor configuration ${buildTypedSubFlavor.greasify()}..." }

120120

val config = createGrease(buildTypedSubFlavor, isTransitive)

121+

config.attributes {

122+

attribute(BuildTypeAttr.ATTRIBUTE, objects.named(BuildTypeAttr::class, variant.buildType.orEmpty()))

123+

}

121124

config.extendsFromSafely(grease(isTransitive), log)

125+

config.extendsFromSafely(greaseOf(variant.buildType.orEmpty(), isTransitive), log)

122126

config.extendsFromSafely(greaseOf(subFlavor, isTransitive), log)

123127

config.extendsFromSafely(flavorConfiguration, log)

124128

}

@@ -153,6 +157,9 @@ internal fun Project.createVariantConfigurations(

153157

) = androidComponent.onVariants { variant ->

154158

log.d { "Creating variant configuration ${variant.name.greasify()}..." }

155159

val config = createGrease(variant.name, isTransitive)

160+

config.attributes {

161+

attribute(BuildTypeAttr.ATTRIBUTE, objects.named(BuildTypeAttr::class, variant.buildType.orEmpty()))

162+

}

156163

config.extendsFromSafely(grease(isTransitive), log)

157164

config.extendsFromSafely(greaseOf(variant.buildType.orEmpty(), isTransitive), log)

158165

variant.flavorName?.let { flavor ->

Original file line numberDiff line numberDiff line change

@@ -1,5 +1,6 @@

11

plugins {

22

alias(libs.plugins.android.library)

3+

alias(libs.plugins.kotlin.android)

34

}

45
56

android {

@@ -8,6 +9,10 @@ android {

89

defaultConfig {

910

minSdk = 21

1011

}

12+
13+

kotlinOptions {

14+

jvmTarget = "1.8"

15+

}

1116

}

1217
1318

dependencies {

Original file line numberDiff line numberDiff line change

@@ -68,7 +68,5 @@ dependencies {

6868

// Manifest changes, layout resources

6969

grease("com.otaliastudios:cameraview:2.7.2")

7070
71-

// Doesn't work. TODO: we need to configure grease configurations so that in case of multiple matching

72-

// variants, they prefer one where com.android.build.api.attributes.BuildTypeAttr is set to release

73-

// grease(project(":sample-dependency-pure"))

71+

grease(project(":sample-dependency-pure"))

7472

}