infinity-build/build.sh

44 lines
1.6 KiB
Bash
Raw Permalink Normal View History

2023-09-28 00:49:48 +00:00
#!/bin/sh
set -e
cd /build
if [ -d Infinity-For-Reddit ]
then
cd Infinity-For-Reddit
git reset --hard master
2023-10-11 20:33:27 +00:00
git fetch
2023-09-28 00:49:48 +00:00
git pull origin master
else
git clone https://github.com/Docile-Alligator/Infinity-For-Reddit.git
cd Infinity-For-Reddit
fi
touch /build/previous_tag
previous_tag=$(cat /build/previous_tag)
2023-10-21 17:13:23 +00:00
latest_tag=$(git describe --tag --abbrev=0)
2023-09-28 00:49:48 +00:00
[ "$previous_tag" = "$latest_tag" ] && exit 0
echo -n $latest_tag > /build/previous_tag
git reset --hard $latest_tag
api_file=app/src/main/java/ml/docilealligator/infinityforreddit/utils/APIUtils.java
sed -i "s|NOe2iKrPPzwscA|$API_TOKEN|" $api_file
sed -i "s|infinity://localhost|$REDIRECT_URI|" $api_file
sed -i -r "s|public static final String USER_AGENT = \".*?\";|public static final String USER_AGENT = \"android:personal-app:0.0.1 (by /u/$REDDIT_USERNAME)\";|g" $api_file
gradle_file=app/build.gradle
sed -i "s| buildTypes {| signingConfigs {\n release {\n storeFile file(\"/files/Infinity.jks\")\n storePassword \"Infinity\"\n keyAlias \"Infinity\"\n keyPassword \"Infinity\"\n }\n }\n buildTypes {|" $gradle_file
sed -i "s| minifyEnabled false| signingConfig signingConfigs.release\n minifyEnabled false|" $gradle_file
./gradlew assembleRelease
output_file=/build/Infinity-$latest_tag.apk
mv app/build/outputs/apk/release/app-release.apk $output_file
curl \
-F "payload_json={\"content\": \"A new version of Infinity is available ! ($previous_tag => $latest_tag)\"}" \
-F "file=@$output_file" \
$WEBHOOK_URL