summaryrefslogtreecommitdiffstats
path: root/version.mk
diff options
context:
space:
mode:
authorMike Dodd <mdodd@google.com>2015-08-11 11:16:59 -0700
committerMike Dodd <mdodd@google.com>2015-08-12 12:47:26 -0700
commitd3b009ae55651f1e60950342468e3c37fdeb0796 (patch)
treebc4b489af52d0e2521e21167d2ad76a47256f348 /version.mk
parentef8c7abbcfc9c770385d6609a4b4bc70240ebdc4 (diff)
downloadandroid_packages_apps_Messaging-d3b009ae55651f1e60950342468e3c37fdeb0796.tar.gz
android_packages_apps_Messaging-d3b009ae55651f1e60950342468e3c37fdeb0796.tar.bz2
android_packages_apps_Messaging-d3b009ae55651f1e60950342468e3c37fdeb0796.zip
Initial checkin of AOSP Messaging app.
b/23110861 Change-Id: I11db999bd10656801e618f78ab2b2ef74136fff1
Diffstat (limited to 'version.mk')
-rw-r--r--version.mk123
1 files changed, 123 insertions, 0 deletions
diff --git a/version.mk b/version.mk
new file mode 100644
index 0000000..7407993
--- /dev/null
+++ b/version.mk
@@ -0,0 +1,123 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# The version code scheme for the package apk is:
+# Mmbbbtad
+# where
+# M - major version (one or more digits)
+# m - minor version (exactly 1 digit)
+# bbb - manually specified build number (exactly 3 digits)
+# t - build type (exactly 1 digit). Current valid values are:
+# 0 : internal (dev build)
+# 1 : prod build
+# a - device architecture (exactly 1 digit). Current valid values are:
+# 0 : non-native
+# 1 : armv5te
+# 3 : armv7-a
+# 4 : arm64-v8a
+# 5 : mips
+# 6 : mips-64
+# 7 : x86
+# 8 : x86-64
+# d - asset density (exactly 1 digit). Current valid values are:
+# 0 : all densities
+# 2 : mdpi
+# 4 : hdpi
+# 6 : xhdpi
+# 8 : xxhdpi
+# 9 : xxxhdpi
+# Mmbbb is specified manually. tad is automatically set during the build.
+#
+# For the client jar, the version code is agnostic to the target architecture and density: Mmbbbt00
+#
+# NOTE: arch needs to be more significant than density because x86 devices support running ARM
+# code in emulation mode, so all x86 versions must be higher than all ARM versions to ensure
+# we deliver true x86 code to those devices.
+
+# Specify the following manually. Note that base_version_minor must be exactly 1 digit and
+# base_version_build must be exactly 3 digits.
+base_version_major := 1
+base_version_minor := 0
+base_version_build := 001
+
+#####################################################
+#####################################################
+# Collect automatic version code parameters
+ifneq "" "$(filter eng.%,$(BUILD_NUMBER))"
+ # This is an eng build
+ base_version_buildtype := 0
+else
+ # This is a build server build
+ base_version_buildtype := 1
+endif
+
+# Set the device architecture digit
+ifeq "$(TARGET_ARCH)" "arm"
+ ifeq "$(TARGET_ARCH_VARIANT)" "armv5te"
+ base_version_arch := 1
+ else ifeq "$(TARGET_ARCH_VARIANT)" "armv7-a"
+ base_version_arch := 3
+ endif
+else ifeq "$(TARGET_ARCH)" "arm64"
+ base_version_arch := 4
+else ifeq "$(TARGET_ARCH)" "mips"
+ base_version_arch := 5
+else ifeq "$(TARGET_ARCH)" "x86"
+ base_version_arch := 7
+else ifeq "$(TARGET_ARCH)" "x86_64"
+ base_version_arch := 8
+else
+ base_version_arch := 0
+endif
+
+ifeq "$(package_dpi)" "mdpi"
+ base_version_density := 2
+else ifeq "$(package_dpi)" "hdpi"
+ base_version_density := 4
+else ifeq "$(package_dpi)" "xhdpi"
+ base_version_density := 6
+else ifeq "$(package_dpi)" "xxhdpi"
+ base_version_density := 8
+else ifeq "$(package_dpi)" "xxxhdpi"
+ base_version_density := 9
+else
+ base_version_density := 0
+endif
+
+# Build the version code
+version_code_package := $(base_version_major)$(base_version_minor)$(base_version_build)$(base_version_buildtype)$(base_version_arch)$(base_version_density)
+
+# The version name scheme for the package apk is:
+# - For eng build (t=1): M.m.bbb eng.$(USER)-hh
+# - For build server (t=0): M.m.bbb (nnnnnn-hh)
+# where nnnnnn is the build number from the build server (no zero-padding)
+# On eng builds, the BUILD_NUMBER has the user and timestamp inline
+ifneq "" "$(filter eng.%,$(BUILD_NUMBER))"
+ git_hash := $(shell git --git-dir $(LOCAL_PATH)/.git log -n 1 --pretty=format:%h)
+ date_string := $(shell date +%m%d%y_%H%M%S)
+ version_name_package := $(base_version_major).$(base_version_minor).$(base_version_build) (eng.$(USER).$(git_hash).$(date_string)-$(base_version_arch)$(base_version_density))
+else
+ version_name_package := $(base_version_major).$(base_version_minor).$(base_version_build) ($(BUILD_NUMBER)-$(base_version_arch)$(base_version_density))
+endif
+
+# Cleanup the locals
+base_version_major :=
+base_version_minor :=
+base_version_build :=
+base_version_buildtype :=
+base_version_arch :=
+base_version_density :=
+git_hash :=
+date_string :=