Provide an Android version code derived from the Emacs version

The version code is intended to be an integer that increments
for each Android package release
(https://developer.android.com/studio/publish/versioning#versioningsettings).

If we keep this updated under version control, then F-Droid (a
third-party Android package repository), can watch for that, and
use it to automatically build Emacs packages for Android each
time a new Emacs release is tagged
(https://f-droid.org/en/docs/Build_Metadata_Reference/#UpdateCheckData).

* admin/admin.el (set-version): Update version code in
java/incrementing-version-code
* java/incrementing-version-code: New file containing an Android
version code corresponding to the current Emacs version.
(bug#75809)
This commit is contained in:
Peter Oliver 2025-01-27 10:59:19 +00:00 committed by Po Lu
parent 59fcb2aa1b
commit 8099dc6e3a
2 changed files with 19 additions and 0 deletions

View file

@ -122,6 +122,13 @@ Root must be the root of an Emacs source tree."
(rx (and "AC_INIT" (1+ (not (in ?,)))
?, (0+ space) ?\[
(submatch (1+ (in "0-9."))))))
(set-version-in-file root "java/incrementing-version-code"
(apply #'format "%02d%02d%02d000"
(mapcar #'string-to-number
(split-string version "\\.")))
(rx (and line-start
(submatch (1+ (in digit)))
line-end)))
(set-version-in-file root "nt/README.W32" version
(rx (and "version" (1+ space)
(submatch (1+ (in "0-9."))))))

View file

@ -0,0 +1,12 @@
; This file contains an Android version code
; (https://developer.android.com/studio/publish/versioning#versioningsettings)
; corresponding to the current Emacs version.
;
; The version code in AndroidManifest.xml.in is hard-coded to a fixed
; value, to make package downgrades possible. Where an incrementing
; version code is required (for example, for automated F-Droid package
; builds (https://f-droid.org/packages/org.gnu.emacs/)), the version
; code in this file should be referred to and patched in to
; AndroidManifest.xml.
300093000