@@ -113,11 +113,10 @@ def call_build_config(package_name: str, folder_name: str):
113113 # )
114114
115115
116- def generate_packaging_files ( package_name , folder_name ):
116+ def generate_packaging_and_ci_files ( package_path : Path ):
117117 # replace sdk_packaging.toml with pyproject.toml
118- output_path = Path (folder_name ) / package_name
119- pyproject_toml = output_path / CONF_NAME
120- sdk_packaging_toml = output_path / OLD_CONF_NAME
118+ pyproject_toml = package_path / CONF_NAME
119+ sdk_packaging_toml = package_path / OLD_CONF_NAME
121120 if sdk_packaging_toml .exists ():
122121 if pyproject_toml .exists ():
123122 # update related items in pyproject.toml then delete sdk_packaging.toml
@@ -147,55 +146,43 @@ def generate_packaging_files(package_name, folder_name):
147146 _LOGGER .info (f"rename { sdk_packaging_toml } to { pyproject_toml } " )
148147 sdk_packaging_toml .rename (pyproject_toml )
149148
149+ package_name = package_path .name
150150 if "azure-mgmt-" in package_name :
151151 # if codegen generate pyproject.toml instead of setup.py, we delete existing setup.py
152- setup_py = output_path / "setup.py"
152+ setup_py = package_path / "setup.py"
153153 if setup_py .exists ():
154154 _LOGGER .info (f"delete { setup_py } since codegen generate pyproject.toml" )
155155 with open (pyproject_toml , "rb" ) as f :
156156 pyproject_content = toml .load (f )
157157 if pyproject_content .get ("project" ):
158158 setup_py .unlink ()
159159
160- call_build_config (package_name , folder_name )
161-
162- # load pyproject.toml and replace "azure-core" with "azure-mgmt" (after codegen fix bug, we could remove this logic)
163- if pyproject_toml .exists ():
164- with open (pyproject_toml , "rb" ) as f :
165- pyproject_content = toml .load (f )
166- if pyproject_content .get ("project" ):
167- for idx in range (len (pyproject_content ["project" ].get ("dependencies" , []))):
168- if pyproject_content ["project" ]["dependencies" ][idx ].startswith ("azure-core" ):
169- pyproject_content ["project" ]["dependencies" ][idx ] = "azure-mgmt-core>=1.6.0"
170-
171- with open (pyproject_toml , "wb" ) as f :
172- tomlw .dump (pyproject_content , f )
160+ call_build_config (package_name , str (package_path .parent ))
173161 else :
174162 if not pyproject_toml .exists ():
175163 with open (pyproject_toml , "w" ) as file_out :
176164 file_out .write ("[packaging]\n auto_update = false" )
177165
178- # add ci.yaml
166+ # add ci.yml
179167 generate_ci (
180168 template_path = Path ("scripts/quickstart_tooling_dpg/template_ci" ),
181- folder_path = Path ( folder_name ) ,
169+ folder_path = package_path . parent ,
182170 package_name = package_name ,
183171 )
184172
185173
186- def update_servicemetadata (sdk_folder , data , config , folder_name , package_name , spec_folder , input_readme ):
187- package_folder = Path (sdk_folder , folder_name , package_name )
188- if not package_folder .exists ():
189- _LOGGER .info (f"Fail to save metadata since package folder doesn't exist: { package_folder } " )
174+ def update_metadata_json (package_path : Path , pipeline_input , codegen_config , spec_folder , input_readme ):
175+ if not package_path .exists ():
176+ _LOGGER .info (f"Fail to save metadata since package folder doesn't exist: { package_path } " )
190177 return
191- for_swagger_gen = "meta" in config
178+ for_swagger_gen = "meta" in codegen_config
192179 # remove old _meta.json
193- old_metadata_folder = package_folder / "_meta.json"
180+ old_metadata_folder = package_path / "_meta.json"
194181 if old_metadata_folder .exists ():
195182 os .remove (old_metadata_folder )
196183 _LOGGER .info (f"Remove old metadata file: { old_metadata_folder } " )
197184
198- metadata_folder = package_folder / "_metadata.json"
185+ metadata_folder = package_path / "_metadata.json"
199186 if metadata_folder .exists ():
200187 with open (metadata_folder , "r" ) as file_in :
201188 metadata = json .load (file_in )
@@ -204,14 +191,14 @@ def update_servicemetadata(sdk_folder, data, config, folder_name, package_name,
204191
205192 metadata .update (
206193 {
207- "commit" : data ["headSha" ],
208- "repository_url" : data ["repoHttpsUrl" ],
194+ "commit" : pipeline_input ["headSha" ],
195+ "repository_url" : pipeline_input ["repoHttpsUrl" ],
209196 }
210197 )
211198 if for_swagger_gen :
212199 readme_file = str (Path (spec_folder , input_readme ))
213- global_conf = config ["meta" ]
214- local_conf = config .get ("projects" , {}).get (readme_file , {})
200+ global_conf = codegen_config ["meta" ]
201+ local_conf = codegen_config .get ("projects" , {}).get (readme_file , {})
215202
216203 if "resource-manager" in input_readme :
217204 cmd = ["autorest" , input_readme ]
@@ -231,11 +218,11 @@ def update_servicemetadata(sdk_folder, data, config, folder_name, package_name,
231218 )
232219 else :
233220 metadata ["typespec_src" ] = input_readme
234- metadata .update (config )
221+ metadata .update (codegen_config )
235222
236223 _LOGGER .info ("Metadata json:\n {}" .format (json .dumps (metadata , indent = 2 )))
237224
238- metadata_file_path = package_folder / "_metadata.json"
225+ metadata_file_path = package_path / "_metadata.json"
239226 with metadata_file_path .open ("w" ) as writer :
240227 json .dump (metadata , writer , indent = 2 )
241228 _LOGGER .info (f"Saved metadata to { metadata_file_path } " )
0 commit comments