gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-android] 02/03: [wallet] introduce build flavors for distri


From: gnunet
Subject: [taler-taler-android] 02/03: [wallet] introduce build flavors for distribution channels
Date: Tue, 21 Jul 2020 20:07:07 +0200

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a commit to branch master
in repository taler-android.

commit 18f311512aec7b828c87c3b297135482abd389a2
Author: Torsten Grote <t@grobox.de>
AuthorDate: Tue Jul 21 14:58:44 2020 -0300

    [wallet] introduce build flavors for distribution channels
    
    (google play, fdroid, nightly)
    
    and show flavor name in dev settings
---
 wallet/.gitlab-ci.yml                              | 14 +----------
 wallet/build.gradle                                | 28 ++++++++++++++++++++++
 .../net/taler/wallet/settings/SettingsFragment.kt  |  3 ++-
 wallet/src/nightly/res/values/strings.xml          | 19 +++++++++++++++
 4 files changed, 50 insertions(+), 14 deletions(-)

diff --git a/wallet/.gitlab-ci.yml b/wallet/.gitlab-ci.yml
index 8845aa4..56768f7 100644
--- a/wallet/.gitlab-ci.yml
+++ b/wallet/.gitlab-ci.yml
@@ -23,20 +23,8 @@ wallet_deploy_nightly:
   script:
     # Ensure that key exists
     - test -z "$DEBUG_KEYSTORE" && exit 0
-    # Rename nightly app
-    - sed -i
-      's,<string name="app_name">.*</string>,<string name="app_name">Taler 
Wallet Nightly</string>,'
-      wallet/src/main/res/values*/strings.xml
-    # Set time-based version code
-    - export versionCode=$(date '+%s')
-    - sed -i "s,^\(\s*versionCode\) *[0-9].*,\1 $versionCode," 
wallet/build.gradle
-    # Add commit to version name
-    - export versionName=$(git rev-parse --short=7 HEAD)
-    - sed -i "s,^\(\s*versionName\ *\"[0-9].*\)\",\1 ($versionName)\"," 
wallet/build.gradle
-    # Set nightly application ID
-    - sed -i "s,^\(\s*applicationId\) \"*[a-z\.].*\",\1 
\"net.taler.wallet.nightly\"," wallet/build.gradle
     # Build the APK
-    - ./gradlew :wallet:assembleDebug
+    - ./gradlew :wallet:assembleNightlyDebug
     # START only needed while patch not accepted/released upstream
     - apt update && apt install patch
     - patch -b /usr/lib/python3/dist-packages/fdroidserver/nightly.py 
nightly-stats.patch
diff --git a/wallet/build.gradle b/wallet/build.gradle
index d93b8b9..5b28c6c 100644
--- a/wallet/build.gradle
+++ b/wallet/build.gradle
@@ -25,6 +25,18 @@ plugins {
 
 def walletCoreVersion = "v0.7.1-dev.10"
 
+static def versionCodeEpoch() {
+    return (new Date().getTime() / 1000).toInteger()
+}
+def gitCommit = { ->
+    def stdout = new ByteArrayOutputStream()
+    exec {
+        commandLine 'git', 'rev-parse', '--short=7', 'HEAD'
+        standardOutput = stdout
+    }
+    return stdout.toString().trim()
+}
+
 android {
     compileSdkVersion 29
     //noinspection GradleDependency
@@ -45,6 +57,22 @@ android {
             proguardFiles 
getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
     }
+    flavorDimensions "distributionChannel"
+    productFlavors {
+        fdroid {
+            dimension "distributionChannel"
+            applicationIdSuffix ".fdroid"
+        }
+        google {
+            dimension "distributionChannel"
+        }
+        nightly {
+            dimension "distributionChannel"
+            applicationIdSuffix ".nightly"
+            versionCode versionCodeEpoch()
+            versionNameSuffix " ($gitCommit)"
+        }
+    }
 
     compileOptions {
         sourceCompatibility = 1.8
diff --git a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt 
b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
index d9b1def..a52b9d8 100644
--- a/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/settings/SettingsFragment.kt
@@ -27,6 +27,7 @@ import androidx.preference.SwitchPreferenceCompat
 import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_SHORT
 import com.google.android.material.snackbar.Snackbar
 import net.taler.common.toRelativeTime
+import net.taler.wallet.BuildConfig.FLAVOR
 import net.taler.wallet.BuildConfig.VERSION_CODE
 import net.taler.wallet.BuildConfig.VERSION_NAME
 import net.taler.wallet.BuildConfig.WALLET_CORE_VERSION
@@ -82,7 +83,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
         model.devMode.observe(viewLifecycleOwner, Observer { enabled ->
             prefDevMode.isChecked = enabled
             if (enabled) {
-                prefVersionApp.summary = "$VERSION_NAME ($VERSION_CODE)"
+                prefVersionApp.summary = "$VERSION_NAME ($FLAVOR 
$VERSION_CODE)"
                 prefVersionCore.summary = WALLET_CORE_VERSION
                 model.exchangeVersion?.let { prefVersionExchange.summary = it }
                 model.merchantVersion?.let { prefVersionMerchant.summary = it }
diff --git a/wallet/src/nightly/res/values/strings.xml 
b/wallet/src/nightly/res/values/strings.xml
new file mode 100644
index 0000000..7276d52
--- /dev/null
+++ b/wallet/src/nightly/res/values/strings.xml
@@ -0,0 +1,19 @@
+<!--
+  ~ This file is part of GNU Taler
+  ~ (C) 2020 Taler Systems S.A.
+  ~
+  ~ GNU Taler is free software; you can redistribute it and/or modify it under 
the
+  ~ terms of the GNU General Public License as published by the Free Software
+  ~ Foundation; either version 3, or (at your option) any later version.
+  ~
+  ~ GNU Taler is distributed in the hope that it will be useful, but WITHOUT 
ANY
+  ~ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
FOR
+  ~ A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License along 
with
+  ~ GNU Taler; see the file COPYING.  If not, see 
<http://www.gnu.org/licenses/>
+  -->
+
+<resources>
+    <string name="app_name">Taler Wallet Nightly</string>
+</resources>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]