66import glob
77import logging
88import argparse
9- import shutil
109from typing import List
1110
1211pwd = os .getcwd ()
3332 update_spec ,
3433 generate_typespec_project ,
3534 is_mgmt_premium ,
36- copy_folder_recursive_sync ,
3735)
3836
3937os .chdir (pwd )
@@ -337,9 +335,6 @@ def sdk_automation_typespec_project(tsp_project: str, config: dict) -> dict:
337335 # compile
338336 succeeded = compile_arm_package (sdk_root , module )
339337 if succeeded :
340- if is_mgmt_premium (module ):
341- move_premium_samples (sdk_root , service , module )
342- update_azure_resourcemanager_pom (sdk_root , module , current_version )
343338 # For output breaking changes, useful in sdk validation pipeline
344339 logging .info ("[Changelog] Start breaking change detection for SDK automation." )
345340 breaking , changelog , breaking_change_items = compare_with_maven_package (
@@ -427,122 +422,6 @@ def update_changelog_version(sdk_root: str, output_folder: str, current_version:
427422 os .chdir (pwd )
428423
429424
430- def move_premium_samples (sdk_root : str , service : str , module : str ):
431- package_path = "com/" + module .replace ("-" , "/" )
432- source_sample_dir = os .path .join (
433- sdk_root , "sdk" , service , module , "src" , "samples" , "java" , package_path , "generated"
434- )
435- target_sample_dir = os .path .join (
436- sdk_root , "sdk" , "resourcemanager" , "azure-resourcemanager" , "src" , "samples" , "java" , package_path
437- )
438- logging .info (f"Moving samples from { source_sample_dir } to { target_sample_dir } ." )
439- copy_folder_recursive_sync (source_sample_dir , target_sample_dir )
440- shutil .rmtree (source_sample_dir , ignore_errors = True )
441-
442-
443- def update_azure_resourcemanager_pom (sdk_root : str , module : str , current_version : str ):
444- """
445- Updates azure-resourcemanager pom for premium package split:
446- 1. Add unreleased entry in eng/versioning/version_client.txt
447- 2. Update dependency in azure-resourcemanager/pom.xml to use unreleased dependency
448- """
449- # 1. Add unreleased entry to version_client.txt
450- version_file = os .path .join (sdk_root , "eng/versioning/version_client.txt" )
451- group_id = "com.azure.resourcemanager"
452- project = "{0}:{1}" .format (group_id , module )
453-
454- # Check if unreleased entry already exists
455- unreleased_project = "unreleased_{0}" .format (project )
456- unreleased_exists = False
457- with open (version_file , "r" , encoding = "utf-8" ) as fin :
458- content = fin .read ()
459- if unreleased_project in content :
460- unreleased_exists = True
461- logging .info ("[UNRELEASED][Skip] Unreleased entry already exists for %s" , module )
462-
463- if not unreleased_exists :
464- # Find the unreleased section and add the entry
465- with open (version_file , "r" , encoding = "utf-8" ) as fin :
466- lines = fin .read ().splitlines ()
467-
468- # Find the unreleased section start
469- unreleased_section_start = - 1
470- for i , line in enumerate (lines ):
471- if "# Unreleased dependencies:" in line :
472- unreleased_section_start = i
473- break
474-
475- if unreleased_section_start == - 1 :
476- logging .error ("[UNRELEASED][Skip] Cannot find unreleased section in version_client.txt" )
477- return
478-
479- # Determine insertion point: append to the end of the unreleased section
480- # by locating the first blank line after the last 'unreleased_' entry.
481- last_unreleased_idx = - 1
482- end_of_section_idx = - 1
483- seen_unreleased = False
484- for i in range (unreleased_section_start + 1 , len (lines )):
485- line = lines [i ]
486- if line .startswith ("unreleased_" ):
487- seen_unreleased = True
488- last_unreleased_idx = i
489- continue
490- if seen_unreleased :
491- # First blank line after we started seeing unreleased entries marks end of section
492- if line .strip () == "" :
493- end_of_section_idx = i # insert before this blank line
494- break
495- # Or a new header line also marks the end
496- if line .startswith ("# " ):
497- end_of_section_idx = i
498- break
499-
500- if last_unreleased_idx != - 1 :
501- insert_index = end_of_section_idx if end_of_section_idx != - 1 else last_unreleased_idx + 1
502- else :
503- # No existing unreleased entries, insert after header comments and optional blank line
504- insert_index = unreleased_section_start + 1
505- while insert_index < len (lines ) and lines [insert_index ].startswith ("#" ):
506- insert_index += 1
507- if insert_index < len (lines ) and lines [insert_index ].strip () == "" :
508- insert_index += 1
509-
510- # Insert the unreleased entry
511- unreleased_entry = "unreleased_{0};{1}" .format (project , current_version )
512- lines .insert (insert_index , unreleased_entry )
513-
514- with open (version_file , "w" , encoding = "utf-8" ) as fout :
515- fout .write ("\n " .join (lines ))
516- fout .write ("\n " )
517-
518- logging .info ("[UNRELEASED][Success] Added unreleased entry: %s" , unreleased_entry )
519-
520- # 2. Update azure-resourcemanager pom.xml
521- pom_file = os .path .join (sdk_root , "sdk/resourcemanager/azure-resourcemanager/pom.xml" )
522- if not os .path .exists (pom_file ):
523- logging .error ("[POM][Skip] Cannot find azure-resourcemanager pom.xml" )
524- return
525-
526- with open (pom_file , "r" , encoding = "utf-8" ) as fin :
527- pom_content = fin .read ()
528-
529- # Pattern to find the dependency and its version comment
530- dependency_pattern = r"(<groupId>{0}</groupId>\s*<artifactId>{1}</artifactId>\s*<version>)[^<]+(</version>\s*<!-- {{x-version-update;){2}(;dependency}} -->)" .format (
531- re .escape (group_id ), re .escape (module ), re .escape (project )
532- )
533-
534- # Replace current with unreleased dependency
535- replacement = r"\g<1>" + current_version + r"\g<2>unreleased_" + project + r"\g<3>"
536- updated_pom_content = re .sub (dependency_pattern , replacement , pom_content , flags = re .DOTALL )
537-
538- if updated_pom_content != pom_content :
539- with open (pom_file , "w" , encoding = "utf-8" ) as fout :
540- fout .write (updated_pom_content )
541- logging .info ("[POM][Success] Updated azure-resourcemanager pom.xml to use unreleased dependency of %s" , module )
542- else :
543- logging .warning ("[POM][Skip] Could not find dependency for %s in azure-resourcemanager pom.xml" , module )
544-
545-
546425def main ():
547426 (parser , args ) = parse_args ()
548427 args = vars (args )
@@ -553,7 +432,6 @@ def main():
553432 base_dir = os .path .abspath (os .path .dirname (sys .argv [0 ]))
554433 sdk_root = os .path .abspath (os .path .join (base_dir , SDK_ROOT ))
555434 api_specs_file = os .path .join (base_dir , API_SPECS_FILE )
556- premium = False
557435
558436 if args .get ("tsp_config" ):
559437 tsp_config = args ["tsp_config" ]
@@ -562,8 +440,6 @@ def main():
562440 tsp_project = tsp_config , sdk_root = sdk_root , remove_before_regen = True , group_id = GROUP_ID , ** args
563441 )
564442
565- premium = is_mgmt_premium (module )
566-
567443 stable_version , current_version = set_or_increase_version (sdk_root , GROUP_ID , module , ** args )
568444 args ["version" ] = current_version
569445
@@ -612,9 +488,6 @@ def main():
612488 if succeeded :
613489 succeeded = compile_arm_package (sdk_root , module )
614490 if succeeded :
615- if premium :
616- move_premium_samples (sdk_root , service , module )
617- update_azure_resourcemanager_pom (sdk_root , module , current_version )
618491 latest_release_version = get_latest_release_version (stable_version , current_version )
619492 compare_with_maven_package (sdk_root , GROUP_ID , service , latest_release_version , current_version , module )
620493
0 commit comments