Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=72f44c9f8ebcb1af43838f45ee5c4aa9c5444898b3468ab3f4af7b6076c5bc3f
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
distributionSha256Sum=60ea723356d81263e8002fec0fcf9e2b0eee0c0850c7a3d7ab0a63f2ccc601f3
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
2 changes: 1 addition & 1 deletion gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ package com.github.gmazzo.buildconfig

import com.github.gmazzo.buildconfig.generators.BuildConfigJavaGenerator
import com.github.gmazzo.buildconfig.generators.BuildConfigKotlinGenerator
import com.github.gmazzo.buildconfig.internal.BuildConfigExtensionInternal
import com.github.gmazzo.buildconfig.internal.BuildConfigSourceSetInternal
import com.github.gmazzo.buildconfig.internal.DefaultBuildConfigExtension
import com.github.gmazzo.buildconfig.internal.DefaultBuildConfigSourceSet
import com.github.gmazzo.buildconfig.internal.bindings.AndroidBinder
import com.github.gmazzo.buildconfig.internal.bindings.JavaBinder
import com.github.gmazzo.buildconfig.internal.bindings.KotlinBinder
Expand All @@ -16,8 +14,6 @@ import org.gradle.api.DomainObjectCollection
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.plugins.PluginContainer
import org.gradle.api.tasks.SourceSet
import org.gradle.kotlin.dsl.domainObjectContainer
import org.gradle.kotlin.dsl.newInstance
import org.gradle.kotlin.dsl.register
import org.gradle.util.GradleVersion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ public abstract class BuildConfigTask : DefaultTask() {
@get:OutputDirectory
public abstract val outputDir: DirectoryProperty

private var supersededBy: String? = null

init {
onlyIf("There are build config fields to generate") { task ->
(task as BuildConfigTask).specs.get()
Expand All @@ -31,6 +33,8 @@ public abstract class BuildConfigTask : DefaultTask() {

@TaskAction
public fun generateBuildConfigFile() {
check(supersededBy == null) { "This has been superseeded by $supersededBy" }

val dir = outputDir.get().asFile
dir.deleteRecursively()

Expand All @@ -57,4 +61,8 @@ public abstract class BuildConfigTask : DefaultTask() {
}
}

internal fun supersededBy(other: BuildConfigClassSpec) {
this.supersededBy = other.name
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,7 @@ import com.github.gmazzo.buildconfig.BuildConfigType
import com.github.gmazzo.buildconfig.BuildConfigValue
import com.github.gmazzo.buildconfig.internal.asVarArg
import com.github.gmazzo.buildconfig.internal.elements
import com.squareup.javapoet.ArrayTypeName
import com.squareup.javapoet.ClassName
import com.squareup.javapoet.FieldSpec
import com.squareup.javapoet.JavaFile
import com.squareup.javapoet.MethodSpec
import com.squareup.javapoet.ParameterizedTypeName
import com.squareup.javapoet.TypeName
import com.squareup.javapoet.TypeSpec
import com.squareup.javapoet.WildcardTypeName
import com.squareup.javapoet.*
import java.io.File
import java.net.URI as JavaURI
import javax.lang.model.element.Modifier
Expand Down Expand Up @@ -181,7 +173,7 @@ public open class BuildConfigJavaGenerator(

return when (this) {
TypeName.LONG, ClassName.get(String::class.java) -> singleFormat()
is ArrayTypeName -> elements.format("{", "}", componentType)
is ArrayTypeName -> elements.format("{", "}", null)
LIST, GENERIC_LIST -> listFormat(null)
SET, GENERIC_SET -> setFormat(null)
MAP, GENERIC_MAP -> mapFormat(null, null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,38 +7,8 @@ import com.github.gmazzo.buildconfig.BuildConfigType
import com.github.gmazzo.buildconfig.BuildConfigValue
import com.github.gmazzo.buildconfig.internal.asVarArg
import com.github.gmazzo.buildconfig.internal.elements
import com.squareup.kotlinpoet.ARRAY
import com.squareup.kotlinpoet.BOOLEAN
import com.squareup.kotlinpoet.BOOLEAN_ARRAY
import com.squareup.kotlinpoet.BYTE
import com.squareup.kotlinpoet.BYTE_ARRAY
import com.squareup.kotlinpoet.CHAR
import com.squareup.kotlinpoet.CHAR_ARRAY
import com.squareup.kotlinpoet.ClassName
import com.squareup.kotlinpoet.DOUBLE
import com.squareup.kotlinpoet.DOUBLE_ARRAY
import com.squareup.kotlinpoet.FLOAT
import com.squareup.kotlinpoet.FLOAT_ARRAY
import com.squareup.kotlinpoet.FileSpec
import com.squareup.kotlinpoet.INT
import com.squareup.kotlinpoet.INT_ARRAY
import com.squareup.kotlinpoet.KModifier
import com.squareup.kotlinpoet.LIST
import com.squareup.kotlinpoet.LONG
import com.squareup.kotlinpoet.LONG_ARRAY
import com.squareup.kotlinpoet.MAP
import com.squareup.kotlinpoet.ParameterizedTypeName
import com.squareup.kotlinpoet.*
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
import com.squareup.kotlinpoet.PropertySpec
import com.squareup.kotlinpoet.SET
import com.squareup.kotlinpoet.SHORT
import com.squareup.kotlinpoet.SHORT_ARRAY
import com.squareup.kotlinpoet.STAR
import com.squareup.kotlinpoet.STRING
import com.squareup.kotlinpoet.TypeName
import com.squareup.kotlinpoet.TypeSpec
import com.squareup.kotlinpoet.asClassName
import com.squareup.kotlinpoet.asTypeName
import java.io.File
import java.net.URI as JavaURI
import org.gradle.api.logging.Logging
Expand Down Expand Up @@ -229,7 +199,7 @@ public open class BuildConfigKotlinGenerator(
SET, GENERIC_SET -> setFormat(null)
MAP, GENERIC_MAP -> mapFormat(null, null)
is ParameterizedTypeName -> when (nonNullable.rawType) {
ARRAY -> arrayFormat(nonNullable.typeArguments[0])
ARRAY -> arrayFormat(null)
LIST, GENERIC_LIST -> listFormat(nonNullable.typeArguments[0])
SET, GENERIC_SET -> setFormat(nonNullable.typeArguments[0])
MAP, GENERIC_MAP -> mapFormat(nonNullable.typeArguments[0], nonNullable.typeArguments[1])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ internal abstract class DefaultBuildConfigSourceSet(
if (!isSuperseded) {
isSuperseded = true
generateTask.configure {
it.doFirst { error("'${this@DefaultBuildConfigSourceSet.name}' was superseded by '${other.name}' source set") }
supersededBy(other)
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
package org.gradle.kotlin.dsl

import com.github.gmazzo.buildconfig.BuildConfigClassSpec
import com.github.gmazzo.buildconfig.BuildConfigDsl
import com.github.gmazzo.buildconfig.BuildConfigField
import com.github.gmazzo.buildconfig.BuildConfigSourceSet
import com.github.gmazzo.buildconfig.BuildConfigValue
import com.github.gmazzo.buildconfig.*
import java.io.Serializable
import kotlin.reflect.typeOf
import org.gradle.api.Action
Expand Down Expand Up @@ -42,7 +38,7 @@ public inline fun <reified Type : Serializable> BuildConfigClassSpec.buildConfig

@BuildConfigDsl
@JvmName("buildConfigFieldExpression")
public inline fun <reified Type : Any?> BuildConfigClassSpec.buildConfigField(
public inline fun <reified Type> BuildConfigClassSpec.buildConfigField(
name: String,
expression: BuildConfigValue.Expression,
): BuildConfigField = buildConfigField(name) {
Expand All @@ -52,7 +48,7 @@ public inline fun <reified Type : Any?> BuildConfigClassSpec.buildConfigField(

@BuildConfigDsl
@JvmName("buildConfigFieldExpression")
public inline fun <reified Type : Any?> BuildConfigClassSpec.buildConfigField(
public inline fun <reified Type> BuildConfigClassSpec.buildConfigField(
name: String,
expression: Provider<BuildConfigValue.Expression>,
): BuildConfigField = buildConfigField(name) {
Expand Down
Loading