Selaa lähdekoodia

Update proguard rules to keep protobuf files (#93)

Joshua Kuestersteffen 4 vuotta sitten
vanhempi
sitoutus
9631bf24d0
3 muutettua tiedostoa jossa 37 lisäystä ja 1 poistoa
  1. 33 0
      DEVELOPMENT.md
  2. 1 1
      README.md
  3. 3 0
      app/proguard-rules.pro

+ 33 - 0
DEVELOPMENT.md

@@ -0,0 +1,33 @@
+# Developing Unlauncher
+
+## Building a release
+
+Building an Unlauncher release is straightforward.  
+
+1. Push a tag to GitHub (e.g. `1.2.1`) from the latest commit on the `master` branch
+    1. Make sure that the `versionName` in the [build.gradle.kts](./build.gradle.kts) matches the tag that you are pushing
+1. Add release notes to the draft Release on GitHub that was created by the CI and publish the release
+1. Prepare for the next release by incrementing the `versionCode` and `versionName` in the [build.gradle.kts](./build.gradle.kts) file
+1. Monitor the [F-Droid build status](#checking-f-droid-build-status) to make sure the tag is successfully published (can take several days depending on the build queue)
+
+## Building a beta release
+
+> A beta release should be published ahead of an official release any time there are major changes to the app or the build process.
+
+Unfortunately, F-Droid does not have an automatic process for triggering "beta" releases like it does for normal automatic updates [yet](https://gitlab.com/fdroid/fdroidserver/-/issues/161).
+However, an F-Droid user will only be prompted to upgrade an app (or have the app be auto-upgraded) if their locally installed app has a version/code that is less than the `CurrenVersion`/`CurrentVersionCode` defined in the [fdroiddata yml config file](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/com.jkuester.unlauncher.yml).
+
+So, creating a beta release for Unlauncher requires the following steps:
+
+1. Push a beta tag to GitHub (e.g. `2.0.0-beta.1`)
+    1. _Do not_ update the `versionName` in the [build.gradle.kts](./build.gradle.kts) file to match the beta tag name since this will trigger a normal release in F-Droid
+1. Delete the draft Release on GitHub for the beta tag that was created by the CI
+1. Raise a MR to [fdroid/fdroiddata](https://gitlab.com/fdroid/fdroiddata) to add a new `Builds` entry for the beta release
+    1. _Do not_ update the configured `CurrenVersion`/`CurrentVersionCode` since that will trigger a normal release
+1. Prepare for the next release by incrementing the `versionCode` in the [build.gradle.kts](./build.gradle.kts) file (`versionName` should not be updated)
+
+## Checking F-Droid build status
+
+The status for the latest Unlauncher F-Droid build can be found [here](https://f-droid.org/wiki/page/com.jkuester.unlauncher/lastbuild).
+
+A list of all recent F-Droid builds can be found [here](https://f-droid.org/wiki/index.php?title=Special:RecentChanges&days=30&from=&hidebots=0&hideanons=1&hideliu=1&limit=500).

+ 1 - 1
README.md

@@ -58,6 +58,6 @@ If you have any issues or questions, please log a [Github issue](https://github.
 
 ## Contributing
 
-Contributions are welcome! Simply open a pull request.
+Contributions are welcome! Simply open a pull request. See the [development guide](./DEVELOPMENT.md) for details.
 
 If a monetary contribution is more your style, please consider buying [sduduzog](https://github.com/sduduzog) (the author of the original project) a [cup of coffee](https://buymeacoff.ee/sduduzog).

+ 3 - 0
app/proguard-rules.pro

@@ -18,3 +18,6 @@
 # If you keep the line number information, uncomment this to
 # hide the original source file name.
 #-renamesourcefileattribute SourceFile
+
+# Keep the generated protobuf files
+-keep public class * extends com.google.protobuf.GeneratedMessageLite { *; }