mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
44179e7807
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
64 lines
2.0 KiB
Plaintext
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
|
|
}
|