sapling/eden/DEFS
Adam Simpkins ce0ce6fa4e move eden/fs/cli to eden/cli
Summary:
Move the code for the command-line tool up one directory, out of eden/fs.
This better separates the code so that eden/fs contains code for the edenfs
daemon, while eden/cli contains code for the command line tool.

Reviewed By: bolinfest

Differential Revision: D4888633

fbshipit-source-id: 5041e292c5353d05122eefe5db3257289e31239a
2017-04-14 11:39:01 -07:00

62 lines
1.9 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:cli',
'EDENFS_SERVER_PATH': daemon_target,
'EDENFS_POST_CLONE_PATH': '@/eden/hooks/hg:post-clone',
'EDENFS_LAME_THRIFT_PAR': '@/eden/fs/service:thrift-EdenService-pyremote',
}
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
}