Format Mermaid SVG numbers with Locale.ROOT

SimpleMermaidRenderer built SVG coordinates with
String.format("%.1f", ...) under the default locale, so on a JVM whose
region uses a comma decimal separator (e.g. de_DE) it emitted "28,0"
instead of "28.0". SVG requires '.' as the decimal separator, so that
markup is invalid; the renderer tests, which reparse coordinates with
Double.parseDouble, throw NumberFormatException for the same reason.

Pass Locale.ROOT to every String.format call so numeric output is
always '.'-separated and independent of the machine locale.

Alternative considered: forcing an en-US locale from .bazelrc or
overriding the JVM/system default locale. That does not make the
renderer correct on its own, and it still leaves production output
dependent on process-wide locale configuration. The formatting point
that emits SVG numbers should declare its locale explicitly instead.

Change-Id: Ia493dd426d3a1dffb5b7059df69c5a0001b1dab1
1 file changed
tree: 0a00423416fc67f671ff4656589e8c8e0c96c7a2
  1. .settings/
  2. Documentation/
  3. java/
  4. javatests/
  5. lib/
  6. modules/
  7. resources/
  8. tools/
  9. .bazelignore
  10. .bazelrc
  11. .bazelversion
  12. .gitignore
  13. .gitmodules
  14. .mailmap
  15. .zuul.yaml
  16. BUILD
  17. COPYING
  18. external_deps.lock.json
  19. fake_pom_deploy.xml
  20. MODULE.bazel
  21. MODULE.bazel.lock
  22. navbar.md
  23. README.md
  24. version.bzl
README.md

Gitiles - A simple JGit repository browser

Gitiles is a simple repository browser for Git repositories, built on JGit. Its guiding principle is simplicity: it has no formal access controls, no write access, no fancy Javascript, etc.

Gitiles automatically renders *.md Markdown files into HTML for simplified documentation. Refer to the Markdown documentation for details.

Configuration

Gitiles is configurable in a git-style configuration file named gitiles.config. Refer to the configuration documentation for details.

Bugs

Use gerrit's issue tracker to file bugs.

Contributing to Gitiles

Please refer to the Developer Guide.