diff --git a/.generator/cli.py b/.generator/cli.py index f52d3019e2d6..30d22cc61a82 100644 --- a/.generator/cli.py +++ b/.generator/cli.py @@ -369,12 +369,13 @@ def _copy_files_needed_for_post_processing( path_to_library = f"packages/{library_id}" if is_mono_repo else "." source_dir = f"{input}/{path_to_library}" - shutil.copytree( - source_dir, - output, - dirs_exist_ok=True, - ignore=shutil.ignore_patterns("client-post-processing"), - ) + if Path(source_dir).exists(): + shutil.copytree( + source_dir, + output, + dirs_exist_ok=True, + ignore=shutil.ignore_patterns("client-post-processing"), + ) # We need to create these directories so that we can copy files necessary for post-processing. os.makedirs( diff --git a/.generator/test_cli.py b/.generator/test_cli.py index d89ec3c6e953..d1c90707bbc2 100644 --- a/.generator/test_cli.py +++ b/.generator/test_cli.py @@ -859,6 +859,7 @@ def test_copy_files_needed_for_post_processing_copies_files_from_generator_input """Tests that .repo-metadata.json is copied if it exists.""" mock_makedirs = mocker.patch("os.makedirs") mock_shutil_copytree = mocker.patch("shutil.copytree") + mocker.patch("pathlib.Path.exists", return_value=True) _copy_files_needed_for_post_processing( "output", "input", "library_id", is_mono_repo