|
1 | | -#!/bin/bash |
| 1 | +#!/usr/bin/env bash |
2 | 2 | set -e |
3 | 3 |
|
4 | 4 | # Detect SDK versions and calculate proxy version bump |
|
7 | 7 | SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
8 | 8 | REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" |
9 | 9 |
|
| 10 | +# Source shared utilities |
| 11 | +source "$SCRIPT_DIR/lib/version_utils.sh" |
| 12 | + |
10 | 13 | # Colors for output |
11 | 14 | RED='\033[0;31m' |
12 | 15 | GREEN='\033[0;32m' |
@@ -36,45 +39,24 @@ echo -e "Current iOS SDK: ${BOLD}$CURRENT_IOS_VERSION${NC}" |
36 | 39 | CURRENT_ANDROID_VERSION=$(grep "airship =" "$REPO_ROOT/android/gradle/libs.versions.toml" | grep -o "[0-9]*\.[0-9]*\.[0-9]*") |
37 | 40 | echo -e "Current Android SDK: ${BOLD}$CURRENT_ANDROID_VERSION${NC}" |
38 | 41 |
|
39 | | -echo -e "\n${BLUE}Fetching latest SDK tags...${NC}" |
| 42 | +echo -e "\n${BLUE}Fetching latest SDK versions...${NC}" |
40 | 43 |
|
41 | | -# Fetch latest iOS SDK tag |
42 | | -LATEST_IOS_VERSION=$(gh api repos/urbanairship/ios-library/tags --jq '.[0].name' 2>/dev/null || echo "") |
43 | | -LATEST_IOS_VERSION="${LATEST_IOS_VERSION#v}" # Strip 'v' prefix if present |
44 | | -if [ -z "$LATEST_IOS_VERSION" ]; then |
45 | | - echo -e "${RED}Failed to fetch iOS SDK tags${NC}" |
| 44 | +# Fetch latest iOS SDK version |
| 45 | +LATEST_IOS_VERSION=$(get_latest_release_version "urbanairship/ios-library") |
| 46 | +if [ $? -ne 0 ] || [ -z "$LATEST_IOS_VERSION" ]; then |
| 47 | + echo -e "${RED}Failed to fetch iOS SDK version${NC}" |
46 | 48 | exit 1 |
47 | 49 | fi |
48 | 50 | echo -e "Latest iOS SDK: ${BOLD}$LATEST_IOS_VERSION${NC}" |
49 | 51 |
|
50 | | -# Fetch latest Android SDK tag |
51 | | -LATEST_ANDROID_VERSION=$(gh api repos/urbanairship/android-library/tags --jq '.[0].name' 2>/dev/null || echo "") |
52 | | -LATEST_ANDROID_VERSION="${LATEST_ANDROID_VERSION#v}" # Strip 'v' prefix if present |
53 | | -if [ -z "$LATEST_ANDROID_VERSION" ]; then |
54 | | - echo -e "${RED}Failed to fetch Android SDK tags${NC}" |
| 52 | +# Fetch latest Android SDK version |
| 53 | +LATEST_ANDROID_VERSION=$(get_latest_release_version "urbanairship/android-library") |
| 54 | +if [ $? -ne 0 ] || [ -z "$LATEST_ANDROID_VERSION" ]; then |
| 55 | + echo -e "${RED}Failed to fetch Android SDK version${NC}" |
55 | 56 | exit 1 |
56 | 57 | fi |
57 | 58 | echo -e "Latest Android SDK: ${BOLD}$LATEST_ANDROID_VERSION${NC}" |
58 | 59 |
|
59 | | -# Function to determine bump type (major, minor, patch) |
60 | | -determine_bump_type() { |
61 | | - local old=$1 |
62 | | - local new=$2 |
63 | | - |
64 | | - IFS='.' read -r old_major old_minor old_patch <<< "$old" |
65 | | - IFS='.' read -r new_major new_minor new_patch <<< "$new" |
66 | | - |
67 | | - if [ "$new_major" -gt "$old_major" ]; then |
68 | | - echo "major" |
69 | | - elif [ "$new_minor" -gt "$old_minor" ]; then |
70 | | - echo "minor" |
71 | | - elif [ "$new_patch" -gt "$old_patch" ]; then |
72 | | - echo "patch" |
73 | | - else |
74 | | - echo "none" |
75 | | - fi |
76 | | -} |
77 | | - |
78 | 60 | # Determine bump types for each SDK |
79 | 61 | IOS_BUMP=$(determine_bump_type "$CURRENT_IOS_VERSION" "$LATEST_IOS_VERSION") |
80 | 62 | ANDROID_BUMP=$(determine_bump_type "$CURRENT_ANDROID_VERSION" "$LATEST_ANDROID_VERSION") |
|
0 commit comments