Skip to content

Commit

Permalink
stepwriter: Add DryRun
Browse files Browse the repository at this point in the history
  • Loading branch information
livingsilver94 committed Nov 25, 2023
1 parent 257aa04 commit 132bb4b
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions installer/stepwriter/dryrun.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// SPDX-FileCopyrightText: Fabio Forni <[email protected]>
// SPDX-License-Identifier: MPL-2.0

package stepwriter

import (
"fmt"
"strings"

"github.com/livingsilver94/backee/installer"
"github.com/livingsilver94/backee/service"
)

type DryRun struct{}

func (DryRun) Setup(script string) error {
_, err := fmt.Print(script)
return err
}

func (DryRun) InstallPackages(fullCmd []string) error {
_, err := fmt.Printf("Will run %q", strings.Join(fullCmd, " "))
return err
}

func (DryRun) SymlinkFile(dst service.FilePath, src string) error {
_, err := fmt.Printf("%s → %s", src, dst.Path)
if err != nil {
return err
}
if dst.Mode != 0 {
_, err = fmt.Printf(" with permission %o", dst.Mode)
if err != nil {
return err
}
}
_, err = fmt.Println()
return err
}

func (DryRun) CopyFile(dst service.FilePath, src installer.FileCopy) error {
_, err := fmt.Printf("Will write %q", dst.Path)
if err != nil {
return err
}
if dst.Mode != 0 {
_, err = fmt.Printf(" with permission %o", dst.Mode)
if err != nil {
return err
}
}
_, err = fmt.Println(" with the following content:")
if err != nil {
return err
}
_, err = fmt.Println(src)
return err
}

func (DryRun) Finalize(script string) error {
_, err := fmt.Print(script)
return err
}

0 comments on commit 132bb4b

Please sign in to comment.