Skip to content
Snippets Groups Projects
Select Git revision
  • 4b4f000cd17965ad2e2574601ecbb9103abbf615
  • main default protected
  • 1-mage-run-does-not-stop-containers
  • v0.26.0
  • v0.25.0
  • v0.24.0
  • v0.23.0
  • v0.22.0
  • v0.21.0
  • v0.20.0
  • v0.19.0
  • v0.18.0
  • v0.17.0
  • v0.16.0
  • v0.15.0
  • v0.14.0
  • v0.13.0
  • v0.12.0
  • v0.11.0
  • v0.10.0
  • v0.9.0
  • v0.8.0
  • v0.7.0
23 results

file_system.go

Blame
  • file_system.go 3.33 KiB
    package mage_helpers
    
    import (
    	"context"
    	"fmt"
    	"io"
    	"io/ioutil"
    	"log"
    	"os"
    	"os/exec"
    	"os/signal"
    	"path"
    	"path/filepath"
    	"strings"
    
    	"github.com/thoas/go-funk"
    
    	"github.com/magefile/mage/sh"
    )
    
    func GetDirs(path string) []os.FileInfo {
    	filesDir, err := ioutil.ReadDir(path)
    	// filesDir, err := ioutil.ReadDir("/Users/johan/src/Shiplogic/backends/backend/billing")
    	if err != nil {
    		log.Fatal(err)
    	}
    
    	dirs := funk.Filter(filesDir, func(info os.FileInfo) bool {
    		if info.IsDir() && info.Name() == "build" {
    			return false
    		}
    
    		return info.IsDir()
    	}).([]os.FileInfo)
    
    	return dirs
    }
    
    func copyFilesToBuildDir(currentDir string, buildDir string) error {
    	files, err := AllFiles(currentDir)
    	if err != nil {
    		return err
    	}
    	for _, file := range files {
    		fileExtension := filepath.Ext(file)
    		if fileExtension == ".go" || fileExtension == ".md" || fileExtension == ".html" || fileExtension == ".mjml" || fileExtension == ".txt" {
    			continue
    		}
    
    		// Copy files to build DIR
    		err := Copy(file, buildDir+"/"+path.Base(file))
    		if err != nil {
    			return err
    		}
    	}
    	return nil
    }
    
    func AllFiles(dir string) ([]string, error) {
    	files := []string{}
    	err := filepath.Walk(dir,
    		func(path string, info os.FileInfo, err error) error {
    			if err != nil {
    				return err
    			}
    			if info.IsDir() {
    				return nil
    			}
    
    			files = append(files, path)