service

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2021 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AssemblyLineService added in v0.0.7

type AssemblyLineService interface {
	Assembly(ctx context.Context, targetNames []string) error
}

AssemblyLineService ...

type DeployPackageFilter

type DeployPackageFilter interface {
	AcceptDeploy(prev *entity.InstalledPackageInfo, next *entity.AvailablePackageInfo) bool
}

DeployPackageFilter 在部署时过滤安装包

type DeployService

type DeployService interface {
	Deploy(ctx context.Context, in *vo.Deploy, out *vo.Deploy) error

	DeployPackage(ctx context.Context, pack *entity.AvailablePackageInfo, filter DeployPackageFilter) error
	DeployPackages(ctx context.Context, packs []*entity.AvailablePackageInfo, filter DeployPackageFilter) error
	DeployByNames(ctx context.Context, names []string, filter DeployPackageFilter) error
}

DeployService 部署已缓存的bpm包

type DeployServiceImpl

type DeployServiceImpl struct {
	markup.Component `id:"bpm-deploy-service"`

	PM  PackageManager `inject:"#bpm-package-manager"`
	Env EnvService     `inject:"#bpm-env-service"`
}

DeployServiceImpl ...

func (*DeployServiceImpl) Deploy

func (inst *DeployServiceImpl) Deploy(ctx context.Context, in *vo.Deploy, out *vo.Deploy) error

Deploy ...

func (*DeployServiceImpl) DeployByNames

func (inst *DeployServiceImpl) DeployByNames(ctx context.Context, names []string, filter DeployPackageFilter) error

DeployByNames ...

func (*DeployServiceImpl) DeployPackage

func (inst *DeployServiceImpl) DeployPackage(ctx context.Context, pack *entity.AvailablePackageInfo, filter DeployPackageFilter) error

DeployPackage ...

func (*DeployServiceImpl) DeployPackages

func (inst *DeployServiceImpl) DeployPackages(ctx context.Context, packs []*entity.AvailablePackageInfo, filter DeployPackageFilter) error

DeployPackages ...

type EnvService

type EnvService interface {
	GetBitwormholeHome() fs.Path

	// "etc/bpm/sources"
	GetSourcesFile() fs.Path

	// "etc/bpm/available"
	GetAvailableFile() fs.Path

	// "etc/bpm/installed"
	GetInstalledFile() fs.Path

	// "etc/bpm/auto-upgrade"
	GetAutoUpgradeFile() fs.Path

	// "etc/bpm/manifest.d"
	GetManifestDir() fs.Path

	// "etc/bpm/signature.d"
	GetSignatureDir() fs.Path

	// "files"
	GetFilesFolder() fs.Path

	// "var/bpm/packages/pkgName/version/packages-version.bpm"
	GetLocalBpmFiles(p *entity.BasePackageInfo) *LocalBpmFiles
}

EnvService 提供环境上下文

type EnvServiceImpl

type EnvServiceImpl struct {
	markup.Component `id:"bpm-env-service" initMethod:"Init"`

	Context application.Context `inject:"context"`
	// contains filtered or unexported fields
}

EnvServiceImpl 实现 EnvService

func (*EnvServiceImpl) GetAutoUpgradeFile added in v0.0.3

func (inst *EnvServiceImpl) GetAutoUpgradeFile() fs.Path

GetAutoUpgradeFile "etc/bpm/auto-upgrade"

func (*EnvServiceImpl) GetAvailableFile

func (inst *EnvServiceImpl) GetAvailableFile() fs.Path

GetAvailableFile ...

func (*EnvServiceImpl) GetBitwormholeHome

func (inst *EnvServiceImpl) GetBitwormholeHome() fs.Path

GetBitwormholeHome ...

func (*EnvServiceImpl) GetFilesFolder

func (inst *EnvServiceImpl) GetFilesFolder() fs.Path

GetFilesFolder ...

func (*EnvServiceImpl) GetInstalledFile

func (inst *EnvServiceImpl) GetInstalledFile() fs.Path

GetInstalledFile ...

func (*EnvServiceImpl) GetLocalBpmFiles

func (inst *EnvServiceImpl) GetLocalBpmFiles(p *entity.BasePackageInfo) *LocalBpmFiles

GetLocalBpmFiles ...

func (*EnvServiceImpl) GetManifestDir added in v0.0.3

func (inst *EnvServiceImpl) GetManifestDir() fs.Path

GetManifestDir "etc/bpm/manifest.d"

func (*EnvServiceImpl) GetSignatureDir added in v0.0.3

func (inst *EnvServiceImpl) GetSignatureDir() fs.Path

GetSignatureDir "etc/bpm/signature.d"

func (*EnvServiceImpl) GetSourcesFile

func (inst *EnvServiceImpl) GetSourcesFile() fs.Path

GetSourcesFile ...

func (*EnvServiceImpl) Init

func (inst *EnvServiceImpl) Init() error

Init 初始化服务

type FetchService

type FetchService interface {
	Fetch(ctx context.Context, in *vo.Fetch, out *vo.Fetch) error

	FetchPackage(ctx context.Context, pack *entity.AvailablePackageInfo) error
	FetchPackages(ctx context.Context, packs []*entity.AvailablePackageInfo) error
	FetchByNames(ctx context.Context, names []string) error
}

FetchService 下载bpm包到本地

type FetchServiceImpl

type FetchServiceImpl struct {
	markup.Component `id:"bpm-fetch-service" class:"bpm-service"`

	PM     PackageManager `inject:"#bpm-package-manager"`
	Env    EnvService     `inject:"#bpm-env-service"`
	Remote HTTPGetService `inject:"#bpm-remote-service"`
}

FetchServiceImpl 实现 FetchService

func (*FetchServiceImpl) Fetch

func (inst *FetchServiceImpl) Fetch(ctx context.Context, in *vo.Fetch, out *vo.Fetch) error

Fetch ...

func (*FetchServiceImpl) FetchByNames

func (inst *FetchServiceImpl) FetchByNames(ctx context.Context, names []string) error

FetchByNames ...

func (*FetchServiceImpl) FetchPackage

func (inst *FetchServiceImpl) FetchPackage(ctx context.Context, pack *entity.AvailablePackageInfo) error

FetchPackage ...

func (*FetchServiceImpl) FetchPackages

func (inst *FetchServiceImpl) FetchPackages(ctx context.Context, packs []*entity.AvailablePackageInfo) error

FetchPackages ...

type HTTPGetService

type HTTPGetService interface {
	Load(url string, dst io.Writer) error
	LoadText(url string) (string, error)
	LoadFile(url string, dst fs.Path) error
}

HTTPGetService 提供HTTP下载服务

type HTTPGetServiceImpl

type HTTPGetServiceImpl struct {
	markup.Component `id:"bpm-remote-service"`
}

HTTPGetServiceImpl 实现 HTTPGetService

func (*HTTPGetServiceImpl) Load

func (inst *HTTPGetServiceImpl) Load(url string, dst io.Writer) error

Load 下载数据流

func (*HTTPGetServiceImpl) LoadFile

func (inst *HTTPGetServiceImpl) LoadFile(url string, dst fs.Path) error

LoadFile 下载文件

func (*HTTPGetServiceImpl) LoadText

func (inst *HTTPGetServiceImpl) LoadText(url string) (string, error)

LoadText 下载文本

type InstallService

type InstallService interface {
	Install(ctx context.Context, in *vo.Install, out *vo.Install) error

	InstallPackage(ctx context.Context, pack *entity.AvailablePackageInfo) error
	InstallPackages(ctx context.Context, packs []*entity.AvailablePackageInfo) error
	InstallByNames(ctx context.Context, names []string) error
}

InstallService ...

type InstallServiceImpl

type InstallServiceImpl struct {
	markup.Component `id:"bpm-install-service" class:"bpm-service"`

	PM        PackageManager `inject:"#bpm-package-manager"`
	FetchSer  FetchService   `inject:"#bpm-fetch-service"`
	DeploySer DeployService  `inject:"#bpm-deploy-service"`
}

InstallServiceImpl ...

func (*InstallServiceImpl) AcceptDeploy

func (*InstallServiceImpl) Install

func (inst *InstallServiceImpl) Install(ctx context.Context, in *vo.Install, out *vo.Install) error

Install ...

func (*InstallServiceImpl) InstallByNames

func (inst *InstallServiceImpl) InstallByNames(ctx context.Context, names []string) error

InstallByNames ...

func (*InstallServiceImpl) InstallPackage

func (inst *InstallServiceImpl) InstallPackage(ctx context.Context, pack *entity.AvailablePackageInfo) error

InstallPackage ...

func (*InstallServiceImpl) InstallPackages

func (inst *InstallServiceImpl) InstallPackages(ctx context.Context, packs []*entity.AvailablePackageInfo) error

InstallPackages ...

type LocalBpmFiles

type LocalBpmFiles struct {
	Dir       fs.Path
	BPM       fs.Path
	MetaJSON  fs.Path
	Manifest  fs.Path
	Signature fs.Path
}

LocalBpmFiles 包含缓存在本地的BPM包相关文件

type MakeService

type MakeService interface {
	Make(ctx context.Context, in *vo.Make, out *vo.Make) error
	MakePackage(ctx context.Context, pwd fs.Path) error
}

MakeService ...

type MakeServiceImpl

type MakeServiceImpl struct {
	markup.Component `id:"bpm-make-service" class:"bpm-service"`
}

MakeServiceImpl ...

func (*MakeServiceImpl) Make

func (inst *MakeServiceImpl) Make(ctx context.Context, in *vo.Make, out *vo.Make) error

Make 生成安装包

func (*MakeServiceImpl) MakePackage

func (inst *MakeServiceImpl) MakePackage(ctx context.Context, pwd fs.Path) error

MakePackage 生成安装包

type PackInfoService

type PackInfoService interface {
	DisplayPackInfo(ctx context.Context, in *vo.PackInfo, out *vo.PackInfo) error
	DisplayPackInfoByNames(ctx context.Context, names []string) error
}

PackInfoService ...

type PackInfoServiceImpl

type PackInfoServiceImpl struct {
	markup.Component `id:"bpm-pack-info-service" class:"bpm-service"`

	PM PackageManager `inject:"#bpm-package-manager"`
}

PackInfoServiceImpl ...

func (*PackInfoServiceImpl) DisplayPackInfo

func (inst *PackInfoServiceImpl) DisplayPackInfo(ctx context.Context, in *vo.PackInfo, out *vo.PackInfo) error

func (*PackInfoServiceImpl) DisplayPackInfoByNames

func (inst *PackInfoServiceImpl) DisplayPackInfoByNames(ctx context.Context, names []string) error

type PackageManager

type PackageManager interface {
	LoadAvailablePackages() (*po.AvailablePackages, error)
	LoadInstalledPackages() (*po.InstalledPackages, error)
	LoadPackageSourceList() (*po.PackageSourceList, error)

	SaveAvailablePackages(p *po.AvailablePackages) error
	SaveInstalledPackages(p *po.InstalledPackages) error

	SelectAvailablePackages(namelist []string) ([]*entity.AvailablePackageInfo, error)
	SelectInstalledPackages(namelist []string) ([]*entity.InstalledPackageInfo, error)
}

PackageManager 包管理器

type PackageManagerImpl

type PackageManagerImpl struct {
	markup.Component `id:"bpm-package-manager"`

	Env EnvService `inject:"#bpm-env-service"`
}

PackageManagerImpl ...

func (*PackageManagerImpl) LoadAvailablePackages

func (inst *PackageManagerImpl) LoadAvailablePackages() (*po.AvailablePackages, error)

LoadAvailablePackages ...

func (*PackageManagerImpl) LoadInstalledPackages

func (inst *PackageManagerImpl) LoadInstalledPackages() (*po.InstalledPackages, error)

LoadInstalledPackages ...

func (*PackageManagerImpl) LoadPackageSourceList

func (inst *PackageManagerImpl) LoadPackageSourceList() (*po.PackageSourceList, error)

LoadPackageSourceList ...

func (*PackageManagerImpl) SaveAvailablePackages

func (inst *PackageManagerImpl) SaveAvailablePackages(o *po.AvailablePackages) error

SaveAvailablePackages ...

func (*PackageManagerImpl) SaveInstalledPackages

func (inst *PackageManagerImpl) SaveInstalledPackages(o *po.InstalledPackages) error

SaveInstalledPackages ...

func (*PackageManagerImpl) SelectAvailablePackages

func (inst *PackageManagerImpl) SelectAvailablePackages(namelist []string) ([]*entity.AvailablePackageInfo, error)

SelectAvailablePackages ...

func (*PackageManagerImpl) SelectInstalledPackages

func (inst *PackageManagerImpl) SelectInstalledPackages(namelist []string) ([]*entity.InstalledPackageInfo, error)

SelectInstalledPackages ...

type RunService

type RunService interface {
	Run(ctx context.Context, in *vo.Run, out *vo.Run) error
}

type RunServiceImpl

type RunServiceImpl struct {
	markup.Component `id:"bpm-run-service" class:"bpm-service"`

	PM      PackageManager      `inject:"#bpm-package-manager"`
	Env     EnvService          `inject:"#bpm-env-service"`
	Context application.Context `inject:"context"`
}

func (*RunServiceImpl) Run

func (inst *RunServiceImpl) Run(ctx context.Context, in *vo.Run, out *vo.Run) error

type UpdateService

type UpdateService interface {
	Update(ctx context.Context, in *vo.Update, out *vo.Update) error
}

type UpdateServiceImpl

type UpdateServiceImpl struct {
	markup.Component `id:"bpm-update-service" class:"bpm-service"`

	Remote HTTPGetService `inject:"#bpm-remote-service"`
	PM     PackageManager `inject:"#bpm-package-manager"`
}

func (*UpdateServiceImpl) Update

func (inst *UpdateServiceImpl) Update(ctx context.Context, in *vo.Update, out *vo.Update) error

type UpgradeService

type UpgradeService interface {
	Upgrade(ctx context.Context, in *vo.Upgrade, out *vo.Upgrade) error
	UpgradePackage(ctx context.Context, pack *entity.InstalledPackageInfo) error
	UpgradePackages(ctx context.Context, packs []*entity.InstalledPackageInfo) error
	UpgradeByNames(ctx context.Context, names []string) error
	UpgradeAuto(ctx context.Context, doUpdateFirst bool) error
}

UpgradeService 升级已安装的包

type UpgradeServiceImpl

type UpgradeServiceImpl struct {
	markup.Component `id:"bpm-upgrade-service" class:"bpm-service"`

	Env       EnvService     `inject:"#bpm-env-service"`
	PM        PackageManager `inject:"#bpm-package-manager"`
	UpdateSer UpdateService  `inject:"#bpm-update-service"`
	FetchSer  FetchService   `inject:"#bpm-fetch-service"`
	DeploySer DeployService  `inject:"#bpm-deploy-service"`
}

UpgradeServiceImpl 实现 UpgradeService

func (*UpgradeServiceImpl) AcceptDeploy

AcceptDeploy 回调:判断是否接受升级

func (*UpgradeServiceImpl) Upgrade

func (inst *UpgradeServiceImpl) Upgrade(ctx context.Context, in *vo.Upgrade, out *vo.Upgrade) error

Upgrade ...

func (*UpgradeServiceImpl) UpgradeAuto added in v0.0.3

func (inst *UpgradeServiceImpl) UpgradeAuto(ctx context.Context, doUpdateFirst bool) error

UpgradeAuto 自动升级

func (*UpgradeServiceImpl) UpgradeByNames

func (inst *UpgradeServiceImpl) UpgradeByNames(ctx context.Context, names []string) error

UpgradeByNames ...

func (*UpgradeServiceImpl) UpgradePackage

func (inst *UpgradeServiceImpl) UpgradePackage(ctx context.Context, pack *entity.InstalledPackageInfo) error

UpgradePackage ...

func (*UpgradeServiceImpl) UpgradePackages

func (inst *UpgradeServiceImpl) UpgradePackages(ctx context.Context, packs []*entity.InstalledPackageInfo) error

UpgradePackages ...

Directories

Path Synopsis
impl

Jump to

Keyboard shortcuts

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