github.com/wawandco/ox@v0.13.6-0.20230809142027-913b3d837f2a/plugins/tools/git/afterinitializer.go (about)

     1  package git
     2  
     3  import (
     4  	"context"
     5  	"os"
     6  	"os/exec"
     7  
     8  	"github.com/wawandco/ox/internal/log"
     9  	"github.com/wawandco/ox/plugins/base/new"
    10  )
    11  
    12  type AfterInitializer struct{}
    13  
    14  func (ri AfterInitializer) Name() string {
    15  	return "git/repoinitializer"
    16  }
    17  
    18  func (ri AfterInitializer) AfterInitialize(ctx context.Context, options new.Options) error {
    19  	_, err := exec.LookPath("git")
    20  	if err != nil {
    21  		log.Warn("[warning] Git repo was not initialized given git was not present")
    22  		return nil
    23  	}
    24  
    25  	err = os.Chdir(options.Folder)
    26  	if err != nil {
    27  		return err
    28  	}
    29  
    30  	cmd := exec.CommandContext(ctx, "git", "init")
    31  	cmd.Stdin = os.Stdin
    32  	cmd.Stdout = os.Stdout
    33  	cmd.Stderr = os.Stderr
    34  
    35  	return cmd.Run()
    36  }