Reputation: 1893
I am trying to convert/add below java code in bamboo spec in kotlin but geeting error.Can someone let me know how to use it in KOTLIN?How to use mapbuilder in kotlin which they are using in java.
new AnyTask(new AtlassianModule("ch.mibex.bamboo.sonar4bamboo:sonar4bamboo.gradletask"))
.description("Sonar Gradle")
.configuration(new MapBuilder()
.put("chosenSonarConfigId", "1")
.put("useGradleWrapper", "true")
.put("useNewGradleSonarQubePlugin", "true")
.put("sonarJavaSource", "")
.put("sonarProjectName", "")
.put("buildJdk", "JDK")
.put("gradleWrapperLocation", "${bamboo.build.working.directory}\\XYZ\\gradlew.bat")
.put("sonarLanguage", "")
.put("sonarSources", "")
.put("useGlobalSonarServerConfig", "true")
.put("failBuildForBrokenQualityGates", "")
.put("sonarTests", "")
.put("failBuildForSonarErrors", "")
.put("sonarProjectVersion", "")
.put("sonarBranch", "")
.put("executable", "")
.put("illegalBranchCharsReplacement", "_")
.put("sonarJavaTarget", "")
.put("environmentVariables", "")
.put("replaceSpecialBranchChars", "")
.put("additionalProperties", "")
.put("autoBranch", "")
.put("sonarProjectKey", "")
.put("overrideSonarBuildConfig", "")
.put("workingSubDirectory", "XYZ")
.build()))
I think I need to use MapBuilder in kotlin but I don't know how to use it and all values
In kotlin
AnyTask(AtlassianModule("ch.mibex.bamboo.sonar4bamboo:sonar4bamboo.gradletask"))
.description("Sonar Gradle").configuration(MapBuilder()
.put("chosenSonarConfigId", "1")
.put("useGradleWrapper", "true")
.put("useNewGradleSonarQubePlugin", "true")
.put("sonarJavaSource", "")
.put("sonarProjectName", "")
.put("buildJdk", "JDK")
.put("gradleWrapperLocation", "\${bamboo.build.working.directory}/gradlew.bat")
.put("sonarLanguage", "")
.put("sonarSources", "")
.put("useGlobalSonarServerConfig", "true")
.put("failBuildForBrokenQualityGates", "")
.put("sonarTests", "")
.put("failBuildForSonarErrors", "")
.put("sonarProjectVersion", "")
.put("sonarBranch", "")
.put("executable", "")
.put("illegalBranchCharsReplacement", "_")
.put("sonarJavaTarget", "")
.put("environmentVariables", "")
.put("replaceSpecialBranchChars", "")
.put("additionalProperties", "")
.put("autoBranch", "")
.put("sonarProjectKey", "")
.put("overrideSonarBuildConfig", "")
.put("workingSubDirectory", "")
.build())
Upvotes: 2
Views: 1865
Reputation: 81939
To solve that, you should specify the types, as suggested:
configuration(MapBuilder<String,String>().put...
But, there's a more straightforward way in Kotlin using its mapOf
:
mapOf("chosenSonarConfigId" to "1",
"useNewGradleSonarQubePlugin" to "true",
"sonarJavaSource" to "true"
//...
)
Upvotes: 6