Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/tools/tools/treble/build/treble_build/cmd/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 2 kB image not shown  

Quelle  host.go   Sprache: unbekannt

 
Spracherkennung für: .go vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

// Copyright 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 main

import (
 "context"
 "fmt"
 "io"
 "path/filepath"

 "tools/treble/build/report/report"
)

type hostReport struct {
 toolPath string
}

// Determine host tools
func (h *hostReport) Run(ctx context.Context, rtx *report.Context, rsp *response) error {
 var err error
 rsp.Host, err = report.ResolveHostTools(ctx, h.toolPath)
 if err != nil {
  return err
 }
 rsp.Targets = append(rsp.Targets, rsp.Host.Targets...)
 return nil
}

func (h *hostReport) PrintText(w io.Writer, rsp *response, verbose bool) {
 if rsp.Host != nil {
  // Get the unique number of inputs
  hostSourceFileMap := make(map[string]bool)
  hostSourceProjectMap := make(map[string]bool)

  for _, t := range rsp.Host.Targets {
   // Find target in report
   if bt, exists := rsp.Report.Targets[t]; exists {
    for name, proj := range bt.Projects {
     hostSourceProjectMap[name] = true
     for f := range proj.Files {
      hostSourceFileMap[filepath.Join(name, f)] = true
     }
    }
    // Remove the target from being printed
    delete(rsp.Report.Targets, t)
   }
  }

  fmt.Fprintln(w, "  Host Tools")
  fmt.Fprintf(w, "      %-20s       : %s\n", "Directory", rsp.Host.Path)
  fmt.Fprintf(w, "         %-20s    : %d\n", "Tools", len(rsp.Host.Targets))
  fmt.Fprintf(w, "         %-20s    : %d\n", "Prebuilts", rsp.Host.SymLinks)
  fmt.Fprintf(w, "         %-20s    : %d\n", "Inputs", len(hostSourceFileMap))
  fmt.Fprintf(w, "         %-20s    : %d\n", "Projects", len(hostSourceProjectMap))

  if verbose {
   for proj, _ := range hostSourceProjectMap {
    fmt.Fprintf(w, "            %s\n", proj)
   }
  }
 }

}

[Dauer der Verarbeitung: 0.2 Sekunden, vorverarbeitet 2026-06-27]