piperutils

package
v0.0.0-...-40d4f7c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContainsInt

func ContainsInt(s []int, e int) bool

ContainsInt checks whether the element is part of the slice

func ContainsString

func ContainsString(s []string, e string) bool

ContainsString checks whether the element is part of the slice

func ContainsStringPart

func ContainsStringPart(s []string, part string) bool

ContainsStringPart checks whether the element is contained as part of one of the elements of the slice

func Copy

func Copy(src, dst string) (int64, error)

Copy ...

func CopyAtoB

func CopyAtoB(a, b interface{})

CopyAtoB copies the contents of a into slice b given that they are of equal size and compatible type

func CopyData

func CopyData(dst io.Writer, src io.Reader) (int64, error)

CopyData transfers the bytes from src to dst without doing close handling implicitly.

func EncodeString

func EncodeString(token string) string

func EncodeUsernamePassword

func EncodeUsernamePassword(username, password string) string

func ExcludeFiles

func ExcludeFiles(files, excludes []string) ([]string, error)

ExcludeFiles returns a slice of files, which contains only the sub-set of files that matched none of the glob patterns in the provided excludes list.

func ExecuteTemplate

func ExecuteTemplate(txtTemplate string, context interface{}) (string, error)

ExecuteTemplate parses the provided template, substitutes values and returns the output

func ExecuteTemplateFunctions

func ExecuteTemplateFunctions(txtTemplate string, functionMap template.FuncMap, context interface{}) (string, error)

ExecuteTemplateFunctions parses the provided template, applies the transformation functions, substitutes values and returns the output

func FileExists

func FileExists(filename string) (bool, error)

FileExists returns true if the file system entry for the given path exists and is not a directory.

func FindString

func FindString(s []string, e string) int

FindString returns the position of element e in the given slice or -1 if it's not in

func Keys

func Keys[M ~map[K]V, K comparable, V any](m M) []K
func PersistReportsAndLinks(stepName, workspace string, files fileWriter, reports, links []Path) error

PersistReportsAndLinks stores the report paths and links in JSON format in the workspace for processing outside

func Prefix

func Prefix(in []string, prefix string) []string

Prefix adds a prefix to each element of the slice

func PrefixIfNeeded

func PrefixIfNeeded(in []string, prefix string) []string

PrefixIfNeeded adds a prefix to each element of the slice if not already prefixed

func RemoveAll

func RemoveAll(s []string, e string) ([]string, bool)

RemoveAll removes all instances of element from the slice and returns a truncated slice as well as a boolean to indicate whether at least one element was found and removed.

func SafeDereference

func SafeDereference[T any](p *T) T

func SplitAndTrim

func SplitAndTrim(in []string, separator string) (out []string)

SplitAndTrim iterates over the strings in the given slice and splits each on the provided separator. Each resulting sub-string is then a separate entry in the returned array.

func Title

func Title(in string) string

func Trim

func Trim(in []string) (out []string)

Trim removes dangling whitespaces from each element of the slice, empty elements are dropped

func UniqueStrings

func UniqueStrings(values []string) []string

UniqueStrings removes duplicates from values

func Untar

func Untar(src string, dest string, stripComponentLevel int) error

Untar will decompress a gzipped archive and then untar it, moving all files and folders within the tgz file (parameter 1) to an output directory (parameter 2). some tar like the one created from npm have an addtional package folder which need to be removed during untar stripComponent level acts the same like in the tar cli with level 1 corresponding to elimination of parent folder stripComponentLevel = 1 -> parentFolder/someFile.Txt -> someFile.Txt stripComponentLevel = 2 -> parentFolder/childFolder/someFile.Txt -> someFile.Txt when stripCompenent in 0 the untar will retain the original tar folder structure when stripCompmenet is greater than 0 the expectation is all files must be under that level folder and if not there is a hard check and failure condition

func Unzip

func Unzip(src, dest string) ([]string, error)

Unzip will decompress a zip archive, moving all files and folders within the zip file (parameter 1) to an output directory (parameter 2). from https://golangcode.com/unzip-files-in-go/ with the following license: MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

func Values

func Values[M ~map[K]V, K comparable, V any](m M) []V

Values returns the slice of values of the map provided

Types

type FileUtils

type FileUtils interface {
	Abs(path string) (string, error)
	DirExists(path string) (bool, error)
	FileExists(filename string) (bool, error)
	Copy(src, dest string) (int64, error)
	Move(src, dest string) error
	FileRead(path string) ([]byte, error)
	ReadFile(path string) ([]byte, error)
	FileWrite(path string, content []byte, perm os.FileMode) error
	WriteFile(path string, content []byte, perm os.FileMode) error
	FileRemove(path string) error
	MkdirAll(path string, perm os.FileMode) error
	Chmod(path string, mode os.FileMode) error
	Chown(path string, uid, gid int) error
	Glob(pattern string) (matches []string, err error)
	Chdir(path string) error
	TempDir(string, string) (string, error)
	RemoveAll(string) error
	FileRename(string, string) error
	Getwd() (string, error)
	Symlink(oldname string, newname string) error
	SHA256(path string) (string, error)
	CurrentTime(format string) string
	Open(name string) (io.ReadWriteCloser, error)
	Create(name string) (io.ReadWriteCloser, error)
}

FileUtils ...

type Files

type Files struct{}

Files ...

func (Files) Abs

func (f Files) Abs(path string) (string, error)

Abs is a wrapper for filepath.Abs()

func (Files) Chdir

func (f Files) Chdir(path string) error

Chdir is a wrapper for os.Chdir().

func (Files) Chmod

func (f Files) Chmod(path string, mode os.FileMode) error

Chmod is a wrapper for os.Chmod().

func (Files) Chown

func (f Files) Chown(path string, uid, gid int) error

Chown is a recursive wrapper for os.Chown().

func (Files) Copy

func (f Files) Copy(src, dst string) (int64, error)

Copy ...

func (Files) Create

func (f Files) Create(name string) (io.ReadWriteCloser, error)

Create is a wrapper for os.Create

func (Files) CurrentTime

func (f Files) CurrentTime(format string) string

CurrentTime returns the current time in the specified format

func (Files) DirExists

func (f Files) DirExists(path string) (bool, error)

DirExists returns true if the file system entry for the given path exists and is a directory.

func (Files) FileExists

func (f Files) FileExists(filename string) (bool, error)

FileExists returns true if the file system entry for the given path exists and is not a directory.

func (*Files) FileOpen

func (f *Files) FileOpen(name string, flag int, perm os.FileMode) (*os.File, error)

FileOpen is a wrapper for os.OpenFile().

func (Files) FileRead

func (f Files) FileRead(path string) ([]byte, error)

FileRead is a wrapper for os.ReadFile().

func (Files) FileRemove

func (f Files) FileRemove(path string) error

FileRemove is a wrapper for os.Remove().

func (Files) FileRename

func (f Files) FileRename(oldPath, newPath string) error

FileRename is a wrapper for os.Rename().

func (Files) FileWrite

func (f Files) FileWrite(path string, content []byte, perm os.FileMode) error

FileWrite is a wrapper for os.WriteFile().

func (Files) Getwd

func (f Files) Getwd() (string, error)

Getwd is a wrapper for os.Getwd().

func (Files) Glob

func (f Files) Glob(pattern string) (matches []string, err error)

Glob is a wrapper for doublestar.Glob().

func (Files) MkdirAll

func (f Files) MkdirAll(path string, perm os.FileMode) error

MkdirAll is a wrapper for os.MkdirAll().

func (Files) Move

func (f Files) Move(src, dst string) error

Move will move files from src to dst

func (Files) Open

func (f Files) Open(name string) (io.ReadWriteCloser, error)

Open is a wrapper for os.Open

func (Files) ReadFile

func (f Files) ReadFile(path string) ([]byte, error)

ReadFile is a wrapper for os.ReadFile() using the same name and syntax.

func (Files) RemoveAll

func (f Files) RemoveAll(path string) error

RemoveAll is a wrapper for os.RemoveAll().

func (Files) SHA256

func (f Files) SHA256(path string) (string, error)

SHA256 computes a SHA256 for a given file

func (Files) Stat

func (f Files) Stat(path string) (os.FileInfo, error)

Stat is a wrapper for os.Stat()

func (f Files) Symlink(oldname, newname string) error

Symlink is a wrapper for os.Symlink

func (Files) TempDir

func (f Files) TempDir(dir, pattern string) (name string, err error)

TempDir creates a temporary directory

func (Files) WriteFile

func (f Files) WriteFile(path string, content []byte, perm os.FileMode) error

WriteFile is a wrapper for os.ReadFile() using the same name and syntax.

type Path

type Path struct {
	Name      string `json:"name"`
	Target    string `json:"target"`
	Mandatory bool   `json:"mandatory"`
	Scope     string `json:"scope"`
}

Path - struct to serialize paths and some metadata back to the invoker

type ProjectStructure

type ProjectStructure struct {
	// contains filtered or unexported fields
}

ProjectStructure describes a directory containing source code

func (*ProjectStructure) UsesMaven

func (projectStructure *ProjectStructure) UsesMaven() bool

UsesMaven returns `true` if the project structure directory contains a pom.xml file, false otherwise

func (*ProjectStructure) UsesMta

func (projectStructure *ProjectStructure) UsesMta() bool

UsesMta returns `true` if the project structure directory contains typical files for mta projects (mta.yaml, mta.yml), `false` otherwise

func (*ProjectStructure) UsesNpm

func (projectStructure *ProjectStructure) UsesNpm() bool

UsesNpm returns `true` if the project structure directory contains a package.json file, false otherwise

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL