unknown
unknown

Reputation: 1893

How to use MapBuilder in kotlin and add all values?

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

Answers (1)

s1m0nw1
s1m0nw1

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

Related Questions