# 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-internal = [
  "run",
  "--revision=before=before",
  "--revision=after=@",
  # Allow running on immutable commits
  "--ignore-changes",
]

compare = [
  "compare-internal",
  "-j2",
  "--",
  "bash",
  "-c",
]

compare-serial = [
  "compare-internal",
  "-j1",
  "--passthrough",
  "--",
  "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}",
]

before-after-serial = [
  "compare-serial",
  "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",
  """
  # We need to use serial because we can't run two performance benchmarks at the same time.
  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-serial && \
  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/**')",
]
