mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-28 05:59:05 +03:00
bc1f3cb24d
Change-Id: I6fa1182a07b7b8ad507124fad3a8971ac38f2ac5 Conflicts: library/ui-strings/src/main/res/values-bg/strings_sc.xml library/ui-strings/src/main/res/values-cs/strings_sc.xml library/ui-strings/src/main/res/values-de/strings_sc.xml library/ui-strings/src/main/res/values-de/strings_sc_donottranslate.xml library/ui-strings/src/main/res/values-es/strings_sc.xml library/ui-strings/src/main/res/values-et/strings_sc.xml library/ui-strings/src/main/res/values-eu/strings_sc.xml library/ui-strings/src/main/res/values-fa/strings_sc.xml library/ui-strings/src/main/res/values-fr/strings_sc.xml library/ui-strings/src/main/res/values-hu/strings_sc.xml library/ui-strings/src/main/res/values-it/strings_sc.xml library/ui-strings/src/main/res/values-nb-rNO/strings_sc.xml library/ui-strings/src/main/res/values-nl/strings_sc.xml library/ui-strings/src/main/res/values-pl/strings_sc.xml library/ui-strings/src/main/res/values-pt-rBR/strings_sc.xml library/ui-strings/src/main/res/values-ro/strings_sc.xml library/ui-strings/src/main/res/values-ru/strings_sc.xml library/ui-strings/src/main/res/values-sk/strings_sc.xml library/ui-strings/src/main/res/values-sv/strings_sc.xml library/ui-strings/src/main/res/values-tr/strings_sc.xml library/ui-strings/src/main/res/values-vi/strings_sc.xml library/ui-strings/src/main/res/values-zh-rCN/strings_sc.xml library/ui-strings/src/main/res/values-zh-rTW/strings_sc.xml matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/summary/RoomSummaryUpdater.kt matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/SyncResponseHandler.kt matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/handler/room/RoomSyncHandler.kt vector-app/src/main/res/mipmap-anydpi-v26/ic_launcher_sc.xml vector-app/src/main/res/mipmap-hdpi/ic_launcher_foreground_sc.png vector-app/src/main/res/mipmap-hdpi/ic_launcher_sc.png vector-app/src/main/res/mipmap-mdpi/ic_launcher_foreground_sc.png vector-app/src/main/res/mipmap-mdpi/ic_launcher_sc.png vector-app/src/main/res/mipmap-xhdpi/ic_launcher_foreground_sc.png vector-app/src/main/res/mipmap-xhdpi/ic_launcher_sc.png vector-app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground_sc.png vector-app/src/main/res/mipmap-xxhdpi/ic_launcher_sc.png vector-app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground_sc.png vector-app/src/main/res/mipmap-xxxhdpi/ic_launcher_sc.png vector/build.gradle vector/src/fdroid/java/im/vector/app/fdroid/receiver/KeepInternalDistributor.kt vector/src/main/AndroidManifest.xml vector/src/main/java/im/vector/app/SpaceStateHandlerImpl.kt vector/src/main/java/im/vector/app/core/di/FragmentModule.kt vector/src/main/java/im/vector/app/core/pushers/KeepInternalDistributor.kt vector/src/main/java/im/vector/app/core/pushers/VectorPushHandler.kt vector/src/main/java/im/vector/app/core/receiver/KeepInternalDistributor.kt vector/src/main/java/im/vector/app/features/attachments/AttachmentsHelper.kt vector/src/main/java/im/vector/app/features/grouplist/HomeSpaceSummaryItem.kt vector/src/main/java/im/vector/app/features/grouplist/NewHomeSpaceSummaryItem.kt vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsItem.kt vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt vector/src/main/java/im/vector/app/features/home/room/detail/TimelineViewModel.kt vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageImageVideoItem.kt vector/src/main/java/im/vector/app/features/home/room/list/RoomCategoryItem.kt vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryItem.kt vector/src/main/java/im/vector/app/features/home/room/list/SectionHeaderAdapter.kt vector/src/main/java/im/vector/app/features/home/room/list/UnreadCounterBadgeView.kt vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomItem.kt vector/src/main/java/im/vector/app/features/media/ImageContentRenderer.kt vector/src/main/java/im/vector/app/features/permalink/PermalinkHandler.kt vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt vector/src/main/java/im/vector/app/features/spaces/NewSpaceSummaryController.kt vector/src/main/java/im/vector/app/features/spaces/NewSpaceSummaryItem.kt vector/src/main/java/im/vector/app/features/spaces/SpaceSummaryController.kt vector/src/main/java/im/vector/app/features/spaces/SpaceSummaryItem.kt vector/src/main/java/im/vector/app/features/spaces/SubSpaceSummaryItem.kt vector/src/main/res/xml/vector_settings_labs.xml vector/src/main/res/xml/vector_settings_preferences.xml
214 lines
6.8 KiB
Bash
Executable file
214 lines
6.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
mydir="$(dirname "$(realpath "$0")")"
|
|
|
|
source "$mydir/merge_helpers.sh"
|
|
|
|
# https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/
|
|
max_changelog_len=500
|
|
|
|
if [ "$1" = "preview" ]; then
|
|
preview=1
|
|
shift
|
|
else
|
|
preview=0
|
|
require_clean_git
|
|
fi
|
|
|
|
|
|
if [ "$1" = "test" ]; then
|
|
release_type="test"
|
|
previousTestVersionCode="$2"
|
|
else
|
|
release_type="normal"
|
|
fi
|
|
|
|
|
|
pushd "$mydir" > /dev/null
|
|
|
|
do_translation_pull=0
|
|
|
|
if [ "$release_type" = "normal" ] && [ "$preview" != 1 ]; then
|
|
if git remote get-url weblate > /dev/null; then
|
|
echo "Pulling translations..."
|
|
translation commit && do_translation_pull=1 || echo "translation tool not found, skipping forced commit"
|
|
git fetch weblate
|
|
git merge weblate/sc --no-edit
|
|
else
|
|
echo "WARN: remote weblate not found, not updating translations"
|
|
fi
|
|
fi
|
|
|
|
last_tag=`downstream_latest_tag`
|
|
|
|
build_gradle="vector-app/build.gradle"
|
|
|
|
get_prop() {
|
|
local prop="$1"
|
|
cat "$build_gradle" | grep "$prop = " | sed "s|$prop = ||"
|
|
}
|
|
set_prop() {
|
|
local prop="$1"
|
|
local value="$2"
|
|
if grep -q "$prop =" "$build_gradle"; then
|
|
local equals="= "
|
|
local not_equals=""
|
|
else
|
|
local equals=""
|
|
# Don't touch lines that have an equals in it, but not for this prop
|
|
local not_equals="/=/! "
|
|
fi
|
|
sed -i "$not_equals""s|\($prop $equals\).*|\1$value|g" "$build_gradle"
|
|
}
|
|
|
|
# Legacy versioning, based on Element's version codes
|
|
#calculate_version_code() {
|
|
# echo "(($versionMajor * 10000 + $versionMinor * 100 + $versionPatch + $scVersion) + 4000000) * 10" | bc
|
|
#}
|
|
|
|
|
|
#
|
|
# Increase version
|
|
#
|
|
|
|
versionMajor=`get_prop ext.versionMajor`
|
|
versionMinor=`get_prop ext.versionMinor`
|
|
versionPatch=`get_prop ext.versionPatch`
|
|
scVersion=`get_prop ext.scVersion`
|
|
|
|
previousVersionCode=`grep '^ versionCode ' "$build_gradle" | sed 's|^ versionCode ||'`
|
|
# Legacy versioning, based on Element's version codes
|
|
#versionCode=`calculate_version_code`
|
|
#if [ "$release_type" = "test" ]; then
|
|
# if [ ! -z "$previousTestVersionCode" ]; then
|
|
# previousVersionCode=$((previousVersionCode > previousTestVersionCode ? previousVersionCode : previousTestVersionCode))
|
|
# fi
|
|
# versionCode=$((previousVersionCode + 1))
|
|
#elif [ "$versionCode" = "$previousVersionCode" ]; then
|
|
# ((scVersion++))
|
|
# echo "Increase downstream version to $scVersion"
|
|
# versionCode=`calculate_version_code`
|
|
#else
|
|
# echo "Upstream version upgrade, no need to change downstream version"
|
|
#fi
|
|
# New versioning: versionCode incremented independently of versionName, and always increment scVersion
|
|
((scVersion++))
|
|
if [ "$release_type" = "test" ]; then
|
|
if [ ! -z "$previousTestVersionCode" ]; then
|
|
testVersionCount=$((previousVersionCode > previousTestVersionCode ? 1 : (previousTestVersionCode - previousVersionCode + 1)))
|
|
previousVersionCode=$((previousVersionCode > previousTestVersionCode ? previousVersionCode : previousTestVersionCode))
|
|
else
|
|
testVersionCount=1
|
|
fi
|
|
versionCode=$((previousVersionCode + 1))
|
|
else
|
|
versionCode=$((previousVersionCode + 10))
|
|
# Ensure the new version code is higher than the one of the last test version
|
|
if [ -f "$HOME/fdroid/sm/data/metadata/de.spiritcroc.riotx.x.yml" ]; then
|
|
lastTestVersionCode="$(cat "$HOME/fdroid/sm/data/metadata/de.spiritcroc.riotx.x.yml"|grep versionCode|tail -n 1|sed 's|.*: ||')"
|
|
else
|
|
read -p "Enter versionCode of last test version: " lastTestVersionCode
|
|
fi
|
|
while [ "$lastTestVersionCode" -ge "$versionCode" ]; do
|
|
versionCode=$((versionCode + 10))
|
|
done
|
|
fi
|
|
|
|
|
|
version="$versionMajor.$versionMinor.$versionPatch.sc$scVersion"
|
|
|
|
if [ "$release_type" = "test" ]; then
|
|
version="$version-test$testVersionCount"
|
|
fi
|
|
|
|
new_tag="sc_v$version"
|
|
|
|
if ((preview)); then
|
|
echo "versionCode $versionCode"
|
|
echo "versionName $version"
|
|
exit 0
|
|
fi
|
|
|
|
set_prop "ext.scVersion" "$scVersion"
|
|
set_prop "versionCode" "$versionCode"
|
|
set_prop "versionName" "\"$version\""
|
|
|
|
|
|
|
|
#
|
|
# Generate changelog
|
|
#
|
|
|
|
git_changelog() {
|
|
git_args="$1"
|
|
|
|
git log $git_args --pretty=format:"- %s" "$last_tag".. --committer="$(git config user.name)" \
|
|
| grep -v 'Automatic revert to unchanged upstream strings' \
|
|
| grep -v 'Automatic upstream merge preparation' \
|
|
| sed "s|Merge tag '\\(.*\\)' into sc.*|Update codebase to Element \1|" \
|
|
| sed "s|Merge tag '\\(.*\\)' into merge.*|Update codebase to Element \1|" \
|
|
| grep -v "Merge .*branch" \
|
|
| grep -v "Automatic color correction" \
|
|
| grep -v "Automatic upstream merge postprocessing" \
|
|
| grep -v "Automatic SchildiChat string correction" \
|
|
| grep -v 'merge_helpers\|README\|increment_version' \
|
|
| grep -v "\\.sh" \
|
|
| grep -v "\\.md" \
|
|
| grep -v "Update string correction" \
|
|
| grep -v "Added translation using Weblate" \
|
|
| grep -v "Translated using Weblate" \
|
|
| grep -v "weblate/sc" \
|
|
| grep -v "\\[.*merge.*\\]" \
|
|
| grep -v "Disable Android Auto supports" \
|
|
| grep -v "\\[gplay-release\\]" \
|
|
|| echo "No significant changes since the last stable release"
|
|
}
|
|
|
|
changelog_dir=fastlane/metadata/android/en-US/changelogs
|
|
changelog_file="$changelog_dir/$versionCode.txt"
|
|
mkdir -p "$changelog_dir"
|
|
if [ "$release_type" = "test" ]; then
|
|
git_changelog > "$changelog_file"
|
|
# Automated changelog is usually too long for F-Droid changelog
|
|
if [ "$(wc -m "$changelog_file"|sed 's| .*||')" -gt "$max_changelog_len" ]; then
|
|
current_commit="$(git rev-parse HEAD)"
|
|
changelog_add="$(echo -e "- ...\n\nAll changes: https://github.com/SchildiChat/SchildiChat-android/commits/$current_commit")"
|
|
addlen="$(expr length "$changelog_add")"
|
|
# - 3: probably not necessary, but I don't want to risk a broken link because of some miscalculation
|
|
allow_len=$((max_changelog_len - addlen - 3))
|
|
while [ "$(wc -m "$changelog_file"|sed 's| .*||')" -gt "$allow_len" ]; do
|
|
content_shortened="$(head -n -1 "$changelog_file")"
|
|
echo "$content_shortened" > "$changelog_file"
|
|
done
|
|
echo "$changelog_add" >> "$changelog_file"
|
|
fi
|
|
else
|
|
git_changelog --reverse > "$changelog_file"
|
|
fi
|
|
if [ "$release_type" != "test" ]; then
|
|
echo "Opening changelog for manual revision..."
|
|
await_edit "$changelog_file" || true
|
|
fi
|
|
|
|
while [ "$(wc -m "$changelog_file"|sed 's| .*||')" -gt "$max_changelog_len" ]; do
|
|
echo "Your changelog is too long, only $max_changelog_len characters allowed!"
|
|
echo "Currently: $(wc -m "$changelog_file")"
|
|
read -p "Press enter when changelog is done"
|
|
done
|
|
|
|
git add -A
|
|
if [ "$release_type" = "test" ]; then
|
|
git commit -m "Test version $versionCode"
|
|
else
|
|
git commit -m "Increment version"
|
|
git tag "$new_tag"
|
|
fi
|
|
|
|
if ((do_translation_pull)); then
|
|
echo "Updating weblate repo..."
|
|
translation pull
|
|
fi
|
|
|
|
popd > /dev/null
|