github.com/jenkins-x/jx/v2@v2.1.155/pkg/cmd/importcmd/import_reporter.go (about)

     1  package importcmd
     2  
     3  import (
     4  	"github.com/jenkins-x/jx-logging/pkg/log"
     5  	"github.com/jenkins-x/jx/v2/pkg/util"
     6  )
     7  
     8  var info = util.ColorInfo
     9  
    10  // ImportReporter an interface for reporting updates from the process
    11  type ImportReporter interface {
    12  	// UsingGitUserName report progress
    13  	UsingGitUserName(username string)
    14  	// ClonedGitRepository report progress
    15  	ClonedGitRepository(url string)
    16  	// PushedGitRepository report progress
    17  	PushedGitRepository(url string)
    18  	// GitRepositoryCreated report progress
    19  	GitRepositoryCreated()
    20  	// CreatedDevRepoPullRequest report progress
    21  	CreatedDevRepoPullRequest(prURL string, devGitURL string)
    22  	// CreatedProject report progress
    23  	CreatedProject(genDir string)
    24  	// GeneratedQuickStartAt report progress
    25  	GeneratedQuickStartAt(genDir string)
    26  	// DraftCreated report progress
    27  	DraftCreated(draftPack string)
    28  	// Trace report generic trace message
    29  	Trace(message string, options ...interface{})
    30  }
    31  
    32  var _ ImportReporter = &LogImportReporter{}
    33  
    34  // LogImportReporter default implementation to log to the console
    35  type LogImportReporter struct {
    36  }
    37  
    38  // Trace report generic trace message
    39  func (r *LogImportReporter) Trace(message string, args ...interface{}) {
    40  	log.Logger().Infof(message, args...)
    41  }
    42  
    43  // CreatedDevRepoPullRequest report progress
    44  func (r *LogImportReporter) CreatedDevRepoPullRequest(prURL string, devGitURL string) {
    45  	log.Logger().Infof("created pull request %s on the development git repository %s", info(prURL), info(devGitURL))
    46  }
    47  
    48  // GitRepositoryCreated report progress
    49  func (r *LogImportReporter) GitRepositoryCreated() {
    50  	log.Logger().Infof("\nGit repository created")
    51  }
    52  
    53  // UsingGitUserName report progress
    54  func (r *LogImportReporter) UsingGitUserName(username string) {
    55  	log.Logger().Infof("Using Git user name: %s", username)
    56  }
    57  
    58  // PushedGitRepository report progress
    59  func (r *LogImportReporter) PushedGitRepository(repoURL string) {
    60  	log.Logger().Infof("Pushed Git repository to %s\n", info(repoURL))
    61  }
    62  
    63  // CreatedProject report progress
    64  func (r *LogImportReporter) CreatedProject(genDir string) {
    65  	log.Logger().Infof("Created project at %s\n", util.ColorInfo(genDir))
    66  }
    67  
    68  // GeneratedQuickStartAt report progress
    69  func (r *LogImportReporter) GeneratedQuickStartAt(genDir string) {
    70  	log.Logger().Infof("Generated quickstart at %s", genDir)
    71  }
    72  
    73  // DraftCreated report progress
    74  func (r *LogImportReporter) DraftCreated(draftPack string) {
    75  	log.Logger().Infof("Draft pack %s added", info(draftPack))
    76  }
    77  
    78  // ClonedGitRepository report progress
    79  func (r *LogImportReporter) ClonedGitRepository(repoURL string) {
    80  	log.Logger().Infof("Cloned Git repository from %s\n", info(repoURL))
    81  }