1717from utils import update_root_pom
1818from utils import ListIndentDumper
1919
20- from generate_utils import generate_typespec_project
20+ from generate_utils import generate_typespec_project , clean_sdk_folder_if_swagger
2121
2222GROUP_ID = "com.azure"
2323DPG_ARGUMENTS = "--sdk-integration --generate-samples --generate-tests"
@@ -35,6 +35,15 @@ def sdk_automation_typespec_project(tsp_project: str, config: dict) -> dict:
3535 tsp_project , sdk_root , spec_root , head_sha , repo_url
3636 )
3737
38+ if not succeeded :
39+ # check whether this is migration from Swagger
40+ clean_sdk_folder_succeeded = clean_sdk_folder_if_swagger (sdk_root , sdk_folder )
41+ if clean_sdk_folder_succeeded :
42+ # re-generate
43+ succeeded , require_sdk_integration , sdk_folder , service , module = generate_typespec_project (
44+ tsp_project , sdk_root , spec_root , head_sha , repo_url
45+ )
46+
3847 if succeeded :
3948 # TODO (weidxu): move to typespec-java
4049 if require_sdk_integration :
@@ -45,6 +54,21 @@ def sdk_automation_typespec_project(tsp_project: str, config: dict) -> dict:
4554 # compile
4655 succeeded = compile_package (sdk_root , GROUP_ID , module )
4756
57+ if not succeeded :
58+ # check whether this is migration from Swagger
59+ clean_sdk_folder_succeeded = clean_sdk_folder_if_swagger (sdk_root , sdk_folder )
60+ if clean_sdk_folder_succeeded :
61+ # re-generate
62+ succeeded , require_sdk_integration , sdk_folder , service , module = generate_typespec_project (
63+ tsp_project , sdk_root , spec_root , head_sha , repo_url
64+ )
65+ if require_sdk_integration :
66+ set_or_default_version (sdk_root , GROUP_ID , module )
67+ update_service_ci_and_pom (sdk_root , service , GROUP_ID , module )
68+ update_root_pom (sdk_root , service )
69+ # compile
70+ succeeded = compile_package (sdk_root , GROUP_ID , module )
71+
4872 # output
4973 if sdk_folder and module and service :
5074 artifacts = ["{0}/pom.xml" .format (sdk_folder )]
@@ -238,7 +262,7 @@ def generate(
238262 autorest : str ,
239263 use : str ,
240264 autorest_options : str = "" ,
241- readme : str = None
265+ readme : str = None ,
242266) -> bool :
243267 namespace = "com.{0}" .format (module .replace ("-" , "." ))
244268 output_dir = os .path .join (sdk_root , "sdk" , service , module )
0 commit comments