• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// 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//
7//	http://www.apache.org/licenses/LICENSE-2.0
8//
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"
18	"encoding/json"
19	"strings"
20)
21
22// This file contains the bp2build integration for the apex package.
23
24// Export constants as Starlark using bp2build to Bazel.
25func BazelApexToolchainVars() (string, error) {
26	marshalled, err := json.Marshal(apexAvailBaseline)
27	if err != nil {
28		return "", err
29	}
30	content := []string{
31		"# GENERATED BY SOONG. DO NOT EDIT.",
32		"default_manifest_version = " + android.DefaultUpdatableModuleVersion, // constants.go is different in every branch.
33		"apex_available_baseline = json.decode('''" + string(marshalled) + "''')",
34	}
35	return strings.Join(content, "\n"), nil
36}
37