• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2008 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17#
18# Handle various build version information.
19#
20# Guarantees that the following are defined:
21#     PLATFORM_VERSION
22#     PLATFORM_DISPLAY_VERSION
23#     PLATFORM_SDK_VERSION
24#     PLATFORM_VERSION_CODENAME
25#     DEFAULT_APP_TARGET_SDK
26#     BUILD_ID
27#     BUILD_NUMBER
28#     PLATFORM_SECURITY_PATCH
29#     PLATFORM_VNDK_VERSION
30#     PLATFORM_SYSTEMSDK_VERSIONS
31#
32
33# Look for an optional file containing overrides of the defaults,
34# but don't cry if we don't find it.  We could just use -include, but
35# the build.prop target also wants INTERNAL_BUILD_ID_MAKEFILE to be set
36# if the file exists.
37#
38INTERNAL_BUILD_ID_MAKEFILE := $(wildcard $(BUILD_SYSTEM)/build_id.mk)
39ifdef INTERNAL_BUILD_ID_MAKEFILE
40  include $(INTERNAL_BUILD_ID_MAKEFILE)
41endif
42
43DEFAULT_PLATFORM_VERSION := UP1A
44.KATI_READONLY := DEFAULT_PLATFORM_VERSION
45MIN_PLATFORM_VERSION := UP1A
46MAX_PLATFORM_VERSION := VP1A
47
48# The last stable version name of the platform that was released.  During
49# development, this stays at that previous version, while the codename indicates
50# further work based on the previous version.
51PLATFORM_VERSION_LAST_STABLE := 14
52.KATI_READONLY := PLATFORM_VERSION_LAST_STABLE
53
54# These are the current development codenames, if the build is not a final
55# release build.  If this is a final release build, it is simply "REL".
56PLATFORM_VERSION_CODENAME.UP1A := REL
57PLATFORM_VERSION_CODENAME.VP1A := VanillaIceCream
58
59# This is the user-visible version.  In a final release build it should
60# be empty to use PLATFORM_VERSION as the user-visible version.  For
61# a preview release it can be set to a user-friendly value like `12 Preview 1`
62PLATFORM_DISPLAY_VERSION :=
63
64ifndef PLATFORM_SDK_VERSION
65  # This is the canonical definition of the SDK version, which defines
66  # the set of APIs and functionality available in the platform.  It
67  # is a single integer that increases monotonically as updates to
68  # the SDK are released.  It should only be incremented when the APIs for
69  # the new release are frozen (so that developers don't write apps against
70  # intermediate builds).  During development, this number remains at the
71  # SDK version the branch is based on and PLATFORM_VERSION_CODENAME holds
72  # the code-name of the new development work.
73
74  # When you increment the PLATFORM_SDK_VERSION please ensure you also
75  # clear out the following text file of all older PLATFORM_VERSION's:
76  # cts/tests/tests/os/assets/platform_versions.txt
77  PLATFORM_SDK_VERSION := 34
78endif
79.KATI_READONLY := PLATFORM_SDK_VERSION
80
81# This is the sdk extension version of this tree.
82PLATFORM_SDK_EXTENSION_VERSION := 7
83.KATI_READONLY := PLATFORM_SDK_EXTENSION_VERSION
84
85# This is the sdk extension version that PLATFORM_SDK_VERSION ships with.
86PLATFORM_BASE_SDK_EXTENSION_VERSION := $(PLATFORM_SDK_EXTENSION_VERSION)
87.KATI_READONLY := PLATFORM_BASE_SDK_EXTENSION_VERSION
88
89# This are all known codenames.
90PLATFORM_VERSION_KNOWN_CODENAMES := \
91Base Base11 Cupcake Donut Eclair Eclair01 EclairMr1 Froyo Gingerbread GingerbreadMr1 \
92Honeycomb HoneycombMr1 HoneycombMr2 IceCreamSandwich IceCreamSandwichMr1 \
93JellyBean JellyBeanMr1 JellyBeanMr2 Kitkat KitkatWatch Lollipop LollipopMr1 M N NMr1 O OMr1 P \
94Q R S Sv2 Tiramisu UpsideDownCake
95
96# Convert from space separated list to comma separated
97PLATFORM_VERSION_KNOWN_CODENAMES := \
98  $(call normalize-comma-list,$(PLATFORM_VERSION_KNOWN_CODENAMES))
99.KATI_READONLY := PLATFORM_VERSION_KNOWN_CODENAMES
100
101ifndef PLATFORM_SECURITY_PATCH
102    #  Used to indicate the security patch that has been applied to the device.
103    #  It must signify that the build includes all security patches issued up through the designated Android Public Security Bulletin.
104    #  It must be of the form "YYYY-MM-DD" on production devices.
105    #  It must match one of the Android Security Patch Level strings of the Public Security Bulletins.
106    #  If there is no $PLATFORM_SECURITY_PATCH set, keep it empty.
107    PLATFORM_SECURITY_PATCH := 2024-01-05
108endif
109
110include $(BUILD_SYSTEM)/version_util.mk
111