in eng/scripts/sdk_regenerate.py [0:0]
def update_emitter_package(sdk_root: str, typespec_python_root: str):
# find the typespec-python.tgz
typespec_python_tgz = None
for item in (Path(typespec_python_root) / "packages/typespec-python").iterdir():
if "typespec-python" in item.name and item.name.endswith(".tgz"):
typespec_python_tgz = item
break
if not typespec_python_tgz:
logging.error("can not find .tgz for typespec-python")
raise FileNotFoundError("can not find .tgz for typespec-python")
# update the emitter-package.json
emitter_package_folder = Path(sdk_root) / "eng/emitter-package.json"
with open(emitter_package_folder, "r") as f:
emitter_package = json.load(f)
emitter_package["dependencies"]["@azure-tools/typespec-python"] = typespec_python_tgz.absolute().as_posix()
with open(emitter_package_folder, "w") as f:
json.dump(emitter_package, f, indent=2)
# update the emitter-package-lock.json
try:
check_call("tsp-client generate-lock-file", shell=True)
except Exception as e:
logging.error("failed to update emitter-package-lock.json")
logging.error(e)
raise e