sapling/eden/DEFS
Philip Jameson 8604b8f5b0 Migrate TARGETS files from @/ to //
Summary:
This is a codemod to change from using @/ to // in basic cases.
- TARGETS files with lines starting with @/ (but excluding @/third-party:
- autodeps lines in source and TARGETS files ( (dep|manual)=@/ ), excluding @/third-party
- Targets in string macros

The only thing left of the old format should be @/third-party:foo:bar

drop-conflicts

Reviewed By: ttsugriy

Differential Revision: D6605465

fbshipit-source-id: ae50de2e1edb3f97c0b839d4021f38d77b7ab64c
2017-12-20 16:57:41 -08: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
}