blob: 5394e60d1ebe61508a6661a5633d480769d4cfb7 [file]
# 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/**')",
]