#!/bin/bash ################################################################################################### # INSTRUCTIONS # Move to the directory of the component # Run this script with component name (com_name) ################################################################################################### # Check if the component name is provided as the first parameter if [ -n "$1" ]; then componentName="$1" else # Prompt for the name of the component read -p "Enter the name of the component (including com_): " componentName fi # Check if the component name starts with 'com_' if [[ $componentName != com_* ]]; then echo "Invalid component name. The name should start with 'com_'" exit 1 fi # Check if the component folder exists if [ ! -d "$componentName" ]; then echo "Component folder '$componentName' does not exist." exit 1 fi # Extract the name by removing the first four characters name="${componentName:4}" # Read the contents of $name/$name.xml file xml_file="$componentName/$name.xml" if [ -f "$xml_file" ]; then xml_contents=$(cat "$xml_file") else echo "XML file '$xml_file' not found." exit 1 fi # Extract the version from the XML contents regex="(.*?)<\/version>" if [[ $xml_contents =~ $regex ]]; then version="${BASH_REMATCH[1]}" else echo "Version not found in the XML file." exit 1 fi zip_filename="$name-$version.zip" cd "$componentName" && 7z a "../$zip_filename" *