protoutil

package
v0.0.0-...-51f9457 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package protoutil provides utility functions for protobuf messages in ../proto package.

Index

Constants

View Source
const BuildMediaType = "application/luci+proto; message=buildbucket.v2.Build"

BuildMediaType is a media type for a binary-encoded Build message.

View Source
const StepNameSep = "|"

StepNameSep is the separator between each node in step names.

Variables

This section is empty.

Functions

func BuildSets

func BuildSets(b *pb.Build) []string

BuildSets returns all of the buildsets of the build.

func FormatBucketID

func FormatBucketID(project, bucket string) string

FormatBucketID returns "{project}/{bucket}" string.

func FormatBuilderID

func FormatBuilderID(id *pb.BuilderID) string

FormatBuilderID returns "{project}/{bucket}/{builder}" string.

func GerritBuildSet

func GerritBuildSet(c *pb.GerritChange) string

GerritBuildSet returns a buildset representation of c, e.g. "patch/gerrit/chromium-review.googlesource.com/677784/5"

func GerritChangeURL

func GerritChangeURL(c *pb.GerritChange) string

GerritChangeURL returns URL of the change.

func GitilesBuildSet

func GitilesBuildSet(c *pb.GitilesCommit) string

GitilesBuildSet returns a buildset representation of c. e.g. "commit/gitiles/chromium.googlesource.com/infra/luci/luci-go/+/b7a757f457487cd5cfe2dae83f65c5bc10e288b7"

Returns an empty string if not all of {Host, Project, Id} are set.

func GitilesCommitURL

func GitilesCommitURL(c *pb.GitilesCommit) string

GitilesCommitURL returns the URL for the gitiles commit. e.g. "https://chromium.googlesource.com/chromium/src/+/b7a757f457487cd5cfe2dae83f65c5bc10e288b7" or "https://chromium.googlesource.com/chromium/src/+/refs/heads/master" if id is not available.

func GitilesRepoURL

func GitilesRepoURL(c *pb.GitilesCommit) string

GitilesRepoURL returns the URL for the gitiles repo. e.g. "https://chromium.googlesource.com/chromium/src"

func IsEnded

func IsEnded(s pb.Status) bool

IsEnded returns true if s is final.

func ParentStepName

func ParentStepName(stepName string) string

ParentStepName returns the name of the parent step.

If stepName is empty or doesn't have a parent, an empty string is returned.

func ParseBucketID

func ParseBucketID(s string) (string, string, error)

ParseBucketID parses a "{project}/{bucket}" string. Opposite of FormatBucketID.

func ParseBuildSet

func ParseBuildSet(buildSet string) proto.Message

ParseBuildSet tries to parse buildset as one of the known formats. May return *pb.GerritChange, *pb.GitilesCommit or nil.

func ParseBuilderID

func ParseBuilderID(s string) (*pb.BuilderID, error)

ParseBuilderID parses a "{project}/{bucket}/{builder}" string. Opposite of FormatBuilderID.

func ParseGetBuildRequest

func ParseGetBuildRequest(s string) (*pb.GetBuildRequest, error)

ParseGetBuildRequest parses a GetBuild request. Supports two forms: - <build-id> - <project>/<bucket>/<builder>/<build-number>

func RunDuration

func RunDuration(b *pb.Build) (duration time.Duration, ok bool)

RunDuration returns duration between build start and end.

func SchedulingDuration

func SchedulingDuration(b *pb.Build) (duration time.Duration, ok bool)

SchedulingDuration returns duration between build creation and start.

func Search(ctx context.Context, buildC chan<- *pb.Build, client pb.BuildsClient, requests ...*pb.SearchBuildsRequest) error

Search searches for builds continuously, sending findings to buildC until the search is exhausted or context is canceled. The builds are ordered newest-to-oldest and deduplicated.

If len(requests) > 1, the builds represent a union of the search requests.

Search does not return a next page token because ctx can be canceled in the middle of a page and because Search supports multiple requests.

func SortStringPairs

func SortStringPairs(pairs []*pb.StringPair)

SortStringPairs sorts string pairs.

func StringPairMap

func StringPairMap(pairs []*pb.StringPair) strpair.Map

StringPairMap converts a slice of StringPair messages to a strpair.Map.

func StringPairs

func StringPairs(m strpair.Map) []*pb.StringPair

StringPairs converts a strpair.Map to a slice of StringPair messages.

func Tags

func Tags(b *pb.Build) strpair.Map

Tags parses b.Tags as a strpair.Map.

func ValidateBuilderID

func ValidateBuilderID(b *pb.BuilderID) error

ValidateBuilderID validates the given builder ID. Bucket and Builder are optional and only validated if specified.

func ValidateRequiredBuilderID

func ValidateRequiredBuilderID(b *pb.BuilderID) error

ValidateRequiredBuilderID validates the given builder ID, requiring Bucket and Builder.

func ValidateStepName

func ValidateStepName(stepName string) error

ValidateStepName validates a given step name.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL