cmdbuilder

package
v0.0.12 Latest Latest
Warning

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

Go to latest
Published: May 27, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildArgs

func BuildArgs(args ...string) types.DaggerCMD

BuildArgs processes and builds a command argument list from the provided arguments. It trims spaces from each argument and splits arguments with spaces into separate arguments.

Parameters:

  • args: A variadic parameter that takes multiple strings representing command arguments.

Returns:

  • A DaggerCMD slice containing the processed arguments.

Example:

// Build arguments for a Terraform command
args := BuildArgs("plan", "-var 'foo=bar'", "apply --auto-approve")
// args now contains: ["plan", "-var", "'foo=bar'", "apply", "--auto-approve"]

// Build arguments for a Go command
args = BuildArgs("run", "main.go", "--verbose")
// args now contains: ["run", "main.go", "--verbose"]

func ConvertCMDToString added in v0.0.12

func ConvertCMDToString(cmd *types.DaggerCMD) string

ConvertCMDToString converts a DaggerCMD slice to a string. It preserves the consistency of the original command, handling arguments with spaces appropriately.

Parameters:

  • cmd: A pointer to a DaggerCMD slice containing the command and its arguments.

Returns:

  • A string representation of the command, suitable for direct execution.

Example:

cmd := types.DaggerCMD{"go", "run", "main.go", "--verbose"}
cmdString := ConvertCMDToString(&cmd)
fmt.Println(cmdString) // Output: go run main.go --verbose

cmd = types.DaggerCMD{"terraform", "plan", "-var", "foo=bar", "apply --auto-approve"}
cmdString = ConvertCMDToString(&cmd)
fmt.Println(cmdString) // Output: terraform plan -var foo=bar apply --auto-approve

func GenerateCommand

func GenerateCommand(command string, args ...string) (*types.DaggerCMD, error)

GenerateCommand generates a command with the provided arguments. It ensures that arguments with spaces are handled correctly.

Parameters:

  • command: A string representing the main command to be executed.
  • args: A variadic slice of strings representing the arguments for the command.

Returns:

  • A pointer to a DaggerCMD slice, which includes the main command followed by the provided arguments.
  • An error if the main command is empty.

Example:

// Generate a Terraform plan command
cmd, err := GenerateCommand("terraform", "plan", "-var", "foo=bar", "apply --auto-approve")
if err != nil {
    // handle error
}
// Use cmd, e.g., fmt.Println(*cmd) // Output: [terraform plan -var foo=bar apply --auto-approve]

// Generate a Go run command
cmd, err = GenerateCommand("go", "run", "main.go", "--verbose")
if err != nil {
    // handle error
}
// Use cmd, e.g., fmt.Println(*cmd) // Output: [go run main.go --verbose]

func GenerateShCommand added in v0.0.12

func GenerateShCommand(command string, args ...string) (string, error)

GenerateShCommand generates a command wrapped for execution using `sh -c`. It ensures that arguments with spaces are correctly handled.

Parameters:

  • command: A string representing the main command to be executed.
  • args: A variadic slice of strings representing the arguments for the command.

Returns:

  • A string containing the complete command wrapped for `sh -c` execution.
  • An error if the main command is empty.

Example:

cmd, err := GenerateShCommand("echo", "Hello, World!")
if err != nil {
    // handle error
}
fmt.Println(cmd) // Output: sh -c "echo Hello, World!"

Types

This section is empty.

Jump to

Keyboard shortcuts

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