luci: go.chromium.org/luci/common/proto/srcman Index | Files

package srcman

import "go.chromium.org/luci/common/proto/srcman"

Package srcman contains source manifest protobuf definitions.

The package name here must match the protobuf package name, as the generated files will reside in the same directory.

Index

Package Files

diff.go generate.go manifest.pb.go manifest_diff.pb.go proto_gae.gen.go util.go

Constants

const ContentTypeSourceManifest = "text/x-chrome-infra-source-manifest; version=1"

ContentTypeSourceManifest is a stream content type for source manifests.

Variables

var ManifestDiff_Stat_name = map[int32]string{
    0:  "EQUAL",
    1:  "ADDED",
    2:  "REMOVED",
    4:  "MODIFIED",
    12: "DIFF",
}
var ManifestDiff_Stat_value = map[string]int32{
    "EQUAL":    0,
    "ADDED":    1,
    "REMOVED":  2,
    "MODIFIED": 4,
    "DIFF":     12,
}

type Manifest Uses

type Manifest struct {
    // Version will increment on backwards-incompatible changes only. Backwards
    // compatible changes will not alter this version number.
    //
    // Currently, the only valid version number is 0.
    Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
    // Map of local file system directory path (with forward slashes) to
    // a Directory message containing one or more deployments.
    //
    // The local path is relative to some job-specific root. This should be used
    // for informational/display/organization purposes. In particular, think VERY
    // CAREFULLY before you configure remote services/recipes to look for
    // particular filesystem layouts here. For example, if you want to look for
    // "the version of chromium/src checked out by the job", prefer to look for
    // a Directory which checks out "chromium/src", as opposed to assuming this
    // checkout lives in a top-level folder called "src". The reason for this is
    // that jobs SHOULD reserve the right to do their checkouts in any way they
    // please.
    //
    // If you feel like you need to make some service configuration which uses one
    // of these local filesystem paths as a key, please consult with the Chrome
    // Infrastructure team to see if there's a better alternative.
    //
    // Ex.
    //   "": {...}  // root directory
    //   "src/third_party/something": {...}
    Directories          map[string]*Manifest_Directory `protobuf:"bytes,2,rep,name=directories,proto3" json:"directories,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
    XXX_unrecognized     []byte                         `json:"-"`
    XXX_sizecache        int32                          `json:"-"`
}

A Manifest attempts to make an accurate accounting of source/data directories during the execution of a LUCI task.

These directories are primarily in the form of e.g. git checkouts of source, but also include things like isolated hashes and CIPD package deployments. In the future, other deployment forms may be supported (like other SCMs).

The purpose of this manifest is so that other parts of the LUCI stack (e.g. Milo) can work with the descriptions of this deployed data as a first-class citizen. Initially this Manifest will be used to allow Milo to display diffs between jobs, but it will also be useful for tools and humans to get a record of exactly what data went into this LUCI task.

Source Manifests can be emitted from recipes using the 'recipe_engine/source_manifest' module.

func (*Manifest) Descriptor Uses

func (*Manifest) Descriptor() ([]byte, []int)

func (*Manifest) Diff Uses

func (old *Manifest) Diff(new *Manifest) *ManifestDiff

Diff generates a ManifestDiff object which shows what changed between the `old` manifest and the `new` manifest.

This only calculates the pure-data differences. Notably, this will not reach out to any remote services to populate the git_history field.

func (*Manifest) FromProperty Uses

func (p *Manifest) FromProperty(prop datastore.Property) error

FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'Manifest' when used with the "go.chromium.org/gae" library.

func (*Manifest) GetDirectories Uses

func (m *Manifest) GetDirectories() map[string]*Manifest_Directory

func (*Manifest) GetVersion Uses

func (m *Manifest) GetVersion() int32

func (*Manifest) ProtoMessage Uses

func (*Manifest) ProtoMessage()

func (*Manifest) Reset Uses

func (m *Manifest) Reset()

func (*Manifest) String Uses

func (m *Manifest) String() string

func (*Manifest) ToProperty Uses

func (p *Manifest) ToProperty() (prop datastore.Property, err error)

ToProperty implements datastore.PropertyConverter. It causes an embedded 'Manifest' to serialize to an unindexed '[]byte' when used with the "go.chromium.org/gae" library.

func (*Manifest) XXX_DiscardUnknown Uses

func (m *Manifest) XXX_DiscardUnknown()

func (*Manifest) XXX_Marshal Uses

func (m *Manifest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Manifest) XXX_Merge Uses

func (m *Manifest) XXX_Merge(src proto.Message)

func (*Manifest) XXX_Size Uses

func (m *Manifest) XXX_Size() int

func (*Manifest) XXX_Unmarshal Uses

func (m *Manifest) XXX_Unmarshal(b []byte) error

type ManifestDiff Uses

type ManifestDiff struct {
    // The older of the two manifests.
    Old *Manifest `protobuf:"bytes,1,opt,name=old,proto3" json:"old,omitempty"`
    // The newer of the two manifests.
    New *Manifest `protobuf:"bytes,2,opt,name=new,proto3" json:"new,omitempty"`
    // Indicates if there is some overall difference between old and new.
    Overall              ManifestDiff_Stat                  `protobuf:"varint,3,opt,name=overall,proto3,enum=srcman.ManifestDiff_Stat" json:"overall,omitempty"`
    Directories          map[string]*ManifestDiff_Directory `protobuf:"bytes,4,rep,name=directories,proto3" json:"directories,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
    XXX_unrecognized     []byte                             `json:"-"`
    XXX_sizecache        int32                              `json:"-"`
}

ManifestDiff holds basic difference information between two source manifests.

func (*ManifestDiff) Descriptor Uses

func (*ManifestDiff) Descriptor() ([]byte, []int)

func (*ManifestDiff) FromProperty Uses

func (p *ManifestDiff) FromProperty(prop datastore.Property) error

FromProperty implements datastore.PropertyConverter. It parses a '[]byte' into an embedded 'ManifestDiff' when used with the "go.chromium.org/gae" library.

func (*ManifestDiff) GetDirectories Uses

func (m *ManifestDiff) GetDirectories() map[string]*ManifestDiff_Directory

func (*ManifestDiff) GetNew Uses

func (m *ManifestDiff) GetNew() *Manifest

func (*ManifestDiff) GetOld Uses

func (m *ManifestDiff) GetOld() *Manifest

func (*ManifestDiff) GetOverall Uses

func (m *ManifestDiff) GetOverall() ManifestDiff_Stat

func (*ManifestDiff) ProtoMessage Uses

func (*ManifestDiff) ProtoMessage()

func (*ManifestDiff) Reset Uses

func (m *ManifestDiff) Reset()

func (*ManifestDiff) String Uses

func (m *ManifestDiff) String() string

func (*ManifestDiff) ToProperty Uses

func (p *ManifestDiff) ToProperty() (prop datastore.Property, err error)

ToProperty implements datastore.PropertyConverter. It causes an embedded 'ManifestDiff' to serialize to an unindexed '[]byte' when used with the "go.chromium.org/gae" library.

func (*ManifestDiff) XXX_DiscardUnknown Uses

func (m *ManifestDiff) XXX_DiscardUnknown()

func (*ManifestDiff) XXX_Marshal Uses

func (m *ManifestDiff) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ManifestDiff) XXX_Merge Uses

func (m *ManifestDiff) XXX_Merge(src proto.Message)

func (*ManifestDiff) XXX_Size Uses

func (m *ManifestDiff) XXX_Size() int

func (*ManifestDiff) XXX_Unmarshal Uses

func (m *ManifestDiff) XXX_Unmarshal(b []byte) error

type ManifestDiff_Directory Uses

type ManifestDiff_Directory struct {
    // This is the overall status for this Directory.
    Overall        ManifestDiff_Stat         `protobuf:"varint,1,opt,name=overall,proto3,enum=srcman.ManifestDiff_Stat" json:"overall,omitempty"`
    GitCheckout    *ManifestDiff_GitCheckout `protobuf:"bytes,2,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
    CipdServerHost ManifestDiff_Stat         `protobuf:"varint,3,opt,name=cipd_server_host,json=cipdServerHost,proto3,enum=srcman.ManifestDiff_Stat" json:"cipd_server_host,omitempty"`
    // Note: this will only ever be MODIFIED, because we cannot (yet) determine
    // if two versions of a cipd package are diffable. We may later implement
    // DIFF detection (i.e. if both packages use `version:<sha1>` tags).
    CipdPackage        map[string]ManifestDiff_Stat `protobuf:"bytes,4,rep,name=cipd_package,json=cipdPackage,proto3" json:"cipd_package,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=srcman.ManifestDiff_Stat"`
    IsolatedServerHost ManifestDiff_Stat            `protobuf:"varint,5,opt,name=isolated_server_host,json=isolatedServerHost,proto3,enum=srcman.ManifestDiff_Stat" json:"isolated_server_host,omitempty"`
    // This merely indicates if the list of isolated hashes was the same or not;
    // there's not a good way to register the two lists.
    //
    // Since order-of-application for isolateds matters, this will indicate
    // MODIFIED if the order of isolated hashes changes.
    Isolated             ManifestDiff_Stat `protobuf:"varint,6,opt,name=isolated,proto3,enum=srcman.ManifestDiff_Stat" json:"isolated,omitempty"`
    XXX_NoUnkeyedLiteral struct{}          `json:"-"`
    XXX_unrecognized     []byte            `json:"-"`
    XXX_sizecache        int32             `json:"-"`
}

func (*ManifestDiff_Directory) Descriptor Uses

func (*ManifestDiff_Directory) Descriptor() ([]byte, []int)

func (*ManifestDiff_Directory) GetCipdPackage Uses

func (m *ManifestDiff_Directory) GetCipdPackage() map[string]ManifestDiff_Stat

func (*ManifestDiff_Directory) GetCipdServerHost Uses

func (m *ManifestDiff_Directory) GetCipdServerHost() ManifestDiff_Stat

func (*ManifestDiff_Directory) GetGitCheckout Uses

func (m *ManifestDiff_Directory) GetGitCheckout() *ManifestDiff_GitCheckout

func (*ManifestDiff_Directory) GetIsolated Uses

func (m *ManifestDiff_Directory) GetIsolated() ManifestDiff_Stat

func (*ManifestDiff_Directory) GetIsolatedServerHost Uses

func (m *ManifestDiff_Directory) GetIsolatedServerHost() ManifestDiff_Stat

func (*ManifestDiff_Directory) GetOverall Uses

func (m *ManifestDiff_Directory) GetOverall() ManifestDiff_Stat

func (*ManifestDiff_Directory) ProtoMessage Uses

func (*ManifestDiff_Directory) ProtoMessage()

func (*ManifestDiff_Directory) Reset Uses

func (m *ManifestDiff_Directory) Reset()

func (*ManifestDiff_Directory) String Uses

func (m *ManifestDiff_Directory) String() string

func (*ManifestDiff_Directory) XXX_DiscardUnknown Uses

func (m *ManifestDiff_Directory) XXX_DiscardUnknown()

func (*ManifestDiff_Directory) XXX_Marshal Uses

func (m *ManifestDiff_Directory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ManifestDiff_Directory) XXX_Merge Uses

func (m *ManifestDiff_Directory) XXX_Merge(src proto.Message)

func (*ManifestDiff_Directory) XXX_Size Uses

func (m *ManifestDiff_Directory) XXX_Size() int

func (*ManifestDiff_Directory) XXX_Unmarshal Uses

func (m *ManifestDiff_Directory) XXX_Unmarshal(b []byte) error

type ManifestDiff_GitCheckout Uses

type ManifestDiff_GitCheckout struct {
    // Indicates if there is some overall difference between old and new.
    Overall ManifestDiff_Stat `protobuf:"varint,1,opt,name=overall,proto3,enum=srcman.ManifestDiff_Stat" json:"overall,omitempty"`
    // Indicates the status for the `revision` field.
    //
    // If this is DIFF, it is sensible to compute
    //   `git log repo_url old.revision new.revision`
    Revision ManifestDiff_Stat `protobuf:"varint,2,opt,name=revision,proto3,enum=srcman.ManifestDiff_Stat" json:"revision,omitempty"`
    // Indicates the status for the `patch_revision` field. It evaluates
    // the patch_fetch_ref values to ensure that old and new are different
    // patches from the same CL.
    //
    // If this is DIFF, it is sensible to compute
    //   `git log repo_url old.patch_revision new.patch_revision`
    PatchRevision ManifestDiff_Stat `protobuf:"varint,3,opt,name=patch_revision,json=patchRevision,proto3,enum=srcman.ManifestDiff_Stat" json:"patch_revision,omitempty"`
    // The URL that should be used for RPCs. It may differ from the url in old
    // or new if the service computing this ManifestDiff knows of e.g. a repo
    // URL migration.
    RepoUrl string `protobuf:"bytes,4,opt,name=repo_url,json=repoUrl,proto3" json:"repo_url,omitempty"`
    // If revision==DIFF, this may be populated with git history occuring
    // between the two base revisions.
    History              []*git.Commit `protobuf:"bytes,5,rep,name=history,proto3" json:"history,omitempty"`
    XXX_NoUnkeyedLiteral struct{}      `json:"-"`
    XXX_unrecognized     []byte        `json:"-"`
    XXX_sizecache        int32         `json:"-"`
}

func (*ManifestDiff_GitCheckout) Descriptor Uses

func (*ManifestDiff_GitCheckout) Descriptor() ([]byte, []int)

func (*ManifestDiff_GitCheckout) GetHistory Uses

func (m *ManifestDiff_GitCheckout) GetHistory() []*git.Commit

func (*ManifestDiff_GitCheckout) GetOverall Uses

func (m *ManifestDiff_GitCheckout) GetOverall() ManifestDiff_Stat

func (*ManifestDiff_GitCheckout) GetPatchRevision Uses

func (m *ManifestDiff_GitCheckout) GetPatchRevision() ManifestDiff_Stat

func (*ManifestDiff_GitCheckout) GetRepoUrl Uses

func (m *ManifestDiff_GitCheckout) GetRepoUrl() string

func (*ManifestDiff_GitCheckout) GetRevision Uses

func (m *ManifestDiff_GitCheckout) GetRevision() ManifestDiff_Stat

func (*ManifestDiff_GitCheckout) ProtoMessage Uses

func (*ManifestDiff_GitCheckout) ProtoMessage()

func (*ManifestDiff_GitCheckout) Reset Uses

func (m *ManifestDiff_GitCheckout) Reset()

func (*ManifestDiff_GitCheckout) String Uses

func (m *ManifestDiff_GitCheckout) String() string

func (*ManifestDiff_GitCheckout) XXX_DiscardUnknown Uses

func (m *ManifestDiff_GitCheckout) XXX_DiscardUnknown()

func (*ManifestDiff_GitCheckout) XXX_Marshal Uses

func (m *ManifestDiff_GitCheckout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ManifestDiff_GitCheckout) XXX_Merge Uses

func (m *ManifestDiff_GitCheckout) XXX_Merge(src proto.Message)

func (*ManifestDiff_GitCheckout) XXX_Size Uses

func (m *ManifestDiff_GitCheckout) XXX_Size() int

func (*ManifestDiff_GitCheckout) XXX_Unmarshal Uses

func (m *ManifestDiff_GitCheckout) XXX_Unmarshal(b []byte) error

type ManifestDiff_Stat Uses

type ManifestDiff_Stat int32

Stat indicates how a given item has changed.

const (
    // These two items are identical
    ManifestDiff_EQUAL ManifestDiff_Stat = 0
    // The item was added in `new` compared to `old`
    ManifestDiff_ADDED ManifestDiff_Stat = 1
    // The item was removed in `new` compared to `old`
    ManifestDiff_REMOVED ManifestDiff_Stat = 2
    // The item is in both, but is incomparable (e.g. repo_url changed from
    // `old` to `new`).
    ManifestDiff_MODIFIED ManifestDiff_Stat = 4
    // The item is in both, and is directly comparable (e.g. different
    // revisions of the same repo_url). This only applies to the revision fields
    // of SCM messages.
    //
    // This is 0x8 | MODIFIED, so that users who don't care about DIFF v.
    // MODIFIED can check `Status & MODIFIED`.
    ManifestDiff_DIFF ManifestDiff_Stat = 12
)

func IsolatedDiff Uses

func IsolatedDiff(oldisos, newisos []*Manifest_Isolated) ManifestDiff_Stat

IsolatedDiff produces a ManifestDiff_Stat reflecting the difference between two lists of Manifest_Isolated's.

func (ManifestDiff_Stat) EnumDescriptor Uses

func (ManifestDiff_Stat) EnumDescriptor() ([]byte, []int)

func (ManifestDiff_Stat) String Uses

func (x ManifestDiff_Stat) String() string
type ManifestLink struct {
    // The fully qualified url of the Manifest proto. It's expected that this is
    // a binary logdog stream consisting of exactly one Manifest proto. For now
    // this will always be the `logdog` uri scheme, though it's feasible to put
    // other uri schemes here later.
    //
    // Ex.
    //   logdog://logs.chromium.org/infra/build/12345/+/some/path
    Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
    // The hash of the Manifest's raw binary form (i.e. the bytes at the end of
    // `url`, without any interpretation or decoding). Milo will use this as an
    // optimization; Manifests will be interned once into Milo's datastore.
    // Future hashes which match will not be loaded from the url, but will be
    // assumed to be identical. If the sha256 doesn't match the data at the URL,
    // Milo may render this build with the wrong manifest.
    //
    // This is the raw sha256, so it must be exactly 32 bytes.
    Sha256               []byte   `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Links to an externally stored Manifest proto.

func (*ManifestLink) Descriptor Uses

func (*ManifestLink) Descriptor() ([]byte, []int)

func (*ManifestLink) GetSha256 Uses

func (m *ManifestLink) GetSha256() []byte

func (*ManifestLink) GetUrl Uses

func (m *ManifestLink) GetUrl() string

func (*ManifestLink) ProtoMessage Uses

func (*ManifestLink) ProtoMessage()

func (*ManifestLink) Reset Uses

func (m *ManifestLink) Reset()

func (*ManifestLink) String Uses

func (m *ManifestLink) String() string

func (*ManifestLink) XXX_DiscardUnknown Uses

func (m *ManifestLink) XXX_DiscardUnknown()

func (*ManifestLink) XXX_Marshal Uses

func (m *ManifestLink) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ManifestLink) XXX_Merge Uses

func (m *ManifestLink) XXX_Merge(src proto.Message)

func (*ManifestLink) XXX_Size Uses

func (m *ManifestLink) XXX_Size() int

func (*ManifestLink) XXX_Unmarshal Uses

func (m *ManifestLink) XXX_Unmarshal(b []byte) error

type Manifest_CIPDPackage Uses

type Manifest_CIPDPackage struct {
    // The package pattern that was given to the CIPD client (if known).
    //
    // Ex.
    //   infra/tools/luci/led/${platform}
    PackagePattern string `protobuf:"bytes,1,opt,name=package_pattern,json=packagePattern,proto3" json:"package_pattern,omitempty"`
    // The fully resolved instance ID of the deployed package.
    //
    // Ex.
    //   0cfafb3a705bd8f05f86c6444ff500397fbb711c
    InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
    // The unresolved version ID of the deployed package (if known).
    //
    // Ex.
    //   git_revision:aaf3a2cfccc227b5141caa1b6b3502c9907d7420
    //   latest
    Version              string   `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Manifest_CIPDPackage) Descriptor Uses

func (*Manifest_CIPDPackage) Descriptor() ([]byte, []int)

func (*Manifest_CIPDPackage) Diff Uses

func (old *Manifest_CIPDPackage) Diff(new *Manifest_CIPDPackage) ManifestDiff_Stat

Diff generates a ManifestDiff_Stat reflecting the difference between the `old` CIPDPackage and the `new` one.

func (*Manifest_CIPDPackage) GetInstanceId Uses

func (m *Manifest_CIPDPackage) GetInstanceId() string

func (*Manifest_CIPDPackage) GetPackagePattern Uses

func (m *Manifest_CIPDPackage) GetPackagePattern() string

func (*Manifest_CIPDPackage) GetVersion Uses

func (m *Manifest_CIPDPackage) GetVersion() string

func (*Manifest_CIPDPackage) ProtoMessage Uses

func (*Manifest_CIPDPackage) ProtoMessage()

func (*Manifest_CIPDPackage) Reset Uses

func (m *Manifest_CIPDPackage) Reset()

func (*Manifest_CIPDPackage) String Uses

func (m *Manifest_CIPDPackage) String() string

func (*Manifest_CIPDPackage) XXX_DiscardUnknown Uses

func (m *Manifest_CIPDPackage) XXX_DiscardUnknown()

func (*Manifest_CIPDPackage) XXX_Marshal Uses

func (m *Manifest_CIPDPackage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Manifest_CIPDPackage) XXX_Merge Uses

func (m *Manifest_CIPDPackage) XXX_Merge(src proto.Message)

func (*Manifest_CIPDPackage) XXX_Size Uses

func (m *Manifest_CIPDPackage) XXX_Size() int

func (*Manifest_CIPDPackage) XXX_Unmarshal Uses

func (m *Manifest_CIPDPackage) XXX_Unmarshal(b []byte) error

type Manifest_Directory Uses

type Manifest_Directory struct {
    GitCheckout *Manifest_GitCheckout `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
    // The canonicalized hostname of the CIPD server which hosts the CIPD
    // packages (if any). If no CIPD packages are in this Directory, this must
    // be blank.
    //
    // Ex.
    //   chrome-infra-packages.appspot.com
    CipdServerHost string `protobuf:"bytes,2,opt,name=cipd_server_host,json=cipdServerHost,proto3" json:"cipd_server_host,omitempty"`
    // Maps CIPD package name to CIPDPackage.
    //
    // Ex.
    //   "some/package/name": {...}
    //   "other/package": {...}
    CipdPackage map[string]*Manifest_CIPDPackage `protobuf:"bytes,4,rep,name=cipd_package,json=cipdPackage,proto3" json:"cipd_package,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // The canonicalized hostname of the isolated server which hosts the
    // isolated. If no Isolated objects are in this Directory, this must be
    // blank.
    //
    // Ex.
    //   isolateserver.appspot.com
    IsolatedServerHost string `protobuf:"bytes,5,opt,name=isolated_server_host,json=isolatedServerHost,proto3" json:"isolated_server_host,omitempty"`
    // A list of all isolateds which have been installed in this directory.
    Isolated             []*Manifest_Isolated `protobuf:"bytes,6,rep,name=isolated,proto3" json:"isolated,omitempty"`
    XXX_NoUnkeyedLiteral struct{}             `json:"-"`
    XXX_unrecognized     []byte               `json:"-"`
    XXX_sizecache        int32                `json:"-"`
}

A Directory contains one or more descriptions of deployed artifacts. Note that due to the practical nature of jobs on bots, it may be the case that a given directory contains e.g. a git checkout and multiple cipd packages.

func (*Manifest_Directory) Descriptor Uses

func (*Manifest_Directory) Descriptor() ([]byte, []int)

func (*Manifest_Directory) Diff Uses

func (old *Manifest_Directory) Diff(new *Manifest_Directory) *ManifestDiff_Directory

Diff generates a ManifestDiff_Directory object which shows what changed between the `old` manifest directory and the `new` manifest directory.

func (*Manifest_Directory) GetCipdPackage Uses

func (m *Manifest_Directory) GetCipdPackage() map[string]*Manifest_CIPDPackage

func (*Manifest_Directory) GetCipdServerHost Uses

func (m *Manifest_Directory) GetCipdServerHost() string

func (*Manifest_Directory) GetGitCheckout Uses

func (m *Manifest_Directory) GetGitCheckout() *Manifest_GitCheckout

func (*Manifest_Directory) GetIsolated Uses

func (m *Manifest_Directory) GetIsolated() []*Manifest_Isolated

func (*Manifest_Directory) GetIsolatedServerHost Uses

func (m *Manifest_Directory) GetIsolatedServerHost() string

func (*Manifest_Directory) ProtoMessage Uses

func (*Manifest_Directory) ProtoMessage()

func (*Manifest_Directory) Reset Uses

func (m *Manifest_Directory) Reset()

func (*Manifest_Directory) String Uses

func (m *Manifest_Directory) String() string

func (*Manifest_Directory) XXX_DiscardUnknown Uses

func (m *Manifest_Directory) XXX_DiscardUnknown()

func (*Manifest_Directory) XXX_Marshal Uses

func (m *Manifest_Directory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Manifest_Directory) XXX_Merge Uses

func (m *Manifest_Directory) XXX_Merge(src proto.Message)

func (*Manifest_Directory) XXX_Size Uses

func (m *Manifest_Directory) XXX_Size() int

func (*Manifest_Directory) XXX_Unmarshal Uses

func (m *Manifest_Directory) XXX_Unmarshal(b []byte) error

type Manifest_GitCheckout Uses

type Manifest_GitCheckout struct {
    // The canonicalized URL of the original repo that is considered the “source
    // of truth” for the source code.
    //
    // Ex.
    //   https://chromium.googlesource.com/chromium/tools/build
    //   https://chromium.googlesource.com/infra/luci/recipes-py
    RepoUrl string `protobuf:"bytes,1,opt,name=repo_url,json=repoUrl,proto3" json:"repo_url,omitempty"`
    // If different from repo_url, this can be the URL of the repo that the source
    // was actually fetched from (i.e. a mirror).
    //
    // If this is empty, it's presumed to be equal to repo_url.
    //
    // Ex.
    //   https://github.com/luci/recipes-py
    FetchUrl string `protobuf:"bytes,2,opt,name=fetch_url,json=fetchUrl,proto3" json:"fetch_url,omitempty"`
    // The fully resolved revision (commit hash) of the source.
    //
    // This must always be a revision on the hosted repo (not any locally
    // generated commit).
    //
    // Ex.
    //   3617b0eea7ec74b8e731a23fed2f4070cbc284c4
    Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"`
    // The ref that the task used to resolve/fetch the revision of the source
    // (if any).
    //
    // This must always be a ref on the hosted repo (not any local alias
    // like 'refs/remotes/...').
    //
    // This must always be an absolute ref (i.e. starts with 'refs/'). An
    // example of a non-absolute ref would be 'master'.
    //
    // Ex.
    //   refs/heads/master
    FetchRef string `protobuf:"bytes,4,opt,name=fetch_ref,json=fetchRef,proto3" json:"fetch_ref,omitempty"`
    // If the checkout had a CL associated with it (i.e. a gerrit commit), this
    // is the fully resolved revision (commit hash) of the CL. If there was no
    // CL, this is empty. Typically the checkout application (e.g. bot_update)
    // rebases this revision on top of the `revision` fetched above.
    //
    // If specified, this must always be a revision on the hosted repo (not any
    // locally generated commit).
    //
    // Ex.
    //   6b0b5c12443cfb93305f8d9e21f8d762c8dad9f0
    PatchRevision string `protobuf:"bytes,5,opt,name=patch_revision,json=patchRevision,proto3" json:"patch_revision,omitempty"`
    // If the checkout had a CL associated with it, this is the ref that the
    // task used to fetch patch_revision. If `patch_revision` is supplied, this
    // field is required. If there was no CL, this is empty.
    //
    // If specified, this must always be a ref on the hosted repo (not any local
    // alias like 'refs/remotes/...').
    //
    // This must always be an absolute ref (i.e. starts with 'refs/').
    //
    // Ex.
    //   refs/changes/04/511804/4
    PatchFetchRef        string   `protobuf:"bytes,6,opt,name=patch_fetch_ref,json=patchFetchRef,proto3" json:"patch_fetch_ref,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Manifest_GitCheckout) Descriptor Uses

func (*Manifest_GitCheckout) Descriptor() ([]byte, []int)

func (*Manifest_GitCheckout) Diff Uses

func (old *Manifest_GitCheckout) Diff(new *Manifest_GitCheckout) *ManifestDiff_GitCheckout

Diff generates a Stat reflecting the difference between the `old` GitCheckout and the `new` one.

This will generate a Stat of `DIFF` if the two GitCheckout's are non-nil and share the same RepoUrl.

This only calculates the pure-data differences. Notably, this will not reach out to any remote services to populate the git_history field.

func (*Manifest_GitCheckout) GetFetchRef Uses

func (m *Manifest_GitCheckout) GetFetchRef() string

func (*Manifest_GitCheckout) GetFetchUrl Uses

func (m *Manifest_GitCheckout) GetFetchUrl() string

func (*Manifest_GitCheckout) GetPatchFetchRef Uses

func (m *Manifest_GitCheckout) GetPatchFetchRef() string

func (*Manifest_GitCheckout) GetPatchRevision Uses

func (m *Manifest_GitCheckout) GetPatchRevision() string

func (*Manifest_GitCheckout) GetRepoUrl Uses

func (m *Manifest_GitCheckout) GetRepoUrl() string

func (*Manifest_GitCheckout) GetRevision Uses

func (m *Manifest_GitCheckout) GetRevision() string

func (*Manifest_GitCheckout) ProtoMessage Uses

func (*Manifest_GitCheckout) ProtoMessage()

func (*Manifest_GitCheckout) Reset Uses

func (m *Manifest_GitCheckout) Reset()

func (*Manifest_GitCheckout) String Uses

func (m *Manifest_GitCheckout) String() string

func (*Manifest_GitCheckout) XXX_DiscardUnknown Uses

func (m *Manifest_GitCheckout) XXX_DiscardUnknown()

func (*Manifest_GitCheckout) XXX_Marshal Uses

func (m *Manifest_GitCheckout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Manifest_GitCheckout) XXX_Merge Uses

func (m *Manifest_GitCheckout) XXX_Merge(src proto.Message)

func (*Manifest_GitCheckout) XXX_Size Uses

func (m *Manifest_GitCheckout) XXX_Size() int

func (*Manifest_GitCheckout) XXX_Unmarshal Uses

func (m *Manifest_GitCheckout) XXX_Unmarshal(b []byte) error

type Manifest_Isolated Uses

type Manifest_Isolated struct {
    // The namespace of the isolated document.
    //
    // Ex.
    //   default-gzip
    Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
    // The hash of the isolated document.
    //
    // Ex.
    //   62a7df62ea122380afb306bb4d9cdac1bc7e9a96
    Hash                 string   `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Manifest_Isolated) Descriptor Uses

func (*Manifest_Isolated) Descriptor() ([]byte, []int)

func (*Manifest_Isolated) GetHash Uses

func (m *Manifest_Isolated) GetHash() string

func (*Manifest_Isolated) GetNamespace Uses

func (m *Manifest_Isolated) GetNamespace() string

func (*Manifest_Isolated) ProtoMessage Uses

func (*Manifest_Isolated) ProtoMessage()

func (*Manifest_Isolated) Reset Uses

func (m *Manifest_Isolated) Reset()

func (*Manifest_Isolated) String Uses

func (m *Manifest_Isolated) String() string

func (*Manifest_Isolated) XXX_DiscardUnknown Uses

func (m *Manifest_Isolated) XXX_DiscardUnknown()

func (*Manifest_Isolated) XXX_Marshal Uses

func (m *Manifest_Isolated) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Manifest_Isolated) XXX_Merge Uses

func (m *Manifest_Isolated) XXX_Merge(src proto.Message)

func (*Manifest_Isolated) XXX_Size Uses

func (m *Manifest_Isolated) XXX_Size() int

func (*Manifest_Isolated) XXX_Unmarshal Uses

func (m *Manifest_Isolated) XXX_Unmarshal(b []byte) error

Package srcman imports 7 packages (graph) and is imported by 3 packages. Updated 2018-10-23. Refresh now. Tools for package owners.