forked from mirrors/jj
cli: add BUILD files
The `grammar` macro from `pest_derive` doesn't actually interpret the given file as relative in our case, so we have to give it the fully qualified relative path which exists in the `buck-out/` dir. Signed-off-by: Austin Seipp <aseipp@pobox.com>
This commit is contained in:
parent
38fe6fcb29
commit
d4cce209d8
5 changed files with 126 additions and 0 deletions
38
cli/BUILD
Normal file
38
cli/BUILD
Normal file
|
@ -0,0 +1,38 @@
|
|||
|
||||
load("//buck/shims/jj.bzl", "jj")
|
||||
load("//cli/BUILD.deps.bzl", "JJ_CLI_DEPS")
|
||||
|
||||
alias(
|
||||
# NOTE: default target for this package
|
||||
name = 'cli',
|
||||
actual = ':jj',
|
||||
)
|
||||
|
||||
jj.rust_library(
|
||||
name = "jj-cli",
|
||||
srcs = glob([
|
||||
"src/**/*.rs",
|
||||
"src/**/*.toml",
|
||||
"src/**/*.json",
|
||||
"src/**/*.pest",
|
||||
], exclude = [
|
||||
"**/main.rs"
|
||||
]),
|
||||
|
||||
features = [
|
||||
"watchman",
|
||||
"git",
|
||||
],
|
||||
|
||||
deps = JJ_CLI_DEPS,
|
||||
)
|
||||
|
||||
jj.rust_binary(
|
||||
name = 'jj',
|
||||
srcs = ['src/main.rs'],
|
||||
features = [
|
||||
"watchman",
|
||||
"git",
|
||||
],
|
||||
deps = [ ":jj-cli" ] + JJ_CLI_DEPS,
|
||||
)
|
55
cli/BUILD.deps.bzl
Normal file
55
cli/BUILD.deps.bzl
Normal file
|
@ -0,0 +1,55 @@
|
|||
|
||||
JJ_CLI_DEPS = [
|
||||
# CARGO-SYNC-START: dependencies
|
||||
'//lib:jj-lib',
|
||||
'third-party//rust:bstr',
|
||||
'third-party//rust:chrono',
|
||||
'third-party//rust:clap',
|
||||
'third-party//rust:clap-markdown',
|
||||
'third-party//rust:clap_complete',
|
||||
'third-party//rust:clap_complete_nushell',
|
||||
'third-party//rust:clap_mangen',
|
||||
'third-party//rust:config',
|
||||
'third-party//rust:criterion',
|
||||
'third-party//rust:crossterm',
|
||||
'third-party//rust:dirs',
|
||||
'third-party//rust:dunce',
|
||||
'third-party//rust:esl01-renderdag',
|
||||
'third-party//rust:futures',
|
||||
'third-party//rust:git2',
|
||||
'third-party//rust:gix',
|
||||
'third-party//rust:hex',
|
||||
'third-party//rust:indexmap',
|
||||
'third-party//rust:indoc',
|
||||
'third-party//rust:itertools',
|
||||
'third-party//rust:maplit',
|
||||
'third-party//rust:minus',
|
||||
'third-party//rust:once_cell',
|
||||
'third-party//rust:pest',
|
||||
'third-party//rust:pest_derive',
|
||||
'third-party//rust:pollster',
|
||||
'third-party//rust:rayon',
|
||||
'third-party//rust:regex',
|
||||
'third-party//rust:rpassword',
|
||||
'third-party//rust:scm-record',
|
||||
'third-party//rust:serde',
|
||||
'third-party//rust:slab',
|
||||
'third-party//rust:strsim',
|
||||
'third-party//rust:tempfile',
|
||||
'third-party//rust:textwrap',
|
||||
'third-party//rust:thiserror',
|
||||
'third-party//rust:timeago',
|
||||
'third-party//rust:toml_edit',
|
||||
'third-party//rust:tracing',
|
||||
'third-party//rust:tracing-chrome',
|
||||
'third-party//rust:tracing-subscriber',
|
||||
'third-party//rust:unicode-width',
|
||||
# CARGO-SYNC-END
|
||||
] + select({
|
||||
"config//os:windows": [],
|
||||
"DEFAULT": [
|
||||
# CARGO-SYNC-START: dependencies@cfg(unix)
|
||||
'third-party//rust:libc',
|
||||
# CARGO-SYNC-END
|
||||
],
|
||||
})
|
4
cli/PACKAGE
Normal file
4
cli/PACKAGE
Normal file
|
@ -0,0 +1,4 @@
|
|||
|
||||
package(
|
||||
visibility = [ 'PUBLIC' ],
|
||||
)
|
23
cli/examples/BUILD
Normal file
23
cli/examples/BUILD
Normal file
|
@ -0,0 +1,23 @@
|
|||
|
||||
load("//buck/shims/jj.bzl", "jj")
|
||||
load("//cli/BUILD.deps.bzl", "JJ_CLI_DEPS")
|
||||
|
||||
EXAMPLES = [
|
||||
'custom-backend',
|
||||
'custom-command',
|
||||
'custom-commit-templater',
|
||||
'custom-global-flag',
|
||||
'custom-operation-templater',
|
||||
'custom-working-copy',
|
||||
]
|
||||
|
||||
[
|
||||
jj.rust_binary(
|
||||
name = name,
|
||||
srcs = glob(["{}/**/*.rs".format(name)]),
|
||||
deps = [
|
||||
"//cli:jj-cli",
|
||||
"third-party//rust:async-trait",
|
||||
] + JJ_CLI_DEPS,
|
||||
) for name in EXAMPLES
|
||||
]
|
|
@ -40,6 +40,12 @@ use pest::Parser;
|
|||
use pest_derive::Parser;
|
||||
use thiserror::Error;
|
||||
|
||||
#[cfg(buck_build)]
|
||||
#[derive(Parser)]
|
||||
#[grammar = "cli/src/template.pest"]
|
||||
struct TemplateParser;
|
||||
|
||||
#[cfg(not(buck_build))]
|
||||
#[derive(Parser)]
|
||||
#[grammar = "template.pest"]
|
||||
struct TemplateParser;
|
||||
|
|
Loading…
Reference in a new issue