| #!/usr/bin/env python3 |
| # Copyright 2020 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| """ |
| copy fidlgen's fidl/compiler/backend/common/identifiers.go from fuchsia.git |
| |
| This script copies the `identifiers.go` file from the fildgen `common` package |
| in fuchsia.git. This is used to share common FIDL library identifier code with |
| the fidlgens. It should be run on build to maintain freshness. |
| |
| TODO: it would be better if we could just directly import the `common` package. |
| |
| The script assumes that it is run from the fidl-lsp root |
| directory. |
| """ |
| import os |
| from pathlib import Path |
| from shutil import copyfile |
| |
| FUCHSIA_DIR = os.getenv('FUCHSIA_DIR') |
| FIDLGEN_COMMON_PATH = 'garnet/go/src/fidl/compiler/backend/common/identifiers.go' |
| |
| |
| def copy_fidlgen_common(): |
| project_root = path = Path.cwd() |
| assert project_root.name == 'fidl-lsp', 'Script should be run from fidl-lsp root directory' |
| Path(f'{project_root}/third_party/common').mkdir(exist_ok=True) |
| copyfile(f'{FUCHSIA_DIR}/{FIDLGEN_COMMON_PATH}', f'{project_root}/third_party/common/identifiers.go') |
| |
| |
| if __name__ == '__main__': |
| copy_fidlgen_common() |