# # Copyright (C) 2014 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 current version code scheme for the package apk is: # Mbbbba # where # M - Chromium milestone number minus 36. (1 or more digits). This is to # ensure that our version codes are lower than the ones currently used by # Chrome for Android, so that we can adopt their scheme in future. # bbbb - manually specified build number (exactly 4 digits). This defaults to # 0000, or 9999 in local builds. # a - device architecture (exactly 1 digit). Current valid values are: # 1 : armv7-a # 2 : armv8-a (arm64) # 4 : mips # 7 : x86 # 8 : x86_64 # 64-bit architectures must be higher than their corresponding 32-bit # architectures to ensure that 64-bit devices receive the multiarch APK. # x86 must be higher than ARM to avoid x86 devices receiving ARM APKs # and running them in emulation. # TODO(torne): get this from Chromium automatically. version_milestone := 39 version_offset_milestone := $(shell echo $(version_milestone) \ | awk '{print $$1 - 36}') ifneq "" "$(filter eng.%,$(BUILD_NUMBER))" version_build_number := 9999 # BUILD_NUMBER has a timestamp in it, which means that # it will change every time. Pick a stable value. version_name_tag := eng.$(USER) else ifeq "$(version_build_number)" "" version_build_number := 0000 endif version_name_tag := $(BUILD_NUMBER) endif ifeq "$(TARGET_ARCH)" "x86_64" version_arch := 8 else ifeq "$(TARGET_ARCH)" "x86" version_arch := 7 else ifeq "$(TARGET_ARCH)" "mips" version_arch := 4 else ifeq "$(TARGET_ARCH)" "arm64" version_arch := 2 else ifeq "$(TARGET_ARCH)" "arm" version_arch := 1 else version_arch := 0 $(warning Could not determine target architecture for versioning) endif version_code := $(version_offset_milestone)$(version_build_number)$(version_arch) # Use the milestone, build number and architecture to construct a version # name like "37 (1424323-arm64)". # TODO(torne): get the full version number from Chromium. version_name := $(version_milestone) ($(version_name_tag)-$(TARGET_ARCH)) # Clean up locals version_milestone := version_build_number := version_name_tag := version_arch :=