blob: a3dda83b183d4191d7a27e5310d6d46b03ee5f4e [file] [log] [blame]
Jingwen Chen7810e172022-07-29 02:25:34 +00001// Copyright (C) 2022 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
Colin Crossd079e0b2022-08-16 10:27:33 -07007// http://www.apache.org/licenses/LICENSE-2.0
Jingwen Chen7810e172022-07-29 02:25:34 +00008//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14package apex
15
16import (
17 "android/soong/android"
Cole Faust9e384e22023-02-08 17:43:09 -080018 "encoding/json"
Jingwen Chen7810e172022-07-29 02:25:34 +000019 "strings"
20)
21
22// This file contains the bp2build integration for the apex package.
23
24// Export constants as Starlark using bp2build to Bazel.
Cole Faust9e384e22023-02-08 17:43:09 -080025func BazelApexToolchainVars() (string, error) {
26 marshalled, err := json.Marshal(apexAvailBaseline)
27 if err != nil {
28 return "", err
29 }
Jingwen Chen7810e172022-07-29 02:25:34 +000030 content := []string{
31 "# GENERATED BY SOONG. DO NOT EDIT.",
32 "default_manifest_version = " + android.DefaultUpdatableModuleVersion, // constants.go is different in every branch.
Cole Faust9e384e22023-02-08 17:43:09 -080033 "apex_available_baseline = json.decode('''" + string(marshalled) + "''')",
Jingwen Chen7810e172022-07-29 02:25:34 +000034 }
Cole Faust9e384e22023-02-08 17:43:09 -080035 return strings.Join(content, "\n"), nil
Jingwen Chen7810e172022-07-29 02:25:34 +000036}