36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
|
|
import os,sys,re
|
||
|
|
|
||
|
|
print("Input argument is %s" %(sys.argv[1:]))
|
||
|
|
gitrepo = ""
|
||
|
|
version = ""
|
||
|
|
arguments = sys.argv[1:]
|
||
|
|
if (len(arguments) != 2):
|
||
|
|
print("Arguments Invalid!")
|
||
|
|
sys.exit()
|
||
|
|
|
||
|
|
gitrepo = sys.argv[1]
|
||
|
|
version = sys.argv[2]
|
||
|
|
print(f"upgrade {gitrepo}.git library to {version}")
|
||
|
|
|
||
|
|
# Get the current directory
|
||
|
|
current_dir = os.getcwd()
|
||
|
|
|
||
|
|
# Iterate through all files in the directory
|
||
|
|
for dirpath, dirnames, filenames in os.walk(current_dir):
|
||
|
|
# Check if the file is a pubspec.yaml file
|
||
|
|
for filename in filenames:
|
||
|
|
if filename == "pubspec.yaml":
|
||
|
|
# Open the pubspec.yaml file
|
||
|
|
file_path = os.path.join(dirpath, filename)
|
||
|
|
with open(file_path, 'r') as file:
|
||
|
|
# Read the contents of the file
|
||
|
|
filedata = file.read()
|
||
|
|
|
||
|
|
# Replace the ref value for the libraries with git link that contains "example.com"
|
||
|
|
filedata = re.sub(fr"(.*git:.*\n.*url.*{gitrepo}.*\n.*path:.*\n.*)(ref: .*)", fr"\1ref: {version}", filedata)
|
||
|
|
filedata = re.sub(fr"(.*git:.*\n.*url.*{gitrepo}.*\n.*)(ref: .*)", fr"\1ref: {version}", filedata)
|
||
|
|
# Write the file out again
|
||
|
|
with open(file_path, 'w') as file:
|
||
|
|
file.write(filedata)
|
||
|
|
print(f"Upgrade Completed => {file_path}")
|