(defvar admin-git-command (executable-find "git")
"The `git' program to use.")
+(defvar admin-android-version-code-regexp
+ "\\bAuto-incrementing version code\\(?:.\\|\n\\)*\\([[:digit:]]\\{9\\}\\)$"
+ "Regexp with which to detect the version code in AndroidManifest.xml.")
+
(defun set-version (root version)
"Set Emacs version to VERSION in relevant files under ROOT.
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"
+ (set-version-in-file root "java/AndroidManifest.xml.in"
(apply #'format "%02d%02d%02d000"
(mapcar #'string-to-number
(split-string version "\\.")))
- (rx (and line-start
- (submatch (1+ (in digit)))
- line-end)))
+ admin-android-version-code-regexp)
(set-version-in-file root "nt/README.W32" version
(rx (and "version" (1+ space)
(submatch (1+ (in "0-9."))))))
android:label="GNU Emacs service"/>
</application>
</manifest>
+
+<!-- Auto-incrementing version code.
+
+This comment 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 facilitate
+package downgrades. Some automated systems employed by Android package
+repositories require an incrementing numeric version code to detect
+upgrades, which is provided here and is altered by admin/admin.el.
+Refer to e.g. https://forum.f-droid.org/t/emacs-packaging/30424/25.
+
+Version-code: 300050000
+
+-->
-; 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