sapling/eden/DEFS
Adam Simpkins 44179e7807 rename the CLI rule from cli to eden
Summary:
Rename the rule for the Eden CLI script from `cli` to `eden`.  This way the
generated par file will be named `eden.par` rather than `cli.par`.  This seems
like it will be slightly less confusing to new developers starting to work on
Eden--currently it doesn't seem particularly intuitive that `cli.par` gets
installed as `eden`.

Reviewed By: bolinfest

Differential Revision: D7658023

fbshipit-source-id: 7afc5e0b703d02751b509efe42f8b8be1f56bbc1
2018-04-18 21:00:39 -07:00

64 lines
2.0 KiB
Plaintext

# This file contains macros that are shared across Eden.
def is_facebook_internal():
return read_config('codebase', 'mode') != 'public'
def get_fb_suffix():
'''Build rule suffix to use for Facebook-specific build targets.'''
# Internally at Facebook, it is convenient for the canonical version of an
# Eden build target to have no special suffix so that it can match the
# directory in which it is defined.
return '' if is_facebook_internal() else '-fb'
def get_oss_suffix():
'''Build rule suffix to use for open-source-specific build targets.'''
# Outside of Facebook, it is convenient for the canonical version of an
# Eden build target to have no special suffix so that it can match the
# directory in which it is defined.
return '-oss' if is_facebook_internal() else ''
def get_daemon_versions():
'''List of configurations to aid in creating dual build rules.
Returns:
An array of tuples where the first member is a build target for the
daemon and the second member is the suffix to use for other templated
build target names.
'''
return [
('//eden/fs/service:edenfs%s' % suffix, suffix)
for suffix in [get_fb_suffix(), get_oss_suffix()]
]
def get_test_env_and_deps(suffix=''):
'''Returns env vars and a dep list that is useful for locating various
build products from inside our tests'''
daemon_target = '//eden/fs/service:edenfs%s' % suffix
env_to_target = {
'EDENFS_CLI_PATH': '//eden/cli:eden',
'EDENFS_SERVER_PATH': daemon_target,
'EDENFS_POST_CLONE_PATH': '//eden/hooks/hg:post-clone',
'EDENFS_FSATTR_BIN': '//eden/integration:fsattr',
'EDENFS_HG_IMPORT_HELPER': '//eden/fs/store/hg:hg_import_helper',
'EDEN_HG_BINARY': '//scm/hg:hg',
}
envs = {
'EDENFS_SUFFIX': suffix,
}
deps = []
for name, dep in sorted(env_to_target.items()):
envs[name] = '$(location %s)' % dep
deps.append(dep)
return {
'env': envs,
'deps': deps
}