diff --git a/CHANGELOG.md b/CHANGELOG.md index 625a3233d9..68a715662a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ ### Fixed +- Sonar is using providers instead of real values + ### Updated ## [0.5.0-alpha.13] - 2023-05-06 diff --git a/hubdle-gradle-plugin/main/kotlin/com/javiersc/hubdle/project/extensions/config/analysis/HubdleConfigAnalysisExtension.kt b/hubdle-gradle-plugin/main/kotlin/com/javiersc/hubdle/project/extensions/config/analysis/HubdleConfigAnalysisExtension.kt index c0f8dd5d80..f4c923bd17 100644 --- a/hubdle-gradle-plugin/main/kotlin/com/javiersc/hubdle/project/extensions/config/analysis/HubdleConfigAnalysisExtension.kt +++ b/hubdle-gradle-plugin/main/kotlin/com/javiersc/hubdle/project/extensions/config/analysis/HubdleConfigAnalysisExtension.kt @@ -6,7 +6,6 @@ import com.android.build.api.dsl.ApplicationProductFlavor import com.android.build.api.dsl.LibraryBuildType import com.android.build.api.dsl.LibraryExtension import com.android.build.api.dsl.LibraryProductFlavor -import com.javiersc.gradle.properties.extensions.getProperty import com.javiersc.gradle.properties.extensions.getStringProperty import com.javiersc.gradle.properties.extensions.setProperty import com.javiersc.gradle.tasks.extensions.maybeRegisterLazily @@ -32,6 +31,7 @@ import org.gradle.api.Action import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.provider.Property +import org.gradle.api.provider.Provider import org.gradle.api.provider.SetProperty import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.findByType @@ -146,40 +146,30 @@ constructor( project.getStringProperty(HubdleProperty.Project.rootProjectDirName) project.configure { properties { properties -> - properties.property( - "sonar.projectName", + val projectName: Provider = project .getStringProperty(Sonar.projectName) .orElse(rootProjectDirName) .orElse(project.name) - ) - properties.property( - "sonar.projectKey", + properties.property("sonar.projectName", projectName.get()) + val projectKey: Provider = project .getStringProperty(Sonar.projectName) .orElse(rootProjectDirName) .orElse("${project.group}:${project.name}") - ) - properties.property( - "sonar.login", - project.getProperty(Sonar.login), - ) - properties.property( - "sonar.host.url", + properties.property("sonar.projectKey", projectKey.get()) + val login: Provider = project.getStringProperty(Sonar.login) + properties.property("sonar.login", login.get()) + val hostUrl: Provider = project.getStringProperty(Sonar.hostUrl).orElse("https://sonarcloud.io") - ) - properties.property( - "sonar.organization", + properties.property("sonar.host.url", hostUrl.get()) + val organization: Provider = project.getStringProperty(Sonar.organization).orElse("") - ) - properties.property( - "sonar.kotlin.detekt.reportPaths", - "${project.buildDir}/reports/detekt/detekt.xml" - ) - properties.property( - "sonar.coverage.jacoco.xmlReportPaths", - "${project.buildDir}/reports/kover/xml/report.xml" - ) + properties.property("sonar.organization", organization.get()) + val detektReportPath = "${project.buildDir}/reports/detekt/detekt.xml" + properties.property("sonar.kotlin.detekt.reportPaths", detektReportPath) + val jacocoXmlReportPaths = "${project.buildDir}/reports/kover/xml/report.xml" + properties.property("sonar.coverage.jacoco.xmlReportPaths", jacocoXmlReportPaths) project.configureAndroidLintReportPaths(properties)