Documentation
¶
Index ¶
- Constants
- Variables
- func FilterPlatformIDsByBase(platformIDs []string, basePlatformIDs []string) []string
- func ForManifestSelector(manifestIDs, platformIDs []string, ...) error
- func GetBuildConfigTargets(buildConfig *bldr_project.BuildConfig) ([]*bldr_platform.Target, error)
- func MergePlatformIDs(platformIDLists ...[]string) []string
- func ResolveBuildConfigPlatformIDs(buildConfig *bldr_project.BuildConfig, targetsOverride []string) ([]string, error)
- type Config
- func (m *Config) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *Config) CloneVT() *Config
- func (this *Config) EqualMessageVT(thatMsg any) bool
- func (this *Config) EqualVT(that *Config) bool
- func (c *Config) EqualsConfig(c2 config.Config) bool
- func (x *Config) GetBuildBackoff() *backoff.Backoff
- func (c *Config) GetConfigID() string
- func (x *Config) GetFetchManifestRemote() string
- func (x *Config) GetFrontendDevelopment() bool
- func (x *Config) GetFrontendRoutePrefix() string
- func (x *Config) GetProjectConfig() *project.ProjectConfig
- func (x *Config) GetSourcePath() string
- func (x *Config) GetStart() bool
- func (x *Config) GetWatch() bool
- func (x *Config) GetWorkingPath() string
- func (x *Config) MarshalJSON() ([]byte, error)
- func (x *Config) MarshalProtoJSON(s *json.MarshalState)
- func (x *Config) MarshalProtoText() string
- func (m *Config) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *Config) MarshalToVT(dAtA []byte) (int, error)
- func (m *Config) MarshalVT() (dAtA []byte, err error)
- func (*Config) ProtoMessage()
- func (x *Config) Reset()
- func (m *Config) SizeVT() (n int)
- func (x *Config) String() string
- func (x *Config) UnmarshalJSON(b []byte) error
- func (x *Config) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *Config) UnmarshalVT(dAtA []byte) error
- func (c *Config) Validate() error
- type Controller
- func (c *Controller) AddFetchManifestBuilderRef(ctx context.Context, manifestMeta *bldr_manifest.ManifestMeta) (*ManifestBuilderRef, *RemoteRef, error)
- func (c *Controller) AddManifestBuilderRef(conf *ManifestBuilderConfig) (*ManifestBuilderRef, error)
- func (c *Controller) AddRemoteRef(remoteID string) (*RemoteRef, error)
- func (c *Controller) BuildManifestBuilderConfigs(ctx context.Context, manifestBuilderConfigs []*ManifestBuilderConfig) ([]*bldr_manifest.ManifestRef, []string, error)
- func (c *Controller) BuildManifests(ctx context.Context, remote string, manifestIDs []string, ...) ([]*bldr_manifest.ManifestRef, []string, error)
- func (c *Controller) BuildTargets(ctx context.Context, remote string, targets []string, ...) error
- func (c *Controller) Close() error
- func (c *Controller) Execute(ctx context.Context) error
- func (c *Controller) GetConfig() *Config
- func (c *Controller) GetControllerInfo() *controller.Info
- func (c *Controller) GetFrontendService() *FrontendService
- func (c *Controller) HandleDirective(ctx context.Context, di directive.Instance) ([]directive.Resolver, error)
- func (c *Controller) PublishTargets(ctx context.Context, remote string, targets []string, ...) error
- func (c *Controller) SetManifestBuilderStatusSink(sink ManifestBuilderStatusSink)
- func (c *Controller) SetProjectConfigStatusSink(sink ProjectConfigStatusSink)
- func (c *Controller) StartStartup(ctx context.Context)
- func (c *Controller) UpdateProjectConfig(nextConf *bldr_project.ProjectConfig) error
- func (c *Controller) WaitRemote(ctx context.Context, remoteID string) (world.Engine, *RemoteRef, error)
- type Factory
- func (t *Factory) Construct(ctx context.Context, conf config.Config, opts controller.ConstructOpts) (controller.Controller, error)
- func (t *Factory) ConstructConfig() config.Config
- func (t *Factory) GetConfigID() string
- func (t *Factory) GetControllerID() string
- func (t *Factory) GetVersion() controller.Version
- type FrontendService
- func (f *FrontendService) Change(ctx context.Context, changes []*vite.DevelopmentChange) error
- func (f *FrontendService) Close()
- func (f *FrontendService) Fetch(stream frontend.SRPCFrontend_FetchStream) error
- func (f *FrontendService) Send(ctx context.Context, req *frontend.SendRequest) (*frontend.SendResponse, error)
- func (f *FrontendService) ServeBootstrap(rw http.ResponseWriter, req *http.Request, entrypoint, startup string)
- func (f *FrontendService) ServeHTTP(rw http.ResponseWriter, req *http.Request)
- func (f *FrontendService) Watch(_ *frontend.WatchRequest, stream frontend.SRPCFrontend_WatchStream) error
- type ManifestBuilderConfig
- func NewManifestBuilderConfig(manifestID, buildType, platformID, remoteID string) *ManifestBuilderConfig
- func NewManifestBuilderConfigWithTargetPlatforms(manifestID, buildType, platformID, remoteID string, targetPlatformIDs []string) *ManifestBuilderConfig
- func UnmarshalManifestBuilderConfigB58(str string) (*ManifestBuilderConfig, error)
- func (m *ManifestBuilderConfig) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *ManifestBuilderConfig) CloneVT() *ManifestBuilderConfig
- func (this *ManifestBuilderConfig) EqualMessageVT(thatMsg any) bool
- func (this *ManifestBuilderConfig) EqualVT(that *ManifestBuilderConfig) bool
- func (x *ManifestBuilderConfig) GetBuildPolicy() *build.BuildPolicy
- func (x *ManifestBuilderConfig) GetBuildType() string
- func (x *ManifestBuilderConfig) GetBuilderConfigOverride() *proto.ControllerConfig
- func (x *ManifestBuilderConfig) GetManifestId() string
- func (x *ManifestBuilderConfig) GetPlatformId() string
- func (x *ManifestBuilderConfig) GetRemoteId() string
- func (x *ManifestBuilderConfig) GetTargetPlatformIds() []string
- func (m *ManifestBuilderConfig) MarshalB58() string
- func (x *ManifestBuilderConfig) MarshalJSON() ([]byte, error)
- func (x *ManifestBuilderConfig) MarshalProtoJSON(s *json.MarshalState)
- func (x *ManifestBuilderConfig) MarshalProtoText() string
- func (m *ManifestBuilderConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *ManifestBuilderConfig) MarshalToVT(dAtA []byte) (int, error)
- func (m *ManifestBuilderConfig) MarshalVT() (dAtA []byte, err error)
- func (*ManifestBuilderConfig) ProtoMessage()
- func (x *ManifestBuilderConfig) Reset()
- func (m *ManifestBuilderConfig) SizeVT() (n int)
- func (x *ManifestBuilderConfig) String() string
- func (x *ManifestBuilderConfig) UnmarshalJSON(b []byte) error
- func (x *ManifestBuilderConfig) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *ManifestBuilderConfig) UnmarshalVT(dAtA []byte) error
- func (m *ManifestBuilderConfig) Validate() error
- type ManifestBuilderRef
- func (r *ManifestBuilderRef) GetManifestBuilderConfig() *ManifestBuilderConfig
- func (r *ManifestBuilderRef) GetResultPromiseContainer() *promise.PromiseContainer[*ManifestBuilderResult]
- func (r *ManifestBuilderRef) Release()
- func (r *ManifestBuilderRef) ReleaseAfter(ctx context.Context, delay time.Duration)
- type ManifestBuilderResult
- func (m *ManifestBuilderResult) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *ManifestBuilderResult) CloneVT() *ManifestBuilderResult
- func (this *ManifestBuilderResult) EqualMessageVT(thatMsg any) bool
- func (this *ManifestBuilderResult) EqualVT(that *ManifestBuilderResult) bool
- func (x *ManifestBuilderResult) GetBuilderConfig() *builder.BuilderConfig
- func (x *ManifestBuilderResult) GetBuilderResult() *builder.BuilderResult
- func (x *ManifestBuilderResult) MarshalJSON() ([]byte, error)
- func (x *ManifestBuilderResult) MarshalProtoJSON(s *json.MarshalState)
- func (x *ManifestBuilderResult) MarshalProtoText() string
- func (m *ManifestBuilderResult) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *ManifestBuilderResult) MarshalToVT(dAtA []byte) (int, error)
- func (m *ManifestBuilderResult) MarshalVT() (dAtA []byte, err error)
- func (*ManifestBuilderResult) ProtoMessage()
- func (x *ManifestBuilderResult) Reset()
- func (m *ManifestBuilderResult) SizeVT() (n int)
- func (x *ManifestBuilderResult) String() string
- func (x *ManifestBuilderResult) UnmarshalJSON(b []byte) error
- func (x *ManifestBuilderResult) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *ManifestBuilderResult) UnmarshalVT(dAtA []byte) error
- type ManifestBuilderStatus
- type ManifestBuilderStatusSink
- type ManifestBuilderStatusState
- type ProjectConfigStatusSink
- type RemoteRef
- type ResolvedBuildTarget
Constants ¶
const ConfigID = "bldr/project"
ConfigID is the identifier for the config type.
const ControllerID = ConfigID
ControllerID is the ID of the controller.
Variables ¶
var Version = controller.MustParseVersion("0.0.1")
Version is the version of the controller implementation.
Functions ¶
func FilterPlatformIDsByBase ¶
FilterPlatformIDsByBase filters platform IDs to only those matching the given base platform IDs.
func ForManifestSelector ¶
func ForManifestSelector(manifestIDs, platformIDs []string, cb func(manifestID, platformID string) (bool, error)) error
ForManifestSelector iterates over all combinations of platform id & manifest id in the given sets.
Callback returns cntu, err
func GetBuildConfigTargets ¶
func GetBuildConfigTargets(buildConfig *bldr_project.BuildConfig) ([]*bldr_platform.Target, error)
GetBuildConfigTargets returns the parsed Targets for a BuildConfig, if specified. Returns nil if no targets are specified.
func MergePlatformIDs ¶
MergePlatformIDs merges multiple platform ID lists, preserving order and deduplicating.
func ResolveBuildConfigPlatformIDs ¶
func ResolveBuildConfigPlatformIDs(buildConfig *bldr_project.BuildConfig, targetsOverride []string) ([]string, error)
ResolveBuildConfigPlatformIDs resolves the platform IDs for a BuildConfig. If targetsOverride is specified, it takes precedence over the config's targets field. Platform IDs from all targets and explicit platform_ids are merged.
Types ¶
type Config ¶
type Config struct {
// SourcePath is the path to the source code working dir.
SourcePath string `protobuf:"bytes,1,opt,name=source_path,json=sourcePath,proto3" json:"sourcePath,omitempty"`
// WorkingPath is the path to use for codegen and working state.
// Usually source_path/.bldr
// We expect the bldr dist sources to be under working_path/bldr
WorkingPath string `protobuf:"bytes,2,opt,name=working_path,json=workingPath,proto3" json:"workingPath,omitempty"`
// ProjectConfig contains the project configuration.
ProjectConfig *project.ProjectConfig `protobuf:"bytes,3,opt,name=project_config,json=projectConfig,proto3" json:"projectConfig,omitempty"`
// BuildBackoff is the backoff config for building manifests.
// If unset, defaults to reasonable defaults.
BuildBackoff *backoff.Backoff `protobuf:"bytes,4,opt,name=build_backoff,json=buildBackoff,proto3" json:"buildBackoff,omitempty"`
// Watch enables watching for changes.
Watch bool `protobuf:"varint,5,opt,name=watch,proto3" json:"watch,omitempty"`
// Start enables loading the plugins in the "start" portion of the config.
Start bool `protobuf:"varint,6,opt,name=start,proto3" json:"start,omitempty"`
// FetchManifestRemote is the remote to use for the FetchManifest request.
// When FetchManifest is applied, we will compile the plugin manifest to the remote.
// If unset, we don't service FetchManifest directives.
FetchManifestRemote string `protobuf:"bytes,7,opt,name=fetch_manifest_remote,json=fetchManifestRemote,proto3" json:"fetchManifestRemote,omitempty"`
// FrontendDevelopment attaches watched web development builds to the active
// project frontend service. Explicit build commands leave this disabled.
FrontendDevelopment bool `protobuf:"varint,8,opt,name=frontend_development,json=frontendDevelopment,proto3" json:"frontendDevelopment,omitempty"`
// FrontendRoutePrefix overrides the browser namespace for an attached compiler.
// An attached compiler does not watch its source root; the attaching owner
// reports each edit through FrontendService.Change.
FrontendRoutePrefix string `protobuf:"bytes,9,opt,name=frontend_route_prefix,json=frontendRoutePrefix,proto3" json:"frontendRoutePrefix,omitempty"`
// contains filtered or unexported fields
}
Config is the Project controller configuration.
func NewConfig ¶
func NewConfig( repoRoot, workingPath string, projConfig *bldr_project.ProjectConfig, watch, start bool, ) *Config
NewConfig constructs the configuration.
func (*Config) CloneMessageVT ¶
func (m *Config) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*Config) EqualMessageVT ¶
func (*Config) EqualsConfig ¶
EqualsConfig checks equality between two configs.
func (*Config) GetBuildBackoff ¶
func (*Config) GetConfigID ¶
GetConfigID returns the config identifier.
func (*Config) GetFetchManifestRemote ¶
func (*Config) GetFrontendDevelopment ¶
func (*Config) GetFrontendRoutePrefix ¶
func (*Config) GetProjectConfig ¶
func (x *Config) GetProjectConfig() *project.ProjectConfig
func (*Config) GetSourcePath ¶
func (*Config) GetWorkingPath ¶
func (*Config) MarshalJSON ¶
MarshalJSON marshals the Config to JSON.
func (*Config) MarshalProtoJSON ¶
func (x *Config) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the Config message to JSON.
func (*Config) MarshalProtoText ¶
func (*Config) MarshalToSizedBufferVT ¶
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) UnmarshalJSON ¶
UnmarshalJSON unmarshals the Config from JSON.
func (*Config) UnmarshalProtoJSON ¶
func (x *Config) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the Config message from JSON.
func (*Config) UnmarshalVT ¶
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller is the bldr Project controller.
func NewController ¶
NewController constructs a new controller.
func (*Controller) AddFetchManifestBuilderRef ¶
func (c *Controller) AddFetchManifestBuilderRef(ctx context.Context, manifestMeta *bldr_manifest.ManifestMeta) (*ManifestBuilderRef, *RemoteRef, error)
AddFetchManifestBuilderRef retains an active dependency build or starts its default configuration when none exists. The caller releases both references.
func (*Controller) AddManifestBuilderRef ¶
func (c *Controller) AddManifestBuilderRef(conf *ManifestBuilderConfig) (*ManifestBuilderRef, error)
AddManifestBuilderRef adds a reference to a manifest compiler.
func (*Controller) AddRemoteRef ¶
func (c *Controller) AddRemoteRef(remoteID string) (*RemoteRef, error)
AddRemoteRef adds a reference to a Remote. Returns ErrRemoteNotFound if the remote was not found.
func (*Controller) BuildManifestBuilderConfigs ¶
func (c *Controller) BuildManifestBuilderConfigs( ctx context.Context, manifestBuilderConfigs []*ManifestBuilderConfig, ) ([]*bldr_manifest.ManifestRef, []string, error)
BuildManifestBuilderConfigs compiles a set of manifests linking them to the remote object key.
Returns the list of created manifest refs and corresponding object keys.
func (*Controller) BuildManifests ¶
func (c *Controller) BuildManifests( ctx context.Context, remote string, manifestIDs []string, buildType bldr_manifest.BuildType, manifestOverrides map[string]*configset_proto.ControllerConfig, ) ([]*bldr_manifest.ManifestRef, []string, error)
BuildManifests compiles the given manifest IDs for the native platform.
If manifestOverrides is non-nil, each matching manifest id has its builder config replaced with the override (REPLACE semantics, same as the BuildConfig-driven path in BuildTargets). The override's id is ignored; the manifest's declared builder id wins. Callers that do not need overrides should pass nil.
Returns the manifest refs and object keys for the built manifests.
func (*Controller) BuildTargets ¶
func (c *Controller) BuildTargets(ctx context.Context, remote string, targets []string, buildType bldr_manifest.BuildType, targetsOverride []string, buildPolicyOverride *manifest_build.BuildPolicy, manifestRevision uint64) error
BuildTargets compiles the given build target(s).
If the targets list is empty, builds all targets. If targetsOverride is specified, it overrides the targets field in all build configs. manifestRevision raises the configured revision floor for this finite build, including manifests compiled on demand as dependencies. Zero keeps configured floors.
func (*Controller) Close ¶
func (c *Controller) Close() error
Close cancels owned work and joins its routines before returning.
func (*Controller) Execute ¶
func (c *Controller) Execute(ctx context.Context) error
Execute executes the controller goroutine. Returning nil ends execution. Returning an error triggers a retry with backoff.
func (*Controller) GetConfig ¶
func (c *Controller) GetConfig() *Config
GetConfig returns the current config.
func (*Controller) GetControllerInfo ¶
func (c *Controller) GetControllerInfo() *controller.Info
GetControllerInfo returns information about the controller.
func (*Controller) GetFrontendService ¶
func (c *Controller) GetFrontendService() *FrontendService
GetFrontendService returns the development service, if enabled for this project.
func (*Controller) HandleDirective ¶
func (c *Controller) HandleDirective( ctx context.Context, di directive.Instance, ) ([]directive.Resolver, error)
HandleDirective asks if the handler can resolve the directive. If it can, it returns a resolver. If not, returns nil. Any unexpected errors are returned for logging. It is safe to add a reference to the directive during this call.
func (*Controller) PublishTargets ¶
func (c *Controller) PublishTargets(ctx context.Context, remote string, targets []string, buildType bldr_manifest.BuildType) error
PublishTargets publishes to the given publish target(s) Filters manifests to the given build type. If the given build type is empty, skips filtering.
func (*Controller) SetManifestBuilderStatusSink ¶ added in v0.51.3
func (c *Controller) SetManifestBuilderStatusSink(sink ManifestBuilderStatusSink)
SetManifestBuilderStatusSink sets the manifest builder status sink.
func (*Controller) SetProjectConfigStatusSink ¶ added in v0.52.0
func (c *Controller) SetProjectConfigStatusSink(sink ProjectConfigStatusSink)
SetProjectConfigStatusSink sets the project config status sink.
func (*Controller) StartStartup ¶ added in v0.51.2
func (c *Controller) StartStartup(ctx context.Context)
StartStartup loads the plugins in the project start config while ctx is active.
func (*Controller) UpdateProjectConfig ¶
func (c *Controller) UpdateProjectConfig(nextConf *bldr_project.ProjectConfig) error
UpdateProjectConfig applies an updated project config restarting affected manifest builders.
func (*Controller) WaitRemote ¶
func (c *Controller) WaitRemote(ctx context.Context, remoteID string) (world.Engine, *RemoteRef, error)
WaitRemote adds a reference to a remote and waits for it to be ready.
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
Factory constructs a bldr project controller.
func (*Factory) Construct ¶
func (t *Factory) Construct( ctx context.Context, conf config.Config, opts controller.ConstructOpts, ) (controller.Controller, error)
Construct constructs the associated controller given configuration.
func (*Factory) ConstructConfig ¶
ConstructConfig constructs an instance of the controller configuration.
func (*Factory) GetConfigID ¶
GetConfigID returns the configuration ID for the controller.
func (*Factory) GetControllerID ¶
GetControllerID returns the unique ID for the controller.
func (*Factory) GetVersion ¶
func (t *Factory) GetVersion() controller.Version
GetVersion returns the version of this controller.
type FrontendService ¶
type FrontendService struct {
// contains filtered or unexported fields
}
FrontendService owns the project's current development environment. The project serializes configuration and shutdown; RPC methods run concurrently.
func (*FrontendService) Change ¶
func (f *FrontendService) Change(ctx context.Context, changes []*vite.DevelopmentChange) error
Change reports source edits the attaching owner already wrote to the source root. An environment that is not ready yet reads the edited files when it starts.
func (*FrontendService) Close ¶
func (f *FrontendService) Close()
Close cancels and joins the current environment before returning.
func (*FrontendService) Fetch ¶
func (f *FrontendService) Fetch(stream frontend.SRPCFrontend_FetchStream) error
Fetch serves module requests using the existing streamed HTTP protocol.
func (*FrontendService) Send ¶
func (f *FrontendService) Send(ctx context.Context, req *frontend.SendRequest) (*frontend.SendResponse, error)
Send rejects messages for an expired session at the native owner.
func (*FrontendService) ServeBootstrap ¶
func (f *FrontendService) ServeBootstrap(rw http.ResponseWriter, req *http.Request, entrypoint, startup string)
ServeBootstrap establishes React Refresh before the canonical renderer loads. Only compiler runtime code uses this route; application modules use Fetch.
func (*FrontendService) ServeHTTP ¶
func (f *FrontendService) ServeHTTP(rw http.ResponseWriter, req *http.Request)
ServeHTTP forwards only the current same-origin module namespace.
func (*FrontendService) Watch ¶
func (f *FrontendService) Watch(_ *frontend.WatchRequest, stream frontend.SRPCFrontend_WatchStream) error
Watch forwards the compiler snapshot and ordered events for one session.
type ManifestBuilderConfig ¶
type ManifestBuilderConfig struct {
// ManifestId is the manifest identifier to build.
ManifestId string `protobuf:"bytes,1,opt,name=manifest_id,json=manifestId,proto3" json:"manifestId,omitempty"`
// BuildType is the type of build this is.
BuildType string `protobuf:"bytes,2,opt,name=build_type,json=buildType,proto3" json:"buildType,omitempty"`
// PlatformId is the platform ID to build.
PlatformId string `protobuf:"bytes,3,opt,name=platform_id,json=platformId,proto3" json:"platformId,omitempty"`
// RemoteId is the identifier of the remote to attach to.
RemoteId string `protobuf:"bytes,4,opt,name=remote_id,json=remoteId,proto3" json:"remoteId,omitempty"`
// TargetPlatformIds is the full list of platform IDs belonging to the
// build target that spawned this slot. Informational only; the dist
// compiler no longer uses this field to pick which manifests to embed.
// Embed selection is driven by the per-slot BuilderConfigOverride sourced
// from BuildConfig.manifest_overrides, which carries explicit
// (manifest_id, platform_id) tuples.
TargetPlatformIds []string `protobuf:"bytes,5,rep,name=target_platform_ids,json=targetPlatformIds,proto3" json:"targetPlatformIds,omitempty"`
// BuilderConfigOverride optionally replaces the builder config of the
// manifest for this build slot. The override's controller id is ignored;
// the manifest's declared builder id always wins. This is REPLACE
// semantics: the static manifest builder config is not merged with the
// override. Sourced from BuildConfig.manifest_overrides.
BuilderConfigOverride *proto.ControllerConfig `protobuf:"bytes,6,opt,name=builder_config_override,json=builderConfigOverride,proto3" json:"builderConfigOverride,omitempty"`
// BuildPolicy is the effective build-scoped policy for this manifest builder
// slot after build-target config and CLI overrides are merged.
BuildPolicy *build.BuildPolicy `protobuf:"bytes,7,opt,name=build_policy,json=buildPolicy,proto3" json:"buildPolicy,omitempty"`
// contains filtered or unexported fields
}
ManifestBuilderConfig is a configuration for a ManifestBuilder.
func NewManifestBuilderConfig ¶
func NewManifestBuilderConfig(manifestID, buildType, platformID, remoteID string) *ManifestBuilderConfig
NewManifestBuilderConfig constructs a new ManifestBuilderConfig.
func NewManifestBuilderConfigWithTargetPlatforms ¶
func NewManifestBuilderConfigWithTargetPlatforms(manifestID, buildType, platformID, remoteID string, targetPlatformIDs []string) *ManifestBuilderConfig
NewManifestBuilderConfigWithTargetPlatforms constructs a new ManifestBuilderConfig with target platform IDs.
func UnmarshalManifestBuilderConfigB58 ¶
func UnmarshalManifestBuilderConfigB58(str string) (*ManifestBuilderConfig, error)
UnmarshalManifestBuilderConfigB58 unmarshals a b58 manifest builder config.
func (*ManifestBuilderConfig) CloneMessageVT ¶
func (m *ManifestBuilderConfig) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*ManifestBuilderConfig) CloneVT ¶
func (m *ManifestBuilderConfig) CloneVT() *ManifestBuilderConfig
func (*ManifestBuilderConfig) EqualMessageVT ¶
func (this *ManifestBuilderConfig) EqualMessageVT(thatMsg any) bool
func (*ManifestBuilderConfig) EqualVT ¶
func (this *ManifestBuilderConfig) EqualVT(that *ManifestBuilderConfig) bool
func (*ManifestBuilderConfig) GetBuildPolicy ¶ added in v0.51.7
func (x *ManifestBuilderConfig) GetBuildPolicy() *build.BuildPolicy
func (*ManifestBuilderConfig) GetBuildType ¶
func (x *ManifestBuilderConfig) GetBuildType() string
func (*ManifestBuilderConfig) GetBuilderConfigOverride ¶
func (x *ManifestBuilderConfig) GetBuilderConfigOverride() *proto.ControllerConfig
func (*ManifestBuilderConfig) GetManifestId ¶
func (x *ManifestBuilderConfig) GetManifestId() string
func (*ManifestBuilderConfig) GetPlatformId ¶
func (x *ManifestBuilderConfig) GetPlatformId() string
func (*ManifestBuilderConfig) GetRemoteId ¶
func (x *ManifestBuilderConfig) GetRemoteId() string
func (*ManifestBuilderConfig) GetTargetPlatformIds ¶
func (x *ManifestBuilderConfig) GetTargetPlatformIds() []string
func (*ManifestBuilderConfig) MarshalB58 ¶
func (m *ManifestBuilderConfig) MarshalB58() string
MarshalB58 marshals the conf to a b58 string.
func (*ManifestBuilderConfig) MarshalJSON ¶
func (x *ManifestBuilderConfig) MarshalJSON() ([]byte, error)
MarshalJSON marshals the ManifestBuilderConfig to JSON.
func (*ManifestBuilderConfig) MarshalProtoJSON ¶
func (x *ManifestBuilderConfig) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the ManifestBuilderConfig message to JSON.
func (*ManifestBuilderConfig) MarshalProtoText ¶
func (x *ManifestBuilderConfig) MarshalProtoText() string
func (*ManifestBuilderConfig) MarshalToSizedBufferVT ¶
func (m *ManifestBuilderConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*ManifestBuilderConfig) MarshalToVT ¶
func (m *ManifestBuilderConfig) MarshalToVT(dAtA []byte) (int, error)
func (*ManifestBuilderConfig) MarshalVT ¶
func (m *ManifestBuilderConfig) MarshalVT() (dAtA []byte, err error)
func (*ManifestBuilderConfig) ProtoMessage ¶
func (*ManifestBuilderConfig) ProtoMessage()
func (*ManifestBuilderConfig) Reset ¶
func (x *ManifestBuilderConfig) Reset()
func (*ManifestBuilderConfig) SizeVT ¶
func (m *ManifestBuilderConfig) SizeVT() (n int)
func (*ManifestBuilderConfig) String ¶
func (x *ManifestBuilderConfig) String() string
func (*ManifestBuilderConfig) UnmarshalJSON ¶
func (x *ManifestBuilderConfig) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the ManifestBuilderConfig from JSON.
func (*ManifestBuilderConfig) UnmarshalProtoJSON ¶
func (x *ManifestBuilderConfig) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the ManifestBuilderConfig message from JSON.
func (*ManifestBuilderConfig) UnmarshalVT ¶
func (m *ManifestBuilderConfig) UnmarshalVT(dAtA []byte) error
func (*ManifestBuilderConfig) Validate ¶
func (m *ManifestBuilderConfig) Validate() error
Validate validates the config.
type ManifestBuilderRef ¶
type ManifestBuilderRef struct {
// contains filtered or unexported fields
}
ManifestBuilderRef is a reference to a manifest builder.
func (*ManifestBuilderRef) GetManifestBuilderConfig ¶
func (r *ManifestBuilderRef) GetManifestBuilderConfig() *ManifestBuilderConfig
GetManifestBuilderConfig returns the manifest bundle config.
func (*ManifestBuilderRef) GetResultPromiseContainer ¶
func (r *ManifestBuilderRef) GetResultPromiseContainer() *promise.PromiseContainer[*ManifestBuilderResult]
GetResultPromiseContainer returns the result promise container.
func (*ManifestBuilderRef) Release ¶
func (r *ManifestBuilderRef) Release()
Release releases the reference.
func (*ManifestBuilderRef) ReleaseAfter ¶ added in v0.51.5
func (r *ManifestBuilderRef) ReleaseAfter(ctx context.Context, delay time.Duration)
ReleaseAfter releases the reference after delay or when ctx is canceled.
type ManifestBuilderResult ¶
type ManifestBuilderResult struct {
// BuilderConfig was the config passed to the builder.
BuilderConfig *builder.BuilderConfig `protobuf:"bytes,1,opt,name=builder_config,json=builderConfig,proto3" json:"builderConfig,omitempty"`
// BuilderResult is the result of running the builder.
BuilderResult *builder.BuilderResult `protobuf:"bytes,2,opt,name=builder_result,json=builderResult,proto3" json:"builderResult,omitempty"`
// contains filtered or unexported fields
}
ManifestBuilderResult is the result of a ManifestBuilder build.
func NewManifestBuilderResult ¶
func NewManifestBuilderResult( builderConf *bldr_manifest_builder.BuilderConfig, builderRes *bldr_manifest_builder.BuilderResult, ) *ManifestBuilderResult
NewManifestBuilderResult constructs a new ManifestBuilderResult.
func (*ManifestBuilderResult) CloneMessageVT ¶
func (m *ManifestBuilderResult) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*ManifestBuilderResult) CloneVT ¶
func (m *ManifestBuilderResult) CloneVT() *ManifestBuilderResult
func (*ManifestBuilderResult) EqualMessageVT ¶
func (this *ManifestBuilderResult) EqualMessageVT(thatMsg any) bool
func (*ManifestBuilderResult) EqualVT ¶
func (this *ManifestBuilderResult) EqualVT(that *ManifestBuilderResult) bool
func (*ManifestBuilderResult) GetBuilderConfig ¶
func (x *ManifestBuilderResult) GetBuilderConfig() *builder.BuilderConfig
func (*ManifestBuilderResult) GetBuilderResult ¶
func (x *ManifestBuilderResult) GetBuilderResult() *builder.BuilderResult
func (*ManifestBuilderResult) MarshalJSON ¶
func (x *ManifestBuilderResult) MarshalJSON() ([]byte, error)
MarshalJSON marshals the ManifestBuilderResult to JSON.
func (*ManifestBuilderResult) MarshalProtoJSON ¶
func (x *ManifestBuilderResult) MarshalProtoJSON(s *json.MarshalState)
MarshalProtoJSON marshals the ManifestBuilderResult message to JSON.
func (*ManifestBuilderResult) MarshalProtoText ¶
func (x *ManifestBuilderResult) MarshalProtoText() string
func (*ManifestBuilderResult) MarshalToSizedBufferVT ¶
func (m *ManifestBuilderResult) MarshalToSizedBufferVT(dAtA []byte) (int, error)
func (*ManifestBuilderResult) MarshalToVT ¶
func (m *ManifestBuilderResult) MarshalToVT(dAtA []byte) (int, error)
func (*ManifestBuilderResult) MarshalVT ¶
func (m *ManifestBuilderResult) MarshalVT() (dAtA []byte, err error)
func (*ManifestBuilderResult) ProtoMessage ¶
func (*ManifestBuilderResult) ProtoMessage()
func (*ManifestBuilderResult) Reset ¶
func (x *ManifestBuilderResult) Reset()
func (*ManifestBuilderResult) SizeVT ¶
func (m *ManifestBuilderResult) SizeVT() (n int)
func (*ManifestBuilderResult) String ¶
func (x *ManifestBuilderResult) String() string
func (*ManifestBuilderResult) UnmarshalJSON ¶
func (x *ManifestBuilderResult) UnmarshalJSON(b []byte) error
UnmarshalJSON unmarshals the ManifestBuilderResult from JSON.
func (*ManifestBuilderResult) UnmarshalProtoJSON ¶
func (x *ManifestBuilderResult) UnmarshalProtoJSON(s *json.UnmarshalState)
UnmarshalProtoJSON unmarshals the ManifestBuilderResult message from JSON.
func (*ManifestBuilderResult) UnmarshalVT ¶
func (m *ManifestBuilderResult) UnmarshalVT(dAtA []byte) error
type ManifestBuilderStatus ¶ added in v0.51.3
type ManifestBuilderStatus struct {
// ID is the manifest builder tracker id.
ID string
// BuildTargetIDs lists the build targets this builder serves.
BuildTargetIDs []string
// ManifestID is the manifest id under construction.
ManifestID string
// PlatformID is the target platform id.
PlatformID string
// TargetPlatformIDs lists the platforms the build produces.
TargetPlatformIDs []string
// BuildType names the build type.
BuildType string
// RemoteID is the publish remote id.
RemoteID string
// State is the current lifecycle state.
State ManifestBuilderStatusState
// CacheHit reports whether the build reused a startup cache hit.
CacheHit bool
// FullRebuild reports whether a full rebuild was required.
FullRebuild bool
// HotRebuild reports whether a hot rebuild was used.
HotRebuild bool
// WatchedFileCount is the number of files watched for changes.
WatchedFileCount int
// DependencyRebuildReason explains why dependencies forced a rebuild.
DependencyRebuildReason string
// Summary is a human-readable status line.
Summary string
// Error carries the last build error, if any.
Error string
}
ManifestBuilderStatus is the ProjectController manifest build status surface. ManifestBuilderStatus is the user-visible manifest build status consumed by the devtool TUI. Identity and target fields are set at construction; cache, rebuild, and watch fields are merged in by lifecycle events.
type ManifestBuilderStatusSink ¶ added in v0.51.3
type ManifestBuilderStatusSink interface {
SetManifestBuilderStatus(status ManifestBuilderStatus)
}
ManifestBuilderStatusSink consumes ProjectController manifest build status.
type ManifestBuilderStatusState ¶ added in v0.51.3
type ManifestBuilderStatusState int32
ManifestBuilderStatusState describes ProjectController manifest build status.
const ( // ManifestBuilderStatusStateQueued means the manifest build is waiting. ManifestBuilderStatusStateQueued ManifestBuilderStatusState = iota // ManifestBuilderStatusStateRunning means the manifest build is active. ManifestBuilderStatusStateRunning // ManifestBuilderStatusStateDone means the manifest build has a result. ManifestBuilderStatusStateDone // ManifestBuilderStatusStateError means the manifest build failed. ManifestBuilderStatusStateError // ManifestBuilderStatusStateCanceled means the manifest build was canceled. ManifestBuilderStatusStateCanceled )
type ProjectConfigStatusSink ¶ added in v0.52.0
type ProjectConfigStatusSink interface {
SetProjectConfigStatus(projectConfig *bldr_project.ProjectConfig)
}
ProjectConfigStatusSink consumes ProjectController project config status.
type RemoteRef ¶
type RemoteRef struct {
// contains filtered or unexported fields
}
RemoteRef is a reference to a remote.
func (*RemoteRef) GetRemoteConfig ¶
func (r *RemoteRef) GetRemoteConfig() *bldr_project.RemoteConfig
GetRemoteConfig returns the config of the remote.
func (*RemoteRef) GetRemoteID ¶
GetRemoteID returns the ID of the remote.
func (*RemoteRef) GetResultPromise ¶
func (r *RemoteRef) GetResultPromise() promise.PromiseLike[*world.Engine]
GetResultPromise returns the result promise.
type ResolvedBuildTarget ¶ added in v0.51.7
type ResolvedBuildTarget struct {
// PlatformIDs are the platforms selected for the target.
PlatformIDs []string
// BuildPolicy is the effective compiler policy for the target.
BuildPolicy *manifest_build.BuildPolicy
}
ResolvedBuildTarget is the effective build-target configuration after CLI overrides are applied.
func ResolveBuildTarget ¶ added in v0.51.7
func ResolveBuildTarget(buildConfig *bldr_project.BuildConfig, targetsOverride []string, buildPolicyOverride *manifest_build.BuildPolicy) (*ResolvedBuildTarget, error)
ResolveBuildTarget resolves a build target with command-line overrides.