mirror of
https://github.com/aliasvault/aliasvault.git
synced 2025-12-23 22:28:22 -05:00
117 lines
5.3 KiB
Bash
Executable File
117 lines
5.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Check if running with bash
|
|
if [ -z "$BASH_VERSION" ]; then
|
|
echo "Error: This script must be run with bash"
|
|
echo "Usage: bash $0"
|
|
exit 1
|
|
fi
|
|
|
|
# Function to extract version from server AppInfo.cs
|
|
get_server_version() {
|
|
local major=$(grep "public const int VersionMajor = " ../apps/server/Shared/AliasVault.Shared.Core/AppInfo.cs | tr -d ';' | tr -d ' ' | cut -d'=' -f2)
|
|
local minor=$(grep "public const int VersionMinor = " ../apps/server/Shared/AliasVault.Shared.Core/AppInfo.cs | tr -d ';' | tr -d ' ' | cut -d'=' -f2)
|
|
local patch=$(grep "public const int VersionPatch = " ../apps/server/Shared/AliasVault.Shared.Core/AppInfo.cs | tr -d ';' | tr -d ' ' | cut -d'=' -f2)
|
|
local stage=$(grep "public const string VersionStage = " ../apps/server/Shared/AliasVault.Shared.Core/AppInfo.cs | cut -d'"' -f2)
|
|
echo "$major.$minor.$patch$stage"
|
|
}
|
|
|
|
# Function to extract version from browser extension config
|
|
get_browser_extension_version() {
|
|
grep "version: " ../apps/browser-extension/wxt.config.ts | head -n1 | tr -d '"' | tr -d ',' | tr -d ' ' | cut -d':' -f2
|
|
}
|
|
|
|
# Function to extract version from browser extension package.json
|
|
get_browser_extension_package_json_version() {
|
|
grep "\"version\": " ../apps/browser-extension/package.json | tr -d '"' | tr -d ',' | tr -d ' ' | cut -d':' -f2
|
|
}
|
|
|
|
# Function to extract version from browser extension AppInfo.ts
|
|
get_browser_extension_ts_version() {
|
|
grep "public static readonly VERSION = " ../apps/browser-extension/src/utils/AppInfo.ts | tr -d "'" | tr -d ';' | tr -d ' ' | cut -d'=' -f2
|
|
}
|
|
|
|
# Function to extract version from mobile app
|
|
get_mobile_app_version() {
|
|
grep "\"version\": " ../apps/mobile-app/app.json | tr -d '"' | tr -d ',' | tr -d ' ' | cut -d':' -f2
|
|
}
|
|
|
|
get_mobile_app_ts_version() {
|
|
grep "public static readonly VERSION = " ../apps/mobile-app/utils/AppInfo.ts | tr -d "'" | tr -d ';' | tr -d ' ' | cut -d'=' -f2
|
|
}
|
|
|
|
# Function to extract version from iOS app
|
|
get_ios_version() {
|
|
grep "MARKETING_VERSION = " ../apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj | head -n1 | tr -d '"' | tr -d ';' | tr -d ' ' | cut -d'=' -f2
|
|
}
|
|
|
|
# Function to extract iOS build number
|
|
get_ios_build() {
|
|
grep -A1 "CURRENT_PROJECT_VERSION" ../apps/mobile-app/ios/AliasVault.xcodeproj/project.pbxproj | grep "CURRENT_PROJECT_VERSION = [0-9]\+;" | head -n1 | tr -d ';' | tr -d ' ' | cut -d'=' -f2
|
|
}
|
|
|
|
# Function to extract version from Android app
|
|
get_android_version() {
|
|
grep "versionName " ../apps/mobile-app/android/app/build.gradle | head -n1 | tr -d '"' | tr -d ' ' | cut -d'=' -f2 | sed 's/versionName//'
|
|
}
|
|
|
|
# Function to extract Android build number
|
|
get_android_build() {
|
|
grep "versionCode" ../apps/mobile-app/android/app/build.gradle | grep -E "versionCode [0-9]+" | head -n1 | awk '{print $2}'
|
|
}
|
|
|
|
# Function to extract version from Safari extension
|
|
get_safari_version() {
|
|
grep "MARKETING_VERSION = " ../apps/browser-extension/safari-xcode/AliasVault/AliasVault.xcodeproj/project.pbxproj | head -n1 | tr -d '"' | tr -d ';' | tr -d ' ' | cut -d'=' -f2
|
|
}
|
|
|
|
# Function to extract Safari build number
|
|
get_safari_build() {
|
|
grep -A1 "CURRENT_PROJECT_VERSION" ../apps/browser-extension/safari-xcode/AliasVault/AliasVault.xcodeproj/project.pbxproj | grep "CURRENT_PROJECT_VERSION = [0-9]\+;" | head -n1 | tr -d ';' | tr -d ' ' | cut -d'=' -f2
|
|
}
|
|
|
|
# Collect all versions
|
|
server_version=$(get_server_version)
|
|
browser_wxt_version=$(get_browser_extension_version)
|
|
browser_package_version=$(get_browser_extension_package_json_version)
|
|
browser_ts_version=$(get_browser_extension_ts_version)
|
|
mobile_version=$(get_mobile_app_version)
|
|
mobile_ts_version=$(get_mobile_app_ts_version)
|
|
ios_version=$(get_ios_version)
|
|
ios_build=$(get_ios_build)
|
|
android_version=$(get_android_version)
|
|
android_build=$(get_android_build)
|
|
safari_version=$(get_safari_version)
|
|
safari_build=$(get_safari_build)
|
|
|
|
# Print table header
|
|
printf "%-50s %-20s %-15s\n" "Component" "Version" "Build Number"
|
|
echo "─────────────────────────────────────────────────────────────────────────────────"
|
|
|
|
# Server
|
|
printf "%-50s %-20s %-15s\n" "Server (AppInfo.cs)" "$server_version" "N/A"
|
|
|
|
# Browser Extension
|
|
echo ""
|
|
printf "%-50s %-20s %-15s\n" "Browser Extension (wxt.config.ts)" "$browser_wxt_version" "N/A"
|
|
printf "%-50s %-20s %-15s\n" "Browser Extension (package.json)" "$browser_package_version" "N/A"
|
|
printf "%-50s %-20s %-15s\n" "Browser Extension (AppInfo.ts)" "$browser_ts_version" "N/A"
|
|
|
|
# Safari Extension
|
|
echo ""
|
|
printf "%-50s %-20s %-15s\n" "Safari Extension (Xcode)" "$safari_version" "$safari_build"
|
|
|
|
# Mobile App
|
|
echo ""
|
|
printf "%-50s %-20s %-15s\n" "Mobile App (app.json)" "$mobile_version" "N/A"
|
|
printf "%-50s %-20s %-15s\n" "Mobile App (AppInfo.ts)" "$mobile_ts_version" "N/A"
|
|
|
|
# iOS
|
|
echo ""
|
|
printf "%-50s %-20s %-15s\n" "iOS App (Xcode)" "$ios_version" "$ios_build"
|
|
|
|
# Android
|
|
echo ""
|
|
printf "%-50s %-20s %-15s\n" "Android App (build.gradle)" "$android_version" "$android_build"
|
|
|
|
echo "────────────────────────────────────────────────────────────────────────────────────" |