fork download
  1. import java.util.*
  2.  
  3. fun main(args: Array<String>) {
  4. val environment = "dev"
  5. val projectName = "whoamiMn"
  6. val regex = """(environments:
  7. |(?:\R\h{2}.*)*?\R\h{2}$environment:
  8. |(?:\R\h{4}.*)*?\R\h{6}-\h*$projectName:
  9. |(?:\R\h{10}.*)*?\R\h{10}
  10. |version:\h*)\S+
  11. """.trimMargin().toRegex(RegexOption.COMMENTS)
  12. //println(regex)
  13. val helmfileContent = """environments:
  14. local:
  15. values:
  16. - kubeContext: default
  17. - surfScreenshotter:
  18. installed: false
  19. version: 0
  20. - whoamiMn:
  21. installed: false
  22. version: 0
  23. dev:
  24. values:
  25. - kubeContext: nuc
  26. - surfScreenshotter:
  27. installed: false
  28. version: 0
  29. - whoamiMn:
  30. installed: false
  31. version: 0"""
  32. val version = "1.2.4"
  33. val updatedHelmfile = regex.replaceFirst(helmfileContent, "$1" + version)
  34. println(updatedHelmfile)
  35.  
  36. }
Success #stdin #stdout 0.13s 39432KB
stdin
Standard input is empty
stdout
environments:
  local:
    values:
      - kubeContext: default
      - surfScreenshotter:
          installed: false
          version: 0
      - whoamiMn:
          installed: false
          version: 0
  dev:
    values:
      - kubeContext: nuc
      - surfScreenshotter:
          installed: false
          version: 0
      - whoamiMn:
          installed: false
          version: 1.2.4