Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 52 additions & 28 deletions script/node_bs.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from subprocess import call
import glob
import stat
import re
import docker
import shutil
import sys
Expand All @@ -34,15 +35,27 @@
args=parser.parse_args()

path_separator = os.path.sep

github_url=args.github_url_arg
latest_release = args.package_version_arg
package_language = args.language_arg

active_repo=False
new_build_script=''
branch_pkg=""
#ROOT = os.path.dirname(os.path.dirname(__file__))
ROOT = os.getcwd()
if args.package_name_arg:
package_name = args.package_name_arg
else:
package_name = input("Enter Package name (Package name should match with the directory name): ")
#package_name = 'elasticsearch'
package_name = package_name.lower()
dir_name = f"{ROOT}{path_separator}{package_name[0]}{path_separator}{package_name}"
package_language = package_language.lower()
if package_language.lower() in ['go','java']:
package_name_original = re.sub(r'[/.]','_',package_name)
dir_name = f"{ROOT}{path_separator}{package_name[0]}{path_separator}{package_name_original}"
else:
dir_name = f"{ROOT}{path_separator}{package_name[0]}{path_separator}{package_name}"

try:
user_name_command ="git config user.name"
Expand Down Expand Up @@ -70,14 +83,6 @@
except Exception as e:
print("Error")

github_url=args.github_url_arg
latest_release = args.package_version_arg
package_language = args.language_arg

active_repo=False
new_build_script=''
branch_pkg=""

def select_template_script(package_language):
package_language=package_language.lower()
if package_language == 'node' or package_language == 'javascript':
Expand Down Expand Up @@ -232,11 +237,11 @@ def create_new_script():
branch_chout=f"git checkout -b {package_name}_{latest_release}_automation"
branch_pkg=f"{package_name}_{latest_release}_automation"
print("\n\n Creating Branch and Checking Out")
subprocess.Popen(branch_chout,shell=True)
subprocess.run(branch_chout,shell=True)

branch_cmd=f"git branch"
print("\n\n Printing Current Branch")
subprocess.Popen(branch_cmd,shell=True)
subprocess.run(branch_cmd,shell=True)

current_directory = os.getcwd()

Expand Down Expand Up @@ -269,7 +274,8 @@ def create_new_script():
elif template_lines[i].startswith("PACKAGE_DIR"):
template_lines[i]=f"PACKAGE_DIR={package_name}\n"

with open (f"{dir_name}/{package_name}_ubi_9.3.sh",'w') as newfile:
sanitised_name = re.sub(r'[/.]','_',package_name)
with open (f"{dir_name}/{sanitised_name}_ubi_9.3.sh",'w') as newfile:
newfile.writelines(template_lines)

if args.spawn_container_arg:
Expand All @@ -278,7 +284,7 @@ def create_new_script():
stdout, stderr=container_result.communicate()
exit_code=container_result.wait()

cmd_2=f"python3 script/generate_build_info.py --package_name_arg {package_name} --github_username_arg {args.github_username_arg} --generate_wheel_arg"
cmd_2=f"python3 script/generate_build_info.py --package_name_arg {sanitised_name} --github_username_arg {args.github_username_arg} --generate_wheel_arg"
print("\n\n Generating build_info.json")
build_info_w=subprocess.Popen(cmd_2,shell=True)
build_info_w.wait()
Expand All @@ -296,22 +302,36 @@ def create_new_script():
user_push_response=user_push_response.lower()

if user_push_response=='y':
sanitised_name = re.sub(r'[/.]','_',package_name)
file_path = f"{dir_name}/{sanitised_name}_ubi_9.3.sh"
print("\n\nGit Adding build_script...")

cmd_add=f"git add {dir_name}/{package_name}_ubi_9.3.sh"
print("\n\n Git Adding build_script")
git_add_w=subprocess.Popen(cmd_add,shell=True)
git_add_w.wait()
try:
subprocess.run(['git', 'add', file_path], check=True)
print(" Git add successful.")

cmd_add=f"git add {dir_name}/build_info.json"
print("\n\n Git Adding build_info.json")
git_add_w=subprocess.Popen(cmd_add,shell=True)
git_add_w.wait()
except subprocess.CalledProcessError as e:
print(f" Git command failed:\n{e.stderr}")

build_info_path = f"{dir_name}/build_info.json"
print("\n\nGit Adding build_info.json...")

try:
subprocess.run(['git', 'add', build_info_path], check=True)
print(" build_info.json successfully added to git staging.")

except subprocess.CalledProcessError as e:
print(f" Git command failed:\n{e.stderr}")

if license_added:
cmd_add=f"git add {dir_name}/LICENSE"
print("\n\n Git Adding LICENSE")
git_add_w=subprocess.Popen(cmd_add,shell=True)
git_add_w.wait()
license_path = f"{dir_name}/LICENSE"
print("\n\nGit Adding LICENSE...")

try:
subprocess.run(['git', 'add', license_path], check=True)
print(" LICENSE successfully added to git staging.")
except subprocess.CalledProcessError as e:
print(f" Git command failed:\n{e.stderr}")


#git commit command
Expand Down Expand Up @@ -384,8 +404,12 @@ def display_details():
if args.package_dir_arg:
package_dir = args.package_dir_arg

package_name = package_name.lower()
dir_name = f"{ROOT}{path_separator}{package_name[0]}{path_separator}{package_name}"
package_language = package_language.lower()
if package_language.lower() in ['go','java']:
package_name_original = re.sub(r'[/.]','_',package_name_original)
dir_name = f"{ROOT}{path_separator}{package_name[0]}{path_separator}{package_name_original}"
else:
dir_name = f"{ROOT}{path_separator}{package_name[0]}{path_separator}{package_name}"
os.makedirs(dir_name, exist_ok = True)
create_new_script()
display_details()