Export default apex version from updatable_modules.go to Bazel's

apex_toolchain through soong_injection.

This is necessary to keep both Bazel and Soong in sync.

Test: presubmit
Bug: 238723069
Fixes: 238153998

Change-Id: Ibf4a8ed91d358dc7800c10e4112485a52f0606bb
This commit is contained in:
Jingwen Chen 2022-07-29 02:25:34 +00:00
parent 21b027dca8
commit 7810e17e54
4 changed files with 44 additions and 0 deletions

View file

@ -26,6 +26,7 @@ bootstrap_go_package {
"apex_sdk_member.go",
"apex_singleton.go",
"builder.go",
"bp2build.go",
"deapexer.go",
"key.go",
"prebuilt.go",

30
apex/bp2build.go Normal file
View file

@ -0,0 +1,30 @@
// Copyright (C) 2022 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.
package apex
import (
"android/soong/android"
"strings"
)
// This file contains the bp2build integration for the apex package.
// Export constants as Starlark using bp2build to Bazel.
func BazelApexToolchainVars() string {
content := []string{
"# GENERATED BY SOONG. DO NOT EDIT.",
"default_manifest_version = " + android.DefaultUpdatableModuleVersion, // constants.go is different in every branch.
}
return strings.Join(content, "\n")
}

View file

@ -10,6 +10,8 @@ import (
cc_config "android/soong/cc/config"
java_config "android/soong/java/config"
"android/soong/apex"
"github.com/google/blueprint/proptools"
)
@ -28,6 +30,9 @@ func CreateSoongInjectionFiles(cfg android.Config, metrics CodegenMetrics) []Baz
files = append(files, newFile("java_toolchain", GeneratedBuildFileName, "")) // Creates a //java_toolchain package.
files = append(files, newFile("java_toolchain", "constants.bzl", java_config.BazelJavaToolchainVars(cfg)))
files = append(files, newFile("apex_toolchain", GeneratedBuildFileName, "")) // Creates a //apex_toolchain package.
files = append(files, newFile("apex_toolchain", "constants.bzl", apex.BazelApexToolchainVars()))
files = append(files, newFile("metrics", "converted_modules.txt", strings.Join(metrics.convertedModules, "\n")))
files = append(files, newFile("product_config", "soong_config_variables.bzl", cfg.Bp2buildSoongConfigDefinitions.String()))

View file

@ -103,6 +103,14 @@ func TestCreateBazelFiles_Bp2Build_CreatesDefaultFiles(t *testing.T) {
dir: "java_toolchain",
basename: "constants.bzl",
},
{
dir: "apex_toolchain",
basename: GeneratedBuildFileName,
},
{
dir: "apex_toolchain",
basename: "constants.bzl",
},
{
dir: "metrics",
basename: "converted_modules.txt",