Skip to content

Commit

Permalink
Refactor the code and add comments
Browse files Browse the repository at this point in the history
  • Loading branch information
YevhenZvieriev committed Mar 19, 2024
1 parent a9d4e4f commit 040b212
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions compose/bin/check-dependencies
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
#!/usr/bin/env bash

# Define colors for formatting
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color

# Declare arrays for storing common dependencies and Magento versions
declare -a common_dependencies
declare -a magento_versions=("2.4.7-beta3" "2.4.7-beta2" "2.4.6-p4" "2.4.6-p3" "2.4.6-p2" "2.4.6-p1" "2.4.6" "2.4.5-p5" "2.4.5-p4" "2.4.5-p3" "2.4.5-p2" "2.4.5-p1" "2.4.5" "2.4.4-p6" "2.4.4-p5" "2.4.4-p4" "2.4.4-p3" "2.4.4-p2" "2.4.4-p1" "2.4.4" "2.4.3-p3" "2.4.2-p2")

# Assign common dependencies to corresponding Magento versions
common_dependencies[0]="Composer:2.6 Elasticsearch:8.11 OpenSearch:2.11 MariaDB:10.6 MySQL:8.0 PHP:8.3,8.2 RabbitMQ:3.12 Redis:7.2 Varnish:7.4 Apache:2.4 nginx:1.24 'AWS-Aurora-(MySQL)':8.0 'AWS-S3':✔️ 'AWS-MQ':3.11.20 'AWS-ElastiCache':Redis7.0 'AWS-Elasticsearch':-- 'AWS-OpenSearch':2.11"
common_dependencies[1]="Composer:2.5 Elasticsearch:8.7 OpenSearch:2.5 MariaDB:10.6 MySQL:8.0 PHP:8.2,8.1 RabbitMQ:3.11 Redis:7.0 Varnish:7.3 Apache:2.4 nginx:1.24 'AWS-Aurora-(MySQL)':8.0 'AWS-S3':✔️ 'AWS-MQ':3.10.20 'AWS-ElastiCache':Redis7.0 'AWS-Elasticsearch':-- 'AWS-OpenSearch':2.5"
common_dependencies[2]="Composer:2.2 Elasticsearch:8.5,7.17 OpenSearch:2.5 MariaDB:10.6 MySQL:8.0 PHP:8.2,8.1 RabbitMQ:3.11,3.9 Redis:7.0 Varnish:7.3 Apache:2.4 nginx:1.24 'AWS-Aurora-(MySQL)':8.0 'AWS-S3':✔️ 'AWS-MQ':3.9.16 'AWS-ElastiCache':Redis6.2 'AWS-Elasticsearch':-- 'AWS-OpenSearch':1.2"
Expand All @@ -30,16 +33,19 @@ common_dependencies[19]="Composer:2.1 Elasticsearch:7.16 OpenSearch:1.2 MariaDB:
common_dependencies[20]="Composer:1 Elasticsearch:7.16 OpenSearch:1.2 MariaDB:10.4 MySQL:8.0 PHP:7.4 RabbitMQ:3.8 Redis:6.0 Varnish:6.5 Apache:2.4 nginx:1.18 'AWS-Aurora-(MySQL)':5.7 'AWS-S3':✔️ 'AWS-MQ':3.8.11 'AWS-ElastiCache':Redis6 'AWS-Elasticsearch':7.9 'AWS-OpenSearch':--"
common_dependencies[21]="Composer:1 Elasticsearch:7.9 OpenSearch:-- MariaDB:10.4 MySQL:8.0 PHP:7.4 RabbitMQ:3.8 Redis:6.0 Varnish:6.4 Apache:2.4 nginx:1.18 'AWS-Aurora-(MySQL)':-- 'AWS-S3':✔️ 'AWS-MQ':-- 'AWS-ElastiCache':-- 'AWS-Elasticsearch':-- 'AWS-OpenSearch':--"

# Function to print available Magento versions
print_magento_versions() {
echo "Available Magento 2 versions:"
for version in "${magento_versions[@]}"; do
echo "$version"
done
}

# Function to print dependencies for a given Magento version
print_dependencies() {
local version=$1
local index
echo -e "${GREEN}Recommended software dependencies:${NC}"
for (( index=0; index<${#magento_versions[@]}; index++ )); do
if [[ "${magento_versions[$index]}" == "$version" ]]; then
local dependencies=${common_dependencies[$index]}
Expand All @@ -50,12 +56,13 @@ print_dependencies() {
return
fi
done
# If the provided Magento version is not recognized, prompt the user to choose a valid version
echo -e "${RED}Magento version not recognized. Please choose a valid version from the list below:${NC}"
print_magento_versions
}

# Prompt the user to enter a Magento version and print its dependencies
read -r -p "Enter the Magento 2 version you'd like to check dependencies on: " magento_version

print_dependencies "$magento_version"


print_dependencies "$magento_version"

0 comments on commit 040b212

Please sign in to comment.