post-processor/vagrant: show file being compressed [GH-314]

This commit is contained in:
Mitchell Hashimoto 2013-08-19 22:38:32 -07:00
parent 1be6563e4c
commit faf6eb1c67
5 changed files with 13 additions and 4 deletions

View File

@ -1,6 +1,9 @@
## 0.3.4 (unreleased) ## 0.3.4 (unreleased)
IMPROVEMENTS:
* post-processor/vagrant: the file being compressed will be shown
in the UI [GH-314]
## 0.3.3 (August 19, 2013) ## 0.3.3 (August 19, 2013)

View File

@ -134,7 +134,7 @@ func (p *AWSBoxPostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact
} }
// Compress the directory to the given output path // Compress the directory to the given output path
if err := DirToBox(outputPath, dir); err != nil { if err := DirToBox(outputPath, dir, ui); err != nil {
err = fmt.Errorf("error creating box: %s", err) err = fmt.Errorf("error creating box: %s", err)
return nil, false, err return nil, false, err
} }

View File

@ -4,6 +4,8 @@ import (
"archive/tar" "archive/tar"
"compress/gzip" "compress/gzip"
"encoding/json" "encoding/json"
"fmt"
"github.com/mitchellh/packer/packer"
"io" "io"
"log" "log"
"os" "os"
@ -42,7 +44,7 @@ func CopyContents(dst, src string) error {
// DirToBox takes the directory and compresses it into a Vagrant-compatible // DirToBox takes the directory and compresses it into a Vagrant-compatible
// box. This function does not perform checks to verify that dir is // box. This function does not perform checks to verify that dir is
// actually a proper box. This is an expected precondition. // actually a proper box. This is an expected precondition.
func DirToBox(dst, dir string) error { func DirToBox(dst, dir string, ui packer.Ui) error {
log.Printf("Turning dir into box: %s => %s", dir, dst) log.Printf("Turning dir into box: %s => %s", dir, dst)
dstF, err := os.Create(dst) dstF, err := os.Create(dst)
if err != nil { if err != nil {
@ -90,6 +92,10 @@ func DirToBox(dst, dir string) error {
return err return err
} }
if ui != nil {
ui.Message(fmt.Sprintf("Compressing: %s", header.Name))
}
if err := tarWriter.WriteHeader(header); err != nil { if err := tarWriter.WriteHeader(header); err != nil {
return err return err
} }

View File

@ -143,7 +143,7 @@ func (p *VBoxBoxPostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifac
// Compress the directory to the given output path // Compress the directory to the given output path
ui.Message(fmt.Sprintf("Compressing box...")) ui.Message(fmt.Sprintf("Compressing box..."))
if err := DirToBox(outputPath, dir); err != nil { if err := DirToBox(outputPath, dir, ui); err != nil {
return nil, false, err return nil, false, err
} }

View File

@ -119,7 +119,7 @@ func (p *VMwareBoxPostProcessor) PostProcess(ui packer.Ui, artifact packer.Artif
// Compress the directory to the given output path // Compress the directory to the given output path
ui.Message(fmt.Sprintf("Compressing box...")) ui.Message(fmt.Sprintf("Compressing box..."))
if err := DirToBox(outputPath, dir); err != nil { if err := DirToBox(outputPath, dir, ui); err != nil {
return nil, false, err return nil, false, err
} }