Skip to content

Commit 0e1538b

Browse files
authored
Read optional properties from ExtraPropertiesExtension (#1877)
1 parent 6e20142 commit 0e1538b

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

  • src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal

src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/GradleCompat.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import org.gradle.api.component.ConfigurationVariantDetails
1212
import org.gradle.api.distribution.DistributionContainer
1313
import org.gradle.api.file.ConfigurableFileCollection
1414
import org.gradle.api.model.ObjectFactory
15+
import org.gradle.api.plugins.ExtraPropertiesExtension
1516
import org.gradle.api.plugins.JavaApplication
1617
import org.gradle.api.plugins.JavaPlugin
1718
import org.gradle.api.plugins.JavaPluginExtension
@@ -45,9 +46,12 @@ internal inline val Project.javaPluginExtension: JavaPluginExtension
4546
internal inline val Project.javaToolchainService: JavaToolchainService
4647
get() = extensions.getByType(JavaToolchainService::class.java)
4748

48-
@Suppress("GradleProjectIsolation") // TODO: https://github.com/gradle/gradle/issues/23572
49-
internal fun Project.findOptionalProperty(propertyName: String): String? = providers.gradleProperty(propertyName).orNull
50-
?: findProperty(propertyName)?.toString()
49+
// ExtraPropertiesExtension is IP safe and contains properties from both the root `gradle.properties` and the
50+
// subproject's `gradle.properties`. See https://github.com/gradle/gradle/issues/29600#issuecomment-3580868326.
51+
internal fun Project.findOptionalProperty(propertyName: String): String? {
52+
val extras = checkNotNull(extensions.findByType(ExtraPropertiesExtension::class.java))
53+
return if (extras.has(propertyName)) extras.get(propertyName)?.toString() else null
54+
}
5155

5256
internal fun Project.addBuildScanCustomValues() {
5357
val develocity = extensions.findByType(DevelocityConfiguration::class.java) ?: return

0 commit comments

Comments
 (0)