1#!/bin/bash -e
2
3# Copyright (C) 2019 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# This script freezes APIs of a sysprop_library after checking compatibility
18# between latest API and current API.
19#
20# Usage: freeze-sysprop-api-files.sh <modulePath> <moduleName>
21#
22# <modulePath>: the directory, either relative or absolute, which holds the
23# Android.bp file defining sysprop_library.
24#
25# <moduleName>: the name of sysprop_library to freeze API.
26#
27# Example:
28# $ . build/envsetup.sh && lunch aosp_arm64-user
29# $ . build/soong/scripts/freeze-sysprop-api-files.sh \
30#       system/libsysprop/srcs PlatformProperties
31
32if [[ -z "$1" || -z "$2" ]]; then
33  echo "usage: $0 <modulePath> <moduleName>" >&2
34  exit 1
35fi
36
37api_dir=$1/api
38
39m "$2-check-api" && cp -f "${api_dir}/$2-current.txt" "${api_dir}/$2-latest.txt"
40