Skip to content

Commit b6b9000

Browse files
migrate to typespec, keep backward compatible to .cadl (Azure#34080)
1 parent 5bd215a commit b6b9000

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

eng/mgmt/automation/generate_data.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,14 @@ def sdk_automation_cadl(config: dict) -> List[dict]:
3939
for cadl_project in cadl_projects:
4040
cadl_dir = os.path.join(spec_root, cadl_project)
4141

42-
sdk_folder = get_cadl_sdk_folder(os.path.join(cadl_dir, 'cadl-project.yaml'))
42+
sdk_folder = get_cadl_sdk_folder(os.path.join(cadl_dir, 'tspconfig.yaml'))
4343
if not sdk_folder:
44-
logging.warning('[Skip] "options.@azure-tools/cadl-java.emitter-output-dir" '
45-
'or "parameters.service-directory-name.default" not found in cadl-project.yaml')
44+
# fallback to cadl file
45+
sdk_folder = get_cadl_sdk_folder(os.path.join(cadl_dir, 'cadl-project.yaml'))
46+
if not sdk_folder:
47+
logging.warning('[Skip] "options.@azure-tools/typespec-java.emitter-output-dir" '
48+
'or "parameters.service-directory-name.default" not found '
49+
'in tspconfig.yaml or cadl-project.yaml')
4650
else:
4751
sdk_folder_abspath = os.path.join(sdk_root, sdk_folder)
4852
require_sdk_integration = not os.path.exists(os.path.join(sdk_folder_abspath, 'src'))
@@ -72,11 +76,14 @@ def sdk_automation_cadl(config: dict) -> List[dict]:
7276

7377
# check client.cadl
7478
cadl_source = '.'
75-
if os.path.exists(os.path.join(cadl_dir, 'client.cadl')):
79+
if os.path.exists(os.path.join(cadl_dir, 'client.tsp')):
80+
cadl_source = 'client.tsp'
81+
if cadl_source == '.' and os.path.exists(os.path.join(cadl_dir, 'client.cadl')):
82+
# fallback to cadl file
7683
cadl_source = 'client.cadl'
7784

7885
# generate Java project
79-
command = 'npx cadl compile {0} --emit=@azure-tools/cadl-java --arg="java-sdk-folder={1}"'\
86+
command = 'npx tsp compile {0} --emit=@azure-tools/typespec-java --arg="java-sdk-folder={1}"'\
8087
.format(cadl_source, sdk_root)
8188
logging.info(command)
8289
subprocess.run(command, shell=True, check=True)
@@ -128,9 +135,9 @@ def get_cadl_sdk_folder(project_filename: str) -> Optional[str]:
128135
with open(project_filename, 'r', encoding='utf-8') as f_in:
129136
project_yaml = yaml.safe_load(f_in)
130137
if 'parameters' in project_yaml and 'service-directory-name' in project_yaml['parameters'] \
131-
and 'options' in project_yaml and '@azure-tools/cadl-java' in project_yaml['options']:
138+
and 'options' in project_yaml and '@azure-tools/typespec-java' in project_yaml['options']:
132139
service: str = project_yaml['parameters']['service-directory-name']['default']
133-
sdk_folder = project_yaml['options']['@azure-tools/cadl-java']['emitter-output-dir']
140+
sdk_folder = project_yaml['options']['@azure-tools/typespec-java']['emitter-output-dir']
134141
sdk_folder = sdk_folder.replace(
135142
r'{java-sdk-folder}/sdk/{service-directory-name}/',
136143
'sdk/{0}/'.format(service))

0 commit comments

Comments
 (0)