@@ -62,16 +62,17 @@ func (o *UploadPluginBundleOptions) UploadPluginBundle() error {
6262 imagesUploaded := 0
6363 // Iterate through all the images and publish them to the remote repository
6464 var repoImagePath string
65+ spinner := component .NewOutputWriterSpinner (component .WithOutputStream (os .Stderr ))
66+ defer spinner .StopSpinner ()
6567 for _ , ic := range manifest .ImagesToCopy {
6668 imageTar := filepath .Join (pluginBundleDir , ic .SourceTarFilePath )
6769 repoImagePath , err = utils .JoinURL (o .DestinationRepo , ic .RelativeImagePath )
6870 if err != nil {
6971 return errors .Wrap (err , "error while constructing the repo image path" )
7072 }
71- if uploadErr := o .uploadImage (imageTar , repoImagePath , totalImages , imagesUploaded ); uploadErr != nil {
73+ if uploadErr := o .uploadImage (imageTar , repoImagePath , totalImages , imagesUploaded , spinner ); uploadErr != nil {
7274 return uploadErr
7375 }
74- time .Sleep (3 * time .Second )
7576 imagesUploaded ++
7677 }
7778 log .Infof ("---------------------------" )
@@ -106,32 +107,25 @@ func (o *UploadPluginBundleOptions) UploadPluginBundle() error {
106107 return nil
107108}
108109
109- func (o * UploadPluginBundleOptions ) uploadImage (imageTar , repoImagePath string , totalImages , imagesUploaded int ) error {
110+ func (o * UploadPluginBundleOptions ) uploadImage (imageTar , repoImagePath string , totalImages , imagesUploaded int , spinner component. OutputWriterSpinner ) error {
110111 uploadingMsg := fmt .Sprintf ("[%d/%d] uploading image %q" , totalImages , imagesUploaded , repoImagePath )
111112 errorMsg := fmt .Sprintf ("[%d/%d] error while uploading image %q" , totalImages , imagesUploaded , repoImagePath )
112113 uploadedMsg := "[%d/%d] uploaded image %q"
113114
114- var spinner component.OutputWriterSpinner
115- if component .IsTTYEnabled () {
116- // Initialize the spinner
117- spinner = component .NewOutputWriterSpinner (
118- component .WithOutputStream (os .Stderr ),
119- component .WithSpinnerText (uploadingMsg ),
120- component .WithSpinnerStarted (),
121- )
115+ if ! component .IsTTYEnabled () {
116+ spinner .SetText (uploadingMsg )
122117 spinner .SetFinalText (errorMsg , log .LogTypeERROR )
123- defer spinner .StopSpinner ()
118+ spinner .StartSpinner ()
124119 } else {
125120 log .Infof (uploadingMsg , totalImages , imagesUploaded , repoImagePath )
126121 }
127-
128122 if err := o .ImageProcessor .CopyImageFromTar (imageTar , repoImagePath ); err != nil {
129123 return errors .Wrapf (err , errorMsg , repoImagePath )
130124 }
131-
125+ time . Sleep ( 1 * time . Second )
132126 uploadedMsg = fmt .Sprintf (uploadedMsg , totalImages , imagesUploaded + 1 , repoImagePath )
133- if spinner ! = nil {
134- spinner .SetFinalText (uploadedMsg , log . LogTypeINFO )
127+ if spinner = = nil {
128+ spinner .SetFinalText ("" , "" )
135129 } else {
136130 log .Infof (uploadedMsg , totalImages , imagesUploaded , repoImagePath )
137131 }
0 commit comments