Help us shape the future of Go! Take the 2026 Go Developer Survey

prepare

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithSkipCleanOutput added in v0.1.4

func WithSkipCleanOutput(ctx context.Context) context.Context

WithSkipCleanOutput 返回一个携带“跳过清理输出目录”标识的 context。 Prepare 检测到该标识后,将不再调用 cleanDirContents。

Types

type FileSystemNodeRuntimePreparer

type FileSystemNodeRuntimePreparer struct {
	// contains filtered or unexported fields
}

func NewFileSystemNodeRuntimePreparer added in v0.1.4

func NewFileSystemNodeRuntimePreparer(
	analysisRepo interfaces.AnalysisRepository,
	workflowRepo interfaces.WorkflowRepository,
	projectRepo interfaces.ProjectRepository,
	workflowService interfaces.WorkflowService,
	cfg *config.Config,
	builders *RunScriptBuilderRegistry,
) *FileSystemNodeRuntimePreparer

func (*FileSystemNodeRuntimePreparer) Prepare

func (*FileSystemNodeRuntimePreparer) WriteCommand

func (p *FileSystemNodeRuntimePreparer) WriteCommand(node *types.AnalysisNode, scriptType, scriptPath string, params map[string]any) error

func (*FileSystemNodeRuntimePreparer) WriteEnvFile added in v0.1.4

func (p *FileSystemNodeRuntimePreparer) WriteEnvFile(ctx context.Context, envFilePath string, node *types.AnalysisNode, scriptDir string) error

type JupyterScriptBuilder

type JupyterScriptBuilder struct{}

func (JupyterScriptBuilder) Build

func (JupyterScriptBuilder) Build(node *types.AnalysisNode, scriptPath string, _ string, _ map[string]any) (string, error)

func (JupyterScriptBuilder) Name added in v0.1.4

type NodeRuntimePreparer

type NodeRuntimePreparer interface {
	Prepare(ctx context.Context, node *types.AnalysisNode) error
}

type PythonScriptBuilder

type PythonScriptBuilder struct{}

func (PythonScriptBuilder) Build

func (PythonScriptBuilder) Build(node *types.AnalysisNode, scriptPath string, _ string, _ map[string]any) (string, error)

func (PythonScriptBuilder) Name added in v0.1.4

func (PythonScriptBuilder) Name() string

type QmdScriptBuilder

type QmdScriptBuilder struct{}

func (QmdScriptBuilder) Build

func (QmdScriptBuilder) Build(node *types.AnalysisNode, scriptPath string, _ string, _ map[string]any) (string, error)

func (QmdScriptBuilder) Name added in v0.1.4

func (QmdScriptBuilder) Name() string

type RScriptBuilder

type RScriptBuilder struct{}

func (RScriptBuilder) Build

func (RScriptBuilder) Build(node *types.AnalysisNode, scriptPath string, _ string, _ map[string]any) (string, error)

func (RScriptBuilder) Name added in v0.1.4

func (RScriptBuilder) Name() string

type RunScriptBuilder

type RunScriptBuilder interface {
	// Name 返回构建器唯一标识(小写脚本类型,如 r / python / shell / qmd / jupyter)。
	Name() string
	// Build 根据节点、脚本路径、脚本内容与参数生成 run.sh 内容。
	Build(node *types.AnalysisNode, scriptPath string, scriptContent string, params map[string]any) (string, error)
}

RunScriptBuilder 是「运行脚本构建器」接口:根据脚本类型(r / python / shell / qmd / jupyter)生成节点实际执行的 run.sh 内容。

func DefaultRunScriptBuilders added in v0.1.4

func DefaultRunScriptBuilders() []RunScriptBuilder

DefaultRunScriptBuilders 返回框架内置的 RunScriptBuilder 列表。

type RunScriptBuilderRegistry added in v0.1.4

type RunScriptBuilderRegistry struct {
	// contains filtered or unexported fields
}

RunScriptBuilderRegistry 负责注册与解析 RunScriptBuilder。 采用与 agent.Registry 一致的注册表模式,由容器启动时注册内置构建器, 运行时按脚本类型解析;未匹配到对应类型时回退到 "shell"。

func NewRunScriptBuilderRegistry added in v0.1.4

func NewRunScriptBuilderRegistry(builders ...RunScriptBuilder) *RunScriptBuilderRegistry

NewRunScriptBuilderRegistry 创建注册表并注册传入的构建器。

func (*RunScriptBuilderRegistry) Has added in v0.1.4

func (r *RunScriptBuilderRegistry) Has(scriptType string) bool

Has 报告指定脚本类型是否已注册。

func (*RunScriptBuilderRegistry) Names added in v0.1.4

func (r *RunScriptBuilderRegistry) Names() []string

Names 返回已注册的构建器名称列表(升序,便于调试与校验)。

func (*RunScriptBuilderRegistry) Register added in v0.1.4

Register 注册构建器;同名覆盖。

func (*RunScriptBuilderRegistry) Resolve added in v0.1.4

func (r *RunScriptBuilderRegistry) Resolve(scriptType string) RunScriptBuilder

Resolve 按脚本类型解析构建器;未匹配到对应类型时回退到 "shell"。 返回 nil 表示 "shell" 也未注册。

type ShellScriptBuilder

type ShellScriptBuilder struct{}

func (ShellScriptBuilder) Build

func (ShellScriptBuilder) Build(_ *types.AnalysisNode, scriptPath string, scriptContent string, params map[string]any) (string, error)

func (ShellScriptBuilder) Name added in v0.1.4

func (ShellScriptBuilder) Name() string

Jump to

Keyboard shortcuts

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