Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7810e17e authored by Jingwen Chen's avatar Jingwen Chen
Browse files

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
parent 21b027dc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ bootstrap_go_package {
        "apex_sdk_member.go",
        "apex_singleton.go",
        "builder.go",
        "bp2build.go",
        "deapexer.go",
        "key.go",
        "prebuilt.go",

apex/bp2build.go

0 → 100644
+30 −0
Original line number Diff line number Diff line
// 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")
}
+5 −0
Original line number Diff line number Diff line
@@ -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()))
+8 −0
Original line number Diff line number Diff line
@@ -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",