Update to new goprogram version
This commit is contained in:
parent
7bd9570bc0
commit
873fdcd5c2
106 changed files with 478 additions and 825 deletions
|
|
@ -9,7 +9,7 @@ import (
|
|||
// Barrel provides access to the underlying Barrel
|
||||
type Barrel struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Locker *locker.Locker
|
||||
MStore *mstore.MStore
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ import (
|
|||
//
|
||||
// It also logs the current time into the metadata belonging to this instance.
|
||||
func (barrel *Barrel) Build(ctx context.Context, progress io.Writer, start bool) error {
|
||||
if !barrel.Dependencies.Locker.TryLock(ctx) {
|
||||
if !barrel.dependencies.Locker.TryLock(ctx) {
|
||||
return locker.Locked
|
||||
}
|
||||
defer barrel.Dependencies.Locker.Unlock(ctx)
|
||||
defer barrel.dependencies.Locker.Unlock(ctx)
|
||||
|
||||
stack := barrel.Stack()
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ func (barrel *Barrel) Build(ctx context.Context, progress io.Writer, start bool)
|
|||
var lastRebuild = mstore.For[int64]("lastRebuild")
|
||||
|
||||
func (barrel Barrel) LastRebuild(ctx context.Context) (t time.Time, err error) {
|
||||
epoch, err := lastRebuild.Get(ctx, barrel.Dependencies.MStore)
|
||||
epoch, err := lastRebuild.Get(ctx, barrel.dependencies.MStore)
|
||||
if err == meta.ErrMetadatumNotSet {
|
||||
return t, nil
|
||||
}
|
||||
|
|
@ -61,17 +61,17 @@ func (barrel Barrel) LastRebuild(ctx context.Context) (t time.Time, err error) {
|
|||
}
|
||||
|
||||
func (barrel *Barrel) setLastRebuild(ctx context.Context) error {
|
||||
return lastRebuild.Set(ctx, barrel.Dependencies.MStore, time.Now().Unix())
|
||||
return lastRebuild.Set(ctx, barrel.dependencies.MStore, time.Now().Unix())
|
||||
}
|
||||
|
||||
type LastRebuildFetcher struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Barrel *Barrel
|
||||
}
|
||||
}
|
||||
|
||||
func (lbr *LastRebuildFetcher) Fetch(ctx context.Context, flags ingredient.FetcherFlags, info *status.WissKI) (err error) {
|
||||
info.LastRebuild, _ = lbr.Dependencies.Barrel.LastRebuild(ctx)
|
||||
info.LastRebuild, _ = lbr.dependencies.Barrel.LastRebuild(ctx)
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import (
|
|||
// Drush implements commands related to drush
|
||||
type Composer struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Barrel *barrel.Barrel
|
||||
MStore *mstore.MStore
|
||||
Drush *drush.Drush
|
||||
|
|
@ -35,7 +35,7 @@ func (composer *Composer) ExecWissKI(ctx context.Context, progress io.Writer, co
|
|||
}
|
||||
|
||||
func (composer *Composer) exec(ctx context.Context, progress io.Writer, command ...string) error {
|
||||
if err := composer.Dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), append([]string{"composer", "--no-interaction"}, command...)...); err != nil {
|
||||
if err := composer.dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), append([]string{"composer", "--no-interaction"}, command...)...); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
|
@ -44,7 +44,7 @@ func (composer *Composer) exec(ctx context.Context, progress io.Writer, command
|
|||
// FixPermissions fixes the permissions of the sites directory.
|
||||
// This needs to be run after every installation of a composer module.
|
||||
func (composer *Composer) FixPermission(ctx context.Context, progress io.Writer) error {
|
||||
composer.Dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), "chmod", "-R", "u+w", barrel.SitesDirectory)
|
||||
composer.dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), "chmod", "-R", "u+w", barrel.SitesDirectory)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ func (composer *Composer) Update(ctx context.Context, progress io.Writer) (err e
|
|||
|
||||
logging.LogMessage(progress, "Installing database updates")
|
||||
{
|
||||
err := composer.Dependencies.Drush.Exec(ctx, progress, "-y", "updatedb")
|
||||
err := composer.dependencies.Drush.Exec(ctx, progress, "-y", "updatedb")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -56,7 +56,7 @@ func (composer *Composer) Update(ctx context.Context, progress io.Writer) (err e
|
|||
const lastUpdate = mstore.For[int64]("lastUpdate")
|
||||
|
||||
func (drush *Composer) LastUpdate(ctx context.Context) (t time.Time, err error) {
|
||||
epoch, err := lastUpdate.Get(ctx, drush.Dependencies.MStore)
|
||||
epoch, err := lastUpdate.Get(ctx, drush.dependencies.MStore)
|
||||
if err == meta.ErrMetadatumNotSet {
|
||||
return t, nil
|
||||
}
|
||||
|
|
@ -69,12 +69,12 @@ func (drush *Composer) LastUpdate(ctx context.Context) (t time.Time, err error)
|
|||
}
|
||||
|
||||
func (drush *Composer) setLastUpdate(ctx context.Context) error {
|
||||
return lastUpdate.Set(ctx, drush.Dependencies.MStore, time.Now().Unix())
|
||||
return lastUpdate.Set(ctx, drush.dependencies.MStore, time.Now().Unix())
|
||||
}
|
||||
|
||||
type LastUpdateFetcher struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Composer *Composer
|
||||
}
|
||||
}
|
||||
|
|
@ -84,6 +84,6 @@ var (
|
|||
)
|
||||
|
||||
func (lbr *LastUpdateFetcher) Fetch(flags ingredient.FetcherFlags, info *status.WissKI) (err error) {
|
||||
info.LastUpdate, err = lbr.Dependencies.Composer.LastUpdate(flags.Context)
|
||||
info.LastUpdate, err = lbr.dependencies.Composer.LastUpdate(flags.Context)
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ func (drush *Drush) Cron(ctx context.Context, progress io.Writer) error {
|
|||
|
||||
func (drush *Drush) LastCron(ctx context.Context, server *phpx.Server) (t time.Time, err error) {
|
||||
var timestamp int64
|
||||
err = drush.Dependencies.PHP.EvalCode(ctx, server, ×tamp, `return \Drupal::state()->get('system.cron_last');`)
|
||||
err = drush.dependencies.PHP.EvalCode(ctx, server, ×tamp, `return \Drupal::state()->get('system.cron_last');`)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
|
@ -41,7 +41,7 @@ func (drush *Drush) LastCron(ctx context.Context, server *phpx.Server) (t time.T
|
|||
|
||||
type LastCronFetcher struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Drush *Drush
|
||||
}
|
||||
}
|
||||
|
|
@ -55,6 +55,6 @@ func (lbr *LastCronFetcher) Fetch(flags ingredient.FetcherFlags, info *status.Wi
|
|||
return
|
||||
}
|
||||
|
||||
info.LastRebuild, _ = lbr.Dependencies.Drush.LastCron(flags.Context, flags.Server)
|
||||
info.LastRebuild, _ = lbr.dependencies.Drush.LastCron(flags.Context, flags.Server)
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import (
|
|||
// Drush implements commands related to drush
|
||||
type Drush struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Barrel *barrel.Barrel
|
||||
PHP *php.PHP
|
||||
}
|
||||
|
|
@ -26,5 +26,5 @@ func (drush *Drush) Enable(ctx context.Context, progress io.Writer, modules ...s
|
|||
|
||||
func (drush *Drush) Exec(ctx context.Context, progress io.Writer, command ...string) error {
|
||||
script := append([]string{"drush"}, command...)
|
||||
return drush.Dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), script...)
|
||||
return drush.dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), script...)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ func (manager *Manager) installModules(ctx context.Context, progress io.Writer,
|
|||
return logging.LogOperation(func() error {
|
||||
for _, spec := range modules {
|
||||
logging.LogMessage(progress, fmt.Sprintf("Installing %q", spec))
|
||||
err := manager.Dependencies.Composer.Install(ctx, progress, spec)
|
||||
err := manager.dependencies.Composer.Install(ctx, progress, spec)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -67,7 +67,7 @@ func (manager *Manager) installModules(ctx context.Context, progress io.Writer,
|
|||
if enable {
|
||||
name := composer.ModuleName(spec)
|
||||
logging.LogMessage(progress, fmt.Sprintf("Enabling %q (from spec %q)", name, spec))
|
||||
err := manager.Dependencies.Drush.Enable(ctx, progress, name)
|
||||
err := manager.dependencies.Drush.Enable(ctx, progress, name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -90,7 +90,7 @@ func (manager *Manager) applyDrupal(ctx context.Context, progress io.Writer, dru
|
|||
{"chmod", "666", "web/sites/default/*settings.php"},
|
||||
{"chmod", "666", "web/sites/default/*services.php"},
|
||||
} {
|
||||
err := manager.Dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), script...)
|
||||
err := manager.dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), script...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -105,7 +105,7 @@ func (manager *Manager) applyDrupal(ctx context.Context, progress io.Writer, dru
|
|||
{"chmod", "644", "web/sites/default/*settings.php"},
|
||||
{"chmod", "644", "web/sites/default/*services.php"},
|
||||
} {
|
||||
manager.Dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), script...)
|
||||
manager.dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), script...)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
|
@ -121,21 +121,21 @@ func (manager *Manager) applyDrupal(ctx context.Context, progress io.Writer, dru
|
|||
}
|
||||
args = append(args, "--update-with-dependencies", "--no-update")
|
||||
|
||||
if err := manager.Dependencies.Composer.Install(ctx, progress, args...); err != nil {
|
||||
if err := manager.dependencies.Composer.Install(ctx, progress, args...); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
logging.LogMessage(progress, "Running composer update")
|
||||
{
|
||||
if err := manager.Dependencies.Composer.Exec(ctx, progress, "update"); err != nil {
|
||||
if err := manager.dependencies.Composer.Exec(ctx, progress, "update"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
logging.LogMessage(progress, "Performing database updates (if any)")
|
||||
{
|
||||
if err := manager.Dependencies.Drush.Exec(ctx, progress, "updatedb", "--yes"); err != nil {
|
||||
if err := manager.dependencies.Drush.Exec(ctx, progress, "updatedb", "--yes"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
@ -156,7 +156,7 @@ func (manager *Manager) applyWissKI(ctx context.Context, progress io.Writer, wis
|
|||
spec += ":" + wisski
|
||||
}
|
||||
|
||||
err := manager.Dependencies.Composer.Install(ctx, progress, spec)
|
||||
err := manager.dependencies.Composer.Install(ctx, progress, spec)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -165,27 +165,27 @@ func (manager *Manager) applyWissKI(ctx context.Context, progress io.Writer, wis
|
|||
// install dependencies in the WissKI directory
|
||||
logging.LogMessage(progress, "Installing WissKI Dependencies")
|
||||
{
|
||||
if err := manager.Dependencies.Composer.ExecWissKI(ctx, progress, "install"); err != nil {
|
||||
if err := manager.dependencies.Composer.ExecWissKI(ctx, progress, "install"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
logging.LogMessage(progress, "Enable Wisski modules")
|
||||
{
|
||||
if err := manager.Dependencies.Drush.Enable(ctx, progress,
|
||||
if err := manager.dependencies.Drush.Enable(ctx, progress,
|
||||
"wisski_core", "wisski_linkblock", "wisski_pathbuilder", "wisski_adapter_sparql11_pb", "wisski_salz",
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := manager.Dependencies.Composer.FixPermission(ctx, progress); err != nil {
|
||||
if err := manager.dependencies.Composer.FixPermission(ctx, progress); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
logging.LogMessage(progress, "Performing database updates (if any)")
|
||||
{
|
||||
if err := manager.Dependencies.Drush.Exec(ctx, progress, "updatedb", "--yes"); err != nil {
|
||||
if err := manager.dependencies.Drush.Exec(ctx, progress, "updatedb", "--yes"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import (
|
|||
// Manager manages a profile applied to specific WissKI instances.
|
||||
type Manager struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Barrel *barrel.Barrel
|
||||
Bookkeeping *bookkeeping.Bookkeeping
|
||||
|
||||
|
|
|
|||
|
|
@ -23,14 +23,14 @@ import (
|
|||
// Provision applies defaults to flags, to ensure some values are set
|
||||
func (manager *Manager) Provision(ctx context.Context, progress io.Writer, system models.System, flags Profile) error {
|
||||
// Force building and applying the system!
|
||||
if err := manager.Dependencies.SystemManager.Apply(ctx, progress, system, false); err != nil {
|
||||
if err := manager.dependencies.SystemManager.Apply(ctx, progress, system, false); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Create the composer directory!
|
||||
logging.LogMessage(progress, "Creating required directories")
|
||||
{
|
||||
code, err := manager.Dependencies.Barrel.Stack().Run(ctx, stream.FromNil(), component.RunFlags{Detach: true, AutoRemove: true}, "barrel", "sudo", "-u", "www-data", "mkdir", "-p", barrel.ComposerDirectory)
|
||||
code, err := manager.dependencies.Barrel.Stack().Run(ctx, stream.FromNil(), component.RunFlags{Detach: true, AutoRemove: true}, "barrel", "sudo", "-u", "www-data", "mkdir", "-p", barrel.ComposerDirectory)
|
||||
if code != 0 {
|
||||
err = barrel.ExitError(code)
|
||||
}
|
||||
|
|
@ -40,7 +40,7 @@ func (manager *Manager) Provision(ctx context.Context, progress io.Writer, syste
|
|||
}
|
||||
|
||||
// start the container, and have it do nothing!
|
||||
code, err := manager.Dependencies.Barrel.Stack().Run(ctx, stream.FromNil(), component.RunFlags{Detach: true, AutoRemove: true}, "barrel", "tail", "-f", "/dev/null")
|
||||
code, err := manager.dependencies.Barrel.Stack().Run(ctx, stream.FromNil(), component.RunFlags{Detach: true, AutoRemove: true}, "barrel", "tail", "-f", "/dev/null")
|
||||
if code != 0 {
|
||||
err = barrel.ExitError(code)
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ func (manager *Manager) Provision(ctx context.Context, progress io.Writer, syste
|
|||
defer cancel()
|
||||
|
||||
// stop the container (even if the context was cancelled)
|
||||
manager.Dependencies.Barrel.Stack().DownAll(anyways, progress)
|
||||
manager.dependencies.Barrel.Stack().DownAll(anyways, progress)
|
||||
}()
|
||||
|
||||
// Apply the defaults to the flags
|
||||
|
|
@ -80,7 +80,7 @@ func (provision *Manager) bootstrap(ctx context.Context, progress io.Writer, fla
|
|||
if flags.Drupal != "" {
|
||||
drupal += ":" + flags.Drupal
|
||||
}
|
||||
err := provision.Dependencies.Composer.Exec(ctx, progress, "create-project", drupal, ".")
|
||||
err := provision.dependencies.Composer.Exec(ctx, progress, "create-project", drupal, ".")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -89,7 +89,7 @@ func (provision *Manager) bootstrap(ctx context.Context, progress io.Writer, fla
|
|||
logging.LogMessage(progress, "Configuring Composer")
|
||||
{
|
||||
// needed for composer > 2.2
|
||||
err := provision.Dependencies.Composer.Exec(ctx, progress, "config", "allow-plugins", "true")
|
||||
err := provision.dependencies.Composer.Exec(ctx, progress, "config", "allow-plugins", "true")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -98,7 +98,7 @@ func (provision *Manager) bootstrap(ctx context.Context, progress io.Writer, fla
|
|||
logging.LogMessage(progress, "Installing drush")
|
||||
{
|
||||
for _, v := range drushVariants {
|
||||
err := provision.Dependencies.Composer.TryInstall(ctx, progress, v)
|
||||
err := provision.dependencies.Composer.TryInstall(ctx, progress, v)
|
||||
if err == composer.ErrNotInstalled {
|
||||
continue
|
||||
}
|
||||
|
|
@ -115,7 +115,7 @@ func (provision *Manager) bootstrap(ctx context.Context, progress io.Writer, fla
|
|||
// Here we need to use the username, password and database creds we made above.
|
||||
logging.LogMessage(progress, "Running Drupal installation scripts")
|
||||
{
|
||||
if err := provision.Dependencies.Drush.Exec(
|
||||
if err := provision.dependencies.Drush.Exec(
|
||||
ctx, progress,
|
||||
"site-install",
|
||||
"standard", "--yes", "--site-name="+provision.Domain(),
|
||||
|
|
@ -125,7 +125,7 @@ func (provision *Manager) bootstrap(ctx context.Context, progress io.Writer, fla
|
|||
return err
|
||||
}
|
||||
|
||||
if err := provision.Dependencies.Composer.FixPermission(ctx, progress); err != nil {
|
||||
if err := provision.dependencies.Composer.FixPermission(ctx, progress); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
@ -133,7 +133,7 @@ func (provision *Manager) bootstrap(ctx context.Context, progress io.Writer, fla
|
|||
// Create directory for ontologies
|
||||
logging.LogMessage(progress, fmt.Sprintf("Creating %q", barrel.OntologyDirectory))
|
||||
{
|
||||
if err := provision.Dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), "mkdir", "-p", barrel.OntologyDirectory); err != nil {
|
||||
if err := provision.dependencies.Barrel.ShellScript(ctx, stream.NonInteractive(progress), "mkdir", "-p", barrel.OntologyDirectory); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
@ -158,7 +158,7 @@ func (provision *Manager) bootstrap(ctx context.Context, progress io.Writer, fla
|
|||
// create the default adapter
|
||||
logging.LogMessage(progress, "Creating default adapter")
|
||||
{
|
||||
if err := provision.Dependencies.Adapters.CreateDistilleryAdapter(ctx, nil, extras.DistilleryAdapter{
|
||||
if err := provision.dependencies.Adapters.CreateDistilleryAdapter(ctx, nil, extras.DistilleryAdapter{
|
||||
Label: "Default WissKI Distillery Adapter",
|
||||
MachineName: "default",
|
||||
Description: "Default Adapter for " + provision.Domain(),
|
||||
|
|
@ -173,14 +173,14 @@ func (provision *Manager) bootstrap(ctx context.Context, progress io.Writer, fla
|
|||
|
||||
logging.LogMessage(progress, "Updating TRUSTED_HOST_PATTERNS in settings.php")
|
||||
{
|
||||
if err := provision.Dependencies.Settings.SetTrustedDomain(ctx, nil, provision.Domain()); err != nil {
|
||||
if err := provision.dependencies.Settings.SetTrustedDomain(ctx, nil, provision.Domain()); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
logging.LogMessage(progress, "Running initial cron")
|
||||
{
|
||||
if err := provision.Dependencies.Drush.Exec(ctx, progress, "core-cron"); err != nil {
|
||||
if err := provision.dependencies.Drush.Exec(ctx, progress, "core-cron"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ func (barrel *Barrel) Running(ctx context.Context) (bool, error) {
|
|||
|
||||
type RunningFetcher struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Barrel *Barrel
|
||||
}
|
||||
}
|
||||
|
|
@ -28,6 +28,6 @@ var (
|
|||
)
|
||||
|
||||
func (rf *RunningFetcher) Fetch(flags ingredient.FetcherFlags, info *status.WissKI) (err error) {
|
||||
info.Running, err = rf.Dependencies.Barrel.Running(flags.Context)
|
||||
info.Running, err = rf.dependencies.Barrel.Running(flags.Context)
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import (
|
|||
|
||||
type SSH struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Barrel *barrel.Barrel
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import (
|
|||
// SystemManager applies a specific system configuration
|
||||
type SystemManager struct {
|
||||
ingredient.Base
|
||||
Dependencies struct {
|
||||
dependencies struct {
|
||||
Barrel *barrel.Barrel
|
||||
Bookkeeping *bookkeeping.Bookkeeping
|
||||
Settings *extras.Settings
|
||||
|
|
@ -28,12 +28,12 @@ func (smanager *SystemManager) Apply(ctx context.Context, progress io.Writer, sy
|
|||
smanager.Instance.System = system
|
||||
|
||||
// save in bookkeeping
|
||||
if err := smanager.Dependencies.Bookkeeping.Save(ctx); err != nil {
|
||||
if err := smanager.dependencies.Bookkeeping.Save(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// TODO: Apply Content-Security-Policy!
|
||||
|
||||
// and rebuild
|
||||
return smanager.Dependencies.Barrel.Build(ctx, progress, start)
|
||||
return smanager.dependencies.Barrel.Build(ctx, progress, start)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue