Add a build package (#1926)
* Add a build package * fix go mod * package tar
This commit is contained in:
45
build/tar/tar.go
Normal file
45
build/tar/tar.go
Normal file
@@ -0,0 +1,45 @@
|
||||
// Package tar basically tarballs source code
|
||||
package tar
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/micro/go-micro/v3/build"
|
||||
)
|
||||
|
||||
type tarBuild struct{}
|
||||
|
||||
func (t *tarBuild) Package(name string, src *build.Source) (*build.Package, error) {
|
||||
pkg := name + ".tar.gz"
|
||||
// path to the tarball
|
||||
path := filepath.Join(os.TempDir(), src.Path, pkg)
|
||||
|
||||
// create a temp directory
|
||||
if err := os.MkdirAll(filepath.Join(os.TempDir(), src.Path), 0755); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := Compress(src.Path, path); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &build.Package{
|
||||
Name: name,
|
||||
Path: path,
|
||||
Type: t.String(),
|
||||
Source: src,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (t *tarBuild) Remove(b *build.Package) error {
|
||||
return os.Remove(b.Path)
|
||||
}
|
||||
|
||||
func (t *tarBuild) String() string {
|
||||
return "tar.gz"
|
||||
}
|
||||
|
||||
func NewBuild(opts ...build.Option) build.Build {
|
||||
return new(tarBuild)
|
||||
}
|
||||
Reference in New Issue
Block a user