# Jujutsu configuration for repository-specific jj features.
# Schema: https://docs.jj-vcs.dev/latest/config-schema.json
#
# To enable this configuration, symlink it to your local repo config:
# `ln -sf $(pwd)/tools/jj/config.toml $(jj config path --repo)`

[revset-aliases]
"trunk()" = "main@origin"
"before" = "trunk()"

# For users of jj-on-piper, this is enabled by default for *all* repos.
# We want GN's formatters, not google3's.
[fix.tools.google3format]
enabled = false
# If you're not using the google-internal jj, this will complain that
# google3format is an invalid fix tool because it has no command/patterns
command = ["/dev/null"]
patterns = ["null"]

[aliases]
compare = [
  "run",
  "-j2",
  "--revision=before=before",
  "--revision=after=@",
  # Allow running on immutable commits
  "--ignore-changes",
  "--",
  "bash",
  "-c",
]

# Runs ninja on /tmp/before and /tmp/after
before-after = [
  "compare",
  "python3 build/gen.py --out-path=/tmp/$JJ_LABEL ${GN_OPTS:-} && ninja -C /tmp/$JJ_LABEL ${NINJA_TARGETS:-gn}",
]

compare-perf = [
  "util",
  "exec",
  "--",
  "bash",
  "-c",
  """
  GN_OPTS="--gen=${SRC:-$HOME/chromium/src}=${OUT_DIR:-out/\\$JJ_LABEL}" \
  NINJA_TARGETS=gen_bench \
  jj --config "revset-aliases.before=\\"${BEFORE:-trunk()}\\"" before-after && \
  python3 "$JJ_WORKSPACE_ROOT/tools/compare_traces.py" \
    --before /tmp/before/gen_bench_[0-9]*.trace \
    --after  /tmp/after/gen_bench_[0-9]*.trace
  """,
]

[fix.tools.clang-format]
command = ["clang/bin/clang-format", "--assume-filename=$path"]
patterns = [
  "glob:'src/**/*.cc' ~ (glob:'**/third_party/**' | glob:'**/vendor/**')",
  "glob:'src/**/*.h' ~ (glob:'**/third_party/**' | glob:'**/vendor/**')",
]

[fix.tools.rustfmt]
command = ["bash", "tools/jj/rustfmt.sh"]
patterns = [
  "glob:'src/gn/starlark/**/*.rs' ~ (glob:'**/third_party/**' | glob:'**/vendor/**')",
]
