in scripts/setup.py [0:0]
def setup(runner_type: Type[Setup]) -> None:
logging.basicConfig(
level=logging.INFO, format="[%(asctime)s] [%(levelname)s] %(message)s"
)
parser = argparse.ArgumentParser(description="Set up Pyre.")
parser.add_argument("--pyre-directory", type=Path)
parser.add_argument("--local", action="store_true")
parser.add_argument("--temporary_root", action="store_true")
parser.add_argument("--opam-root", type=Path)
parser.add_argument("--configure", action="store_true")
parser.add_argument("--environment-only", action="store_true")
parser.add_argument("--development", action="store_true")
parser.add_argument("--release", action="store_true")
parser.add_argument("--build-type", type=BuildType)
parser.add_argument("--no-tests", action="store_true")
parsed = parser.parse_args()
pyre_directory = parsed.pyre_directory
if not pyre_directory:
pyre_directory = Path(__file__).parent.parent.absolute()
opam_root = _make_opam_root(parsed.local, parsed.temporary_root, parsed.opam_root)
runner = runner_type(
opam_root=opam_root, development=parsed.development, release=parsed.release
)
if parsed.configure:
runner.produce_dune_file(pyre_directory, parsed.build_type)
compiler_override = runner.compiler_override
if compiler_override:
runner.run(
[
"opam",
"switch",
"set",
compiler_override,
"--root",
runner.opam_root.as_posix(),
]
)
elif parsed.environment_only:
runner.produce_dune_file(pyre_directory, parsed.build_type)
runner.initialize_opam_switch()
LOG.info("Environment built successfully, stopping here as requested.")
else:
runner.full_setup(
pyre_directory,
run_tests=not parsed.no_tests,
build_type_override=parsed.build_type,
)