Skip to content

Instantly share code, notes, and snippets.

@wcoder
Created April 3, 2019 18:09
Show Gist options
  • Save wcoder/3f30263764ba825098458743a672a8cc to your computer and use it in GitHub Desktop.
Save wcoder/3f30263764ba825098458743a672a8cc to your computer and use it in GitHub Desktop.
Simple bash script for update versions of Xamarin applications via terminal or CI
#!/usr/bin/env bash
# For Xamarin Android or iOS, change the package name located in AndroidManifest.xml and Info.plist.
# AN IMPORTANT THING: YOU NEED DECLARE PACKAGE_NAME, PACKAGE_VERSION ENVIRONMENT VARIABLE IN APP CENTER BUILD CONFIGURATION.
PACKAGE_NAME="com.your.name"
PACKAGE_VERSION="0.1"
ANDROID_PROJECT_PATH="ProjectName.Android"
ANDROID_MANIFEST_PATH="$ANDROID_PROJECT_PATH/Properties/AndroidManifest.xml"
IOS_PROJECT_PATH="ProjectName.iOS"
IOS_MANIFEST_PATH="$IOS_PROJECT_PATH/Info.plist"
if [ -e "$ANDROID_MANIFEST_PATH" ]
then
echo "Updating to $PACKAGE_NAME v.$PACKAGE_VERSION in $ANDROID_MANIFEST_PATH"
sed -i '' 's/package="[a-z.0-9]*"/package="'$PACKAGE_NAME'"/' $ANDROID_MANIFEST_PATH
sed -i '' 's/android:versionName="[a-z.0-9]*"/android:versionName="'$PACKAGE_VERSION'"/' $ANDROID_MANIFEST_PATH
echo "DONE!"
fi
if [ -e "$IOS_MANIFEST_PATH" ]
then
echo "Updating to $PACKAGE_NAME v.$PACKAGE_VERSION in $IOS_MANIFEST_PATH"
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $PACKAGE_NAME" "$IOS_MANIFEST_PATH"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $PACKAGE_VERSION" "$IOS_MANIFEST_PATH"
echo "DONE!"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment