Spracherkennung für: .go vermutete Sprache: Abap {ABAP[56] VDM[34] VHDL[27]} [Methode: maximale Elemente, drei Dimensionen]
// Copyright
2024 Google Inc. All rights reserved.
//
// 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 filesystem
import (
"android/soong/android"
"strings"
"github.com/google/blueprint/proptools"
)
func init() {
android.RegisterModuleType(
"bootconfig", BootconfigModuleFactory)
pctx.
Import(
"android/soong/android")
}
type bootconfigProperty struct {
// List
of bootconfig
parameters that will be written
as a
line separated list
in the output
//
file.
Boot_config []
string
// Path
to the
file that contains the list
of bootconfig
parameters. This will be appended
//
to the output
file, after the entries
in boot_config.
Boot_config_file
*string `android:"path"`
}
type BootconfigModule struct {
android.ModuleBase
properties bootconfigProperty
}
// bootconfig
module generates the `vendor-bootconfig.img`
file, which lists the bootconfi
g
// parameters and can be passed as a `--vendor_bootconfig` value in mkbootimg invocation.
func BootconfigModuleFactory() android.Module {
module := &BootconfigModule{}
module.AddProperties(&module.properties)
android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon)
return module
}
func (m *BootconfigModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
bootConfig := m.properties.Boot_config
bootConfigFileStr := proptools.String(m.properties.Boot_config_file)
if len(bootConfig) == 0 && len(bootConfigFileStr) == 0 {
return
}
var bootConfigFile android.Path
if len(bootConfigFileStr) > 0 {
bootConfigFile = android.PathForModuleSrc(ctx, bootConfigFileStr)
}
outputPath := android.PathForModuleOut(ctx, ctx.ModuleName(), "vendor-bootconfig.img")
bootConfigOutput := android.PathForModuleOut(ctx, ctx.ModuleName(), "bootconfig.txt")
android.WriteFileRule(ctx, bootConfigOutput, strings.Join(bootConfig, "\n"))
bcFiles := android.Paths{bootConfigOutput}
if bootConfigFile != nil {
bcFiles = append(bcFiles, bootConfigFile)
}
ctx.Build(pctx, android.BuildParams{
Rule: android.CatRule,
Description: "concatenate bootconfig parameters",
Inputs: bcFiles,
Output: outputPath,
})
ctx.SetOutputFiles(android.Paths{outputPath}, "")
}
[Dauer der Verarbeitung: 0.2 Sekunden, vorverarbeitet 2026-10-25]