gttools

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Overview

Package gttools provides helper methods for various tools.

Index

Constants

View Source
const (
	CypressBrowserChrome   = "chrome"
	CypressBrowserChromium = "chromium"
	CypressBrowserEdge     = "edge"
	CypressBrowserElectron = "electron"
	CypressBrowserFirefox  = "firefox"
)
View Source
const (
	NxRunTypeDirect = iota // Directly invokes Nx, for example when it is globally installed.
	NxRunTypeNpx           // Runs Nx via npx.
	NxRunTypeYarn          // Runs Nx via yarn.
	NxRunTypePnpx          // Runs Nx via pnpx.
)
View Source
const (
	NxOutputStyleDynamic               = "dynamic"
	NxOutputStyleStatic                = "static"
	NxOutputStyleStream                = "stream"
	NxOutputStyleStreamWithoutPrefixes = "stream-without-prefixes"
)

Variables

View Source
var False *bool = Ptr(false)

False value to use when a nullable bool is needed.

View Source
var True *bool = Ptr(true)

True value to use when a nullable bool is needed.

Functions

func Ptr added in v0.4.1

func Ptr[T any](v T) *T

Ptr is a helper returns a pointer to v.

Types

type ArtifactorySearchResultItem

type ArtifactorySearchResultItem struct {
	Repo       string                            `json:"repo"`
	Path       string                            `json:"path"`
	Name       string                            `json:"name"`
	Created    time.Time                         `json:"created"`
	Modified   time.Time                         `json:"modified"`
	Type       string                            `json:"type"`
	Size       int                               `json:"size"`
	Md5        string                            `json:"actual_md5"`
	Sha1       string                            `json:"actual_sha1"`
	Sha256     string                            `json:"sha256"`
	Properties []ArtifactorySearchResultProperty `json:"properties"`
}

ArtifactorySearchResultItem represents a search result item.

func (*ArtifactorySearchResultItem) GetProperty

func (searchResult *ArtifactorySearchResultItem) GetProperty(key string) (string, bool)

GetProperty returns the value of the property with the given key and a bool, if the property exists or not.

func (*ArtifactorySearchResultItem) HasProperty

func (searchResult *ArtifactorySearchResultItem) HasProperty(key string) bool

HasProperty returns a bool if the property with the given key exists or not.

type ArtifactorySearchResultProperty

type ArtifactorySearchResultProperty struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

ArtifactorySearchResultProperty represents a property of a search result item.

type ArtifactoryTool

type ArtifactoryTool struct {
}

ArtifactoryTool provides access to the helper methods for Artifactory.

func (*ArtifactoryTool) CreateManager

func (tool *ArtifactoryTool) CreateManager(baseUrl string, apiKey string) (artifactory.ArtifactoryServicesManager, error)

CreateManager creates a basic manager to interact with artifactory.

func (*ArtifactoryTool) GetContentFromReader

func (tool *ArtifactoryTool) GetContentFromReader(reader *content.ContentReader) string

GetContentFromReader is a debug method that returns the raw content of the reader.

func (*ArtifactoryTool) GetResultItemsFromReader

func (tool *ArtifactoryTool) GetResultItemsFromReader(reader *content.ContentReader) []*ArtifactorySearchResultItem

GetResultItemsFromReader is a helper method that converts the search results into typed search result items.

func (*ArtifactoryTool) GetSearchResults

func (tool *ArtifactoryTool) GetSearchResults(artifactoryManager artifactory.ArtifactoryServicesManager, searchParams services.SearchParams) ([]*ArtifactorySearchResultItem, error)

GetSearchResults performs the given search and returns the found items.

func (*ArtifactoryTool) GetSingleSearchResult

func (tool *ArtifactoryTool) GetSingleSearchResult(artifactoryManager artifactory.ArtifactoryServicesManager, searchParams services.SearchParams) (*ArtifactorySearchResultItem, error)

GetSingleSearchResult returns a single result or nil if none is found and an error, if multiple were found.

func (*ArtifactoryTool) HasSearchResults

func (tool *ArtifactoryTool) HasSearchResults(artifactoryManager artifactory.ArtifactoryServicesManager, searchParams services.SearchParams) (bool, error)

HasSearchResults performs the given search and returns a bool if the search contains any items or not.

type CypressOpenSettings added in v0.3.3

type CypressOpenSettings struct {
	ToolSettingsBase
	Browser    string            // defines the browser to launch like chrome, chromium, edge, electron, firefox. Alternatively a path to an executable.
	Component  bool              // flag to define if component tests should run.
	Config     string            // specify the config to use. Defined as key value pairs, comma separated. Can alsop be a stringified json object.
	ConfigFile string            // the path to a config file to use.
	Detached   bool              // flag to define if Cypress should open in detached mode.
	E2e        bool              // flag to define if end to end tests should run (default).
	Env        map[string]string // environment variables to use.
	Global     bool              // flag to define if Cypress should run in global mode.
	Port       int               // override the default port.
	Project    string            // the path to a specific project to run.
}

CypressOpenSettings defines the settings to use for opening Cypress. Also see https://docs.cypress.io/guides/guides/command-line#cypress-open

func (*CypressOpenSettings) AddEnv added in v0.3.3

func (settings *CypressOpenSettings) AddEnv(key string, value string) *CypressOpenSettings

AddEnv adds an environment value to the Cypress settings.

type CypressRunSettings added in v0.1.1

type CypressRunSettings struct {
	ToolSettingsBase
	Browser         string            // defines the browser to launch like chrome, chromium, edge, electron, firefox. Alternatively a path to an executable.
	CiBuildId       string            // the unique id to group tests together.
	Component       bool              // flag to define if component tests should run.
	Config          string            // specify the config to use. Defined as key value pairs, comma separated. Can alsop be a stringified json object.
	ConfigFile      string            // the path to a config file to use.
	E2e             bool              // flag to define if end to end tests should run (default).
	Env             map[string]string // environment variables to use.
	Group           string            // name of the group to group tests together.
	Headed          bool              // flag to indicate if the browser should be displayed.
	Headless        bool              // flag to indicate if the browser should be hidden (default).
	RecordKey       string            // the record key used to record the results to the Cypress Cloud.
	NoExit          bool              // flag to indicate if Cypress should stay open after the run.
	Parallel        bool              // flag to indicate if the tests should run in parallel across multiple machines.
	Port            int               // override the default port.
	Project         string            // the path to a specific project to run.
	Quiet           bool              // flag to indicate the quite mode where no output is passed to stdout.
	Record          bool              // flag to indicate if the tests shouldbe recorded or not.
	Reporter        string            // define the reporter to use. Can be any of the mocha, cypress or a custom reporter.
	ReporterOptions string            // specify the reporter options to use as key value pairs, comma separated. Can also be a stringified json object.
	Specs           []string          // define the spec file(s) to run.
	Tags            []string          // add tags to identify a run.
}

CypressRunSettings defines the settings to use for running Cypress. Also see https://docs.cypress.io/guides/guides/command-line#cypress-run

func (*CypressRunSettings) AddEnv added in v0.1.1

func (settings *CypressRunSettings) AddEnv(key string, value string) *CypressRunSettings

AddEnv adds an environment value to the Cypress settings.

func (*CypressRunSettings) AddSpecs added in v0.1.1

func (settings *CypressRunSettings) AddSpecs(specs ...string) *CypressRunSettings

AddSpecs adds one or more specs to run to the Cypress settings.

func (*CypressRunSettings) AddTags added in v0.1.1

func (settings *CypressRunSettings) AddTags(tags ...string) *CypressRunSettings

AddTags adds one or more tagst to the Cypress settings.

type CypressTool added in v0.1.1

type CypressTool struct {
}

func CreateCypressTool added in v0.1.1

func CreateCypressTool() *CypressTool

func (*CypressTool) CypressOpen added in v0.3.3

func (tool *CypressTool) CypressOpen(cypressBinPath string, settings *CypressOpenSettings) error

CypressOpen allows you to open Cypress with a defined binary.

func (*CypressTool) CypressOpenWithNpx added in v0.3.3

func (tool *CypressTool) CypressOpenWithNpx(settings *CypressOpenSettings) error

CypressOpenWithNpx opens Cypress with npx.

func (*CypressTool) CypressOpenWithYarn added in v0.3.3

func (tool *CypressTool) CypressOpenWithYarn(settings *CypressOpenSettings) error

CypressOpenWithYarn opens Cypress with Yarn.

func (*CypressTool) CypressRun added in v0.1.1

func (tool *CypressTool) CypressRun(cypressBinPath string, settings *CypressRunSettings) error

CypressRun allows you to run Cypress with a defined binary. Usefull for example when using cy2.

func (*CypressTool) CypressRunWithNpx added in v0.1.1

func (tool *CypressTool) CypressRunWithNpx(settings *CypressRunSettings) error

CypressRunWithNpx runs Cypress with npx.

func (*CypressTool) CypressRunWithYarn added in v0.3.3

func (tool *CypressTool) CypressRunWithYarn(settings *CypressRunSettings) error

CypressRunWithYarn runs Cypress with Yarn.

type DevContainerCliBuildSettings added in v0.4.2

type DevContainerCliBuildSettings struct {
	ToolSettingsBase
	// Host path to a directory that is intended to be persisted and share state between sessions.
	UserDataFolder string
	// Docker CLI path.
	DockerPath string
	// Docker Compose CLI path.
	DockerComposePath string
	// Workspace folder path. The devcontainer.json will be looked up relative to this path.
	WorkspaceFolder string
	// devcontainer.json path.
	Config string
	// Log level.
	LogLevel DevContainerCliLogLevel
	// Log format.
	LogFormat DevContainerCliLogFormat
	// Builds the image with `--no-cache`.
	NoCache *bool
	// Image name.
	ImageName string
	// Additional image to use as potential layer cache.
	CacheFrom string
	// A destination of buildx cache.
	CacheTo string
	// Control whether BuildKit should be used.
	Buildkit DevContainerCliBuildkit
	// Set target platforms.
	Platform string
	// Push to a container registry.
	Push *bool
	//  Overrides the default behavior to load built images into the local docker registry. Valid options are the same ones provided to the --output option of docker buildx build.
	Output string
	// Additional features to apply to the dev container (JSON as per "features" section in devcontainer.json).
	AdditionalFeatures string
}

type DevContainerCliBuildkit added in v0.4.2

type DevContainerCliBuildkit string
const (
	DEV_CONTAINER_CLI_BUILDKIT_DEFAULT DevContainerCliBuildkit = ""
	DEV_CONTAINER_CLI_BUILDKIT_AUTO    DevContainerCliBuildkit = "auto"
	DEV_CONTAINER_CLI_BUILDKIT_NEVER   DevContainerCliBuildkit = "never"
)

type DevContainerCliFeaturesPackageSettings added in v0.4.2

type DevContainerCliFeaturesPackageSettings struct {
	ToolSettingsBase
	// Path to a feature or folder of features to package.
	Target string
	// Path to output directory. Will create directories as needed.
	OutputFolder string
	// Automatically delete previous output directory before packaging.
	ForceCleanOutputFolder *bool
	// Log level.
	LogLevel DevContainerCliLogLevel
}

type DevContainerCliFeaturesPublishSettings added in v0.4.2

type DevContainerCliFeaturesPublishSettings struct {
	ToolSettingsBase
	// Path to a feature or folder of features to publish.
	Target string
	// Name of the OCI registry.
	Registry string
	// Unique indentifier for the collection of features.
	Namespace string
	// Log level.
	LogLevel DevContainerCliLogLevel
}

type DevContainerCliFeaturesTestSettings added in v0.4.2

type DevContainerCliFeaturesTestSettings struct {
	ToolSettingsBase
	// Path to folder containing 'src' and 'test' sub-folders.
	ProjectFolder string
	// Feature(s) to test .
	Features []string
	// Filter current tests to only run scenarios containing this string.
	Filter string
	//  Run only scenario tests under 'tests/_global'
	GlobalScenariosOnly *bool
	// Skip all 'scenario' style tests.
	SkipScenarios *bool
	// Skip all 'autogenerated' style tests (test.sh)
	SkipAutogenerated *bool
	// Skip all 'duplicate' style tests (duplicate.sh).
	SkipDuplicated *bool
	// Allow an element of randomness in test cases.
	PermitRandomization *bool
	// Base Image. Not used for scenarios.
	BaseImage string
	// Remote user.  Not used for scenarios.
	RemoteUser string
	// Log level.
	LogLevel DevContainerCliLogLevel
	// Do not remove test containers after running tests.
	PreserveTestContainers *bool
	// Quiets output.
	Quiet *bool
}

type DevContainerCliLogFormat added in v0.4.2

type DevContainerCliLogFormat string
const (
	DEV_CONTAINER_CLI_LOG_FORMAT_DEFAULT DevContainerCliLogFormat = ""
	DEV_CONTAINER_CLI_LOG_FORMAT_TEXT    DevContainerCliLogFormat = "text"
	DEV_CONTAINER_CLI_LOG_FORMAT_JSON    DevContainerCliLogFormat = "json"
)

type DevContainerCliLogLevel added in v0.4.2

type DevContainerCliLogLevel string
const (
	DEV_CONTAINER_CLI_LOG_LEVEL_DEFAULT DevContainerCliLogLevel = ""
	DEV_CONTAINER_CLI_LOG_LEVEL_INFO    DevContainerCliLogLevel = "info"
	DEV_CONTAINER_CLI_LOG_LEVEL_DEBUG   DevContainerCliLogLevel = "debug"
	DEV_CONTAINER_CLI_LOG_LEVEL_TRACE   DevContainerCliLogLevel = "trace"
)

type DevContainerCliTool added in v0.4.2

type DevContainerCliTool struct {
}

This tool allows interacting with the Dev Container CLI.

func CreateDevContainerCliTool added in v0.4.2

func CreateDevContainerCliTool() *DevContainerCliTool

func (*DevContainerCliTool) Build added in v0.4.2

func (*DevContainerCliTool) FeaturesPackage added in v0.4.2

func (tool *DevContainerCliTool) FeaturesPackage(settings *DevContainerCliFeaturesPackageSettings) error

func (*DevContainerCliTool) FeaturesPublish added in v0.4.2

func (tool *DevContainerCliTool) FeaturesPublish(settings *DevContainerCliFeaturesPublishSettings) error

func (*DevContainerCliTool) FeaturesTest added in v0.4.2

func (tool *DevContainerCliTool) FeaturesTest(settings *DevContainerCliFeaturesTestSettings) error

type DockerBuildSettings

type DockerBuildSettings struct {
	ToolSettingsBase
	Dockerfile  string
	ContextPath string
	Tags        []string
	Labels      []string
	BuildArgs   []string
}

func (*DockerBuildSettings) AddBuildArgs

func (settings *DockerBuildSettings) AddBuildArgs(buildArgs ...string) *DockerBuildSettings

func (*DockerBuildSettings) AddLabels

func (settings *DockerBuildSettings) AddLabels(labels ...string) *DockerBuildSettings

func (*DockerBuildSettings) AddTags

func (settings *DockerBuildSettings) AddTags(tags ...string) *DockerBuildSettings

type DockerImageTool

type DockerImageTool struct {
}

DockerImageTool provides access to the helper methods for Docker Images.

func (*DockerImageTool) Build

func (tool *DockerImageTool) Build(settings *DockerBuildSettings) error

func (*DockerImageTool) Load

func (tool *DockerImageTool) Load(settings *DockerLoadSettings) ([]string, error)

func (*DockerImageTool) Push

func (tool *DockerImageTool) Push(settings *DockerPushSettings) error

func (*DockerImageTool) Save

func (tool *DockerImageTool) Save(settings *DockerSaveSettings) error

type DockerLoadSettings

type DockerLoadSettings struct {
	ToolSettingsBase
	InputFile string
}

type DockerLoginSettings

type DockerLoginSettings struct {
	ToolSettingsBase
	Registry string
	Username string
	Password string
}

type DockerLogoutSettings

type DockerLogoutSettings struct {
	ToolSettingsBase
	Registry string
}

type DockerPushSettings

type DockerPushSettings struct {
	ToolSettingsBase
	AllTags        bool
	ImageReference string
}

type DockerRegistryTool

type DockerRegistryTool struct {
}

DockerRegistryTool provides access to the helper methods for Docker Registries.

func (*DockerRegistryTool) Login

func (tool *DockerRegistryTool) Login(settings *DockerLoginSettings) error

func (*DockerRegistryTool) Logout

func (tool *DockerRegistryTool) Logout(settings *DockerLogoutSettings) error

type DockerSaveSettings

type DockerSaveSettings struct {
	ToolSettingsBase
	OutputFile     string
	ImageReference string
}

type DockerTool

type DockerTool struct {
	Image    *DockerImageTool
	Registry *DockerRegistryTool
}

DockerTool provides access to the helper methods for tools around Docker.

func CreateDockerTool

func CreateDockerTool() *DockerTool

type DotNetBuildSettings added in v0.3.3

type DotNetBuildSettings struct {
	ToolSettingsBase
	DotNetSettings
	Configuration   string
	OutputDirectory string
	Runtime         string
	Framework       string
	NoIncremental   bool
	NoDependencies  bool
	NoRestore       bool
}

type DotNetCleanSettings added in v0.3.3

type DotNetCleanSettings struct {
	ToolSettingsBase
	DotNetSettings
	Configuration   string
	OutputDirectory string
	Runtime         string
	Framework       string
}

type DotNetPackSettings added in v0.3.3

type DotNetPackSettings struct {
	ToolSettingsBase
	DotNetSettings
	Configuration   string
	OutputDirectory string
	Runtime         string
	NoBuild         bool
	NoDependencies  bool
	NoRestore       bool
	IncludeSymbols  bool
	IncludeSource   bool
}

type DotNetPublishSettings added in v0.3.3

type DotNetPublishSettings struct {
	ToolSettingsBase
	DotNetSettings
	Configuration   string
	OutputDirectory string
	Runtime         string
	Framework       string
	NoBuild         bool
	NoDependencies  bool
	NoRestore       bool
	Force           bool
}

type DotNetRestoreSettings added in v0.3.3

type DotNetRestoreSettings struct {
	ToolSettingsBase
	DotNetSettings
	PackagesDirectory   string
	Runtime             string
	NoCache             bool
	DisableParallel     bool
	IgnoreFailedSources bool
	NoDependencies      bool
	Force               bool
	Interactive         bool
}

type DotNetRunSettings added in v0.3.3

type DotNetRunSettings struct {
	ToolSettingsBase
	DotNetSettings
	Configuration string
	Runtime       string
	Framework     string
	NoBuild       bool
	NoRestore     bool
}

type DotNetSettings added in v0.3.3

type DotNetSettings struct {
	Verbosity        DotNetVerbosity
	DiagnosticOutput bool
}

type DotNetTestSettings added in v0.3.3

type DotNetTestSettings struct {
	ToolSettingsBase
	DotNetSettings
	Configuration   string
	OutputDirectory string
	Runtime         string
	Framework       string
	Filter          string
	NoBuild         bool
	NoRestore       bool
	Blame           bool
}

type DotNetTool added in v0.3.3

type DotNetTool struct {
}

func CreateDotNetTool added in v0.3.3

func CreateDotNetTool() *DotNetTool

func (*DotNetTool) DotNeTest added in v0.3.3

func (tool *DotNetTool) DotNeTest(project string, settings *DotNetTestSettings) error

func (*DotNetTool) DotNetBuild added in v0.3.3

func (tool *DotNetTool) DotNetBuild(project string, settings *DotNetBuildSettings) error

func (*DotNetTool) DotNetClean added in v0.3.3

func (tool *DotNetTool) DotNetClean(project string, settings *DotNetCleanSettings) error

func (*DotNetTool) DotNetPack added in v0.3.3

func (tool *DotNetTool) DotNetPack(project string, settings *DotNetPackSettings) error

func (*DotNetTool) DotNetPublish added in v0.3.3

func (tool *DotNetTool) DotNetPublish(path string, settings *DotNetPublishSettings) error

func (*DotNetTool) DotNetRestore added in v0.3.3

func (tool *DotNetTool) DotNetRestore(root string, settings *DotNetRestoreSettings) error

func (*DotNetTool) DotNetRun added in v0.3.3

func (tool *DotNetTool) DotNetRun(project string, settings *DotNetRunSettings) error

type DotNetVerbosity added in v0.3.3

type DotNetVerbosity int

DotNetVerbosity can be used to set the verbosity of the log output.

const (
	DotNetVerbosityUndefined DotNetVerbosity = iota
	DotNetVerbosityQuiet
	DotNetVerbosityMinimal
	DotNetVerbosityNormal
	DotNetVerbosityDetailed
	DotNetVerbosityDiagnostic
)

func (DotNetVerbosity) String added in v0.3.3

func (s DotNetVerbosity) String() string

type EsLintFile

type EsLintFile struct {
	FilePath string           `json:"filePath"`
	Messages []*EsLintMessage `json:"messages"`
}

type EsLintMessage

type EsLintMessage struct {
	RuleId    string `json:"ruleId"`
	Severity  int64  `json:"severity"`
	Message   string `json:"message"`
	Line      int64  `json:"line"`
	EndLine   int64  `json:"endLine"`
	Column    int64  `json:"column"`
	EndColumn int64  `json:"endColumn"`
}

type EsLintReport

type EsLintReport struct {
	Files []*EsLintFile
}

type EsLintTool

type EsLintTool struct {
}

EsLintTool provides access to the helper methods for ES Lint.

func CreateEsLintTool

func CreateEsLintTool() *EsLintTool

func (*EsLintTool) ParseEsLintReport

func (tool *EsLintTool) ParseEsLintReport(esLintReportPath string) (*EsLintReport, error)

ParseEsLintReport parses the given eslint report (json).

func (*EsLintTool) SeverityToString

func (tool *EsLintTool) SeverityToString(severity int64) string

type FlywayColor added in v0.4.1

type FlywayColor string
const (
	FLYWAY_COLOR_DEFAULT FlywayColor = ""
	FLYWAY_COLOR_AUTO    FlywayColor = "auto"
	FLYWAY_COLOR_ALWAYS  FlywayColor = "always"
	FLYWAY_COLOR_NEVER   FlywayColor = "never"
)

type FlywayEncoding added in v0.4.1

type FlywayEncoding string
const (
	FLYWAY_ENCODING_DEFAULT    FlywayEncoding = ""
	FLYWAY_ENCODING_UTF_8      FlywayEncoding = "UTF-8"
	FLYWAY_ENCODING_UTF_16BE   FlywayEncoding = "UTF-16BE"
	FLYWAY_ENCODING_UTF_16LE   FlywayEncoding = "UTF-16LE"
	FLYWAY_ENCODING_UTF_16     FlywayEncoding = "UTF-16"
	FLYWAY_ENCODING_US_ASCII   FlywayEncoding = "US-ASCII"
	FLYWAY_ENCODING_ISO_8859_1 FlywayEncoding = "ISO-8859-1"
)

type FlywayLogger added in v0.4.1

type FlywayLogger string
const (
	FLYWAY_LOGGER_DEFAULT        FlywayLogger = ""
	FLYWAY_LOGGER_AUTO           FlywayLogger = "auto"
	FLYWAY_LOGGER_CONSOLE        FlywayLogger = "console"
	FLYWAY_LOGGER_SLF4J          FlywayLogger = "slf4j"
	FLYWAY_LOGGER_LOG4J2         FlywayLogger = "log4j2"
	FLYWAY_LOGGER_APACHE_COMMONS FlywayLogger = "apache-commons"
)

type FlywayOutputType added in v0.4.1

type FlywayOutputType string
const (
	FLYWAY_OUTPUT_TYPE_DEFAULT FlywayOutputType = ""
	FLYWAY_OUTPUT_TYPE_JSON    FlywayOutputType = "json"
)

type FlywaySettings added in v0.4.1

type FlywaySettings struct {
	ToolSettingsBase

	// The path to the Flyway executable.
	ToolPath string

	//// Connection
	// The jdbc url to use to connect to the database.
	Url string
	// The user to use to connect to the database.
	User string
	// The password to use to connect to the database.
	Password string
	// The fully qualified class name of the jdbc driver to use to connect to the database.
	Driver string
	// The maximum number of retries when attempting to connect to the database.
	ConnectRetries *int
	// The maximum time between retries when attempting to connect to the database in seconds.
	ConnectRetriesInterval *int
	// SQL statements to be run immediately after a database connection has been established.
	InitSql string

	//// General
	// List of fully qualified class names of Callback implementations to use to hook into the Flyway lifecycle, or packages to scan for these classes.
	Callbacks []string
	// The Flyway configuration files to load.
	ConfigFiles []string
	// The encoding of SQL migrations.
	Encoding FlywayEncoding
	// The name of the environment you wish Flyway to load configuration from.
	Environment string
	// Whether Flyway should execute SQL within a transaction.
	ExecuteInTransaction *bool
	// Whether to group all pending migrations together in the same transaction when applying them.
	Group *bool
	// The username that will be recorded in the schema history table as having applied the migration.
	InstalledBy string
	// List of directories containing JDBC drivers and Java-based migrations.
	JarDirs []string
	// List of locations to scan recursively for migrations.
	Locations []string
	// Whether to fail if a location specified in the locations option doesn't exist.
	FailOnMissingLocations *bool
	// At the start of a migration, Flyway will attempt to take a lock to prevent competing instances executing in parallel.
	LockRetryCount *int
	// Allows you to override Flyway's logging auto-detection and specify one or multiple loggers to use.
	Loggers []FlywayLogger
	// Whether to allow mixing transactional and non-transactional statements within the same migration.
	Mixed *bool
	// Allows migrations to be run "out of order".
	OutOfOrder *bool
	// Filename for the report file.
	ReportFilename string
	// Whether default built-in callbacks (sql) should be skipped.
	SkipDefaultCallbacks *bool
	// Whether default built-in resolvers (sql and jdbc) should be skipped.
	SkipDefaultResolvers *bool
	// The name of Flyway's schema history table.
	Table string
	// Whether to ignore migration files whose names do not match the naming conventions.
	ValidateMigrationNaming *bool
	// Whether to automatically call validate or not when running migrate.
	ValidateOnMigrate *bool
	// The working directory to consider when dealing with relative paths for both config files and locations.
	WorkingDirectory string

	//// Schema
	// Whether Flyway should attempt to create the schemas specified in the schemas property.
	CreateSchemas *bool
	// The default schema managed by Flyway.
	DefaultSchema string
	// List of schemas managed by Flyway.
	Schemas []string

	//// Baseline
	// The Description to tag an existing schema with when executing baseline.
	BaselineDescription string
	// Whether to automatically call baseline when migrate is executed against a non-empty schema with no schema history table.
	BaselineOnMigrate *bool
	// The version to tag an existing schema with when executing baseline.
	BaselineVersion string

	//// Clean
	// Whether to disable clean.
	CleanDisabled *bool
	// Whether to automatically call clean or not when a validation error occurs.
	CleanOnValidationError *bool

	//// Validate
	// Ignore migrations during validate and repair according to a given list of patterns.
	IgnoreMigrationPatterns []string

	//// Migrations
	// The file name prefix for repeatable SQL migrations.
	RepeatableSqlMigrationPrefix string
	// List of fully qualified class names of custom MigrationResolver implementations to be used in addition to the built-in ones for resolving Migrations to apply.
	Resolvers []string
	// The file name prefix for versioned SQL migrations.
	SqlMigrationPrefix string
	// The file name separator for Sql migrations.
	SqlMigrationSeparator string
	// List of file name suffixes for SQL migrations.
	SqlMigrationSuffixes []string

	//// Placeholders
	// The prefix of every placeholder.
	PlaceholderPrefix string
	// Whether placeholders should be replaced.
	PlaceholderReplacement *bool
	// Placeholders to replace in SQL migrations. In the form of "key=value"
	Placeholders []string
	// The separator of default placeholders.
	PlaceholderSeparator string
	// The suffix of every placeholder.
	PlaceholderSuffix string

	//// Command Line
	// Whether to colorize output.
	Color FlywayColor
	// Change the console output formatting.
	OutputType FlywayOutputType

	//// PostgreSQL
	// Whether or not transactional advisory locks should be used with PostgreSQL.
	PostgresqlTransactionalLock *bool
}

type FlywayTool added in v0.4.1

type FlywayTool struct {
}

func CreateFlywayTool added in v0.4.1

func CreateFlywayTool() *FlywayTool

func (*FlywayTool) Baseline added in v0.4.1

func (tool *FlywayTool) Baseline(settings *FlywaySettings) error

func (*FlywayTool) Clean added in v0.4.1

func (tool *FlywayTool) Clean(settings *FlywaySettings) error

func (*FlywayTool) Info added in v0.4.1

func (tool *FlywayTool) Info(settings *FlywaySettings) error

func (*FlywayTool) Migrate added in v0.4.1

func (tool *FlywayTool) Migrate(settings *FlywaySettings) error

func (*FlywayTool) Repair added in v0.4.1

func (tool *FlywayTool) Repair(settings *FlywaySettings) error

func (*FlywayTool) Validate added in v0.4.1

func (tool *FlywayTool) Validate(settings *FlywaySettings) error

type GitLabCodeQualityEntry

type GitLabCodeQualityEntry struct {
	Description string                     `json:"description"`
	Fingerprint string                     `json:"fingerprint"`
	Severity    string                     `json:"severity"`
	Location    *GitLabCodeQualityLocation `json:"location"`
}

type GitLabCodeQualityLines

type GitLabCodeQualityLines struct {
	Begin int64 `json:"begin"`
	End   int64 `json:"end"`
}

type GitLabCodeQualityLocation

type GitLabCodeQualityLocation struct {
	Path  string                  `json:"path"`
	Lines *GitLabCodeQualityLines `json:"lines"`
}

type GitLabReport

type GitLabReport struct {
	Entries []*GitLabCodeQualityEntry
}

GitLabReport defines the data for the quality report for GitLab. See https://docs.gitlab.com/ee/ci/testing/code_quality.html#implementing-a-custom-tool for details

type GitLabTool

type GitLabTool struct {
}

GitLabTool provides access to the helper methods for GitLab.

func CreateGitLabTool

func CreateGitLabTool() *GitLabTool

func (*GitLabTool) ConvertEsLintReportToGitLabReport

func (tool *GitLabTool) ConvertEsLintReportToGitLabReport(esLintReport *EsLintReport) *GitLabReport

ConvertEsLintReportToGitLabReport converts the given EsLintReport to a GitLabReport.

func (*GitLabTool) IsRunningOnGitLab

func (tool *GitLabTool) IsRunningOnGitLab() bool

IsRunningOnGitLab returns a flag, if we are currently running on gitlab

func (*GitLabTool) MergeGitLabReports

func (tool *GitLabTool) MergeGitLabReports(gitLabReports []*GitLabReport) *GitLabReport

MergeGitLabReports merges the given GitLabReports to a single GitLabReport.

func (*GitLabTool) WriteGitLabReport

func (tool *GitLabTool) WriteGitLabReport(gitLabReport *GitLabReport, outputFilePath string) error

WriteGitLabReport writes the GitLabReport into a json file.

type JFrogTool

type JFrogTool struct {
	Artifactory *ArtifactoryTool
}

JFrogTool provides access to the helper methods for tools from JFrog.

func CreateJFrogTool

func CreateJFrogTool() *JFrogTool

type MvnRunSettings

type MvnRunSettings struct {
	ToolSettingsBase
	Phases             []string
	Projects           []string
	ActivateProfiles   []string
	AlsoMake           bool
	BatchMode          bool
	Debug              bool
	Help               bool
	NoTransferProgress bool
	Offline            bool
	Quiet              bool
	Settings           string
	Version            bool
	ShowVersion        bool
	// Skips executing the tests
	SkipTests bool
	// Skips compiling the tests
	MavenTestSkip bool
}

MvnRunSettings is the settings object to tell mvn what to do.

type MvnTool

type MvnTool struct {
}

MvnTool provides access to the helper methods for Maven.

func CreateMvnTool

func CreateMvnTool() *MvnTool

func (*MvnTool) Run

func (tool *MvnTool) Run(settings *MvnRunSettings) error

Run runs mvn according to the settings.

type NpmBinSettings added in v0.1.4

type NpmBinSettings struct {
	ToolSettingsBase
	Global bool
}

NpmBinSettings are the settings used for Bin.

type NpmCleanInstallSettings

type NpmCleanInstallSettings struct {
	ToolSettingsBase
	CacheDir      string
	NoAudit       bool
	PreferOffline bool
}

NpmCleanInstallSettings are the settings used for CleanInstall.

type NpmInitSettings

type NpmInitSettings struct {
	ToolSettingsBase
	PackageSpec string
}

NpmInitSettings are the settings used for Init.

type NpmInstallSettings

type NpmInstallSettings struct {
	ToolSettingsBase
	CacheDir      string
	PackageSpec   string
	NoAudit       bool
	PreferOffline bool
	SaveProd      bool
	SaveDev       bool
	SaveOptional  bool
	SaveExact     bool
}

NpmInstallSettings are the settings used for Install.

type NpmPublishSettings added in v0.2.2

type NpmPublishSettings struct {
	ToolSettingsBase
	PackageSpec string
	Tag         string
}

NpmPublishSettings are the settings used for Publish.

type NpmRunSettings

type NpmRunSettings struct {
	ToolSettingsBase
	Script string
}

NpmRunSettings are the settings used for Run.

type NpmTool

type NpmTool struct {
}

NpmTool provides access to the helper methods for npm.

func CreateNpmTool

func CreateNpmTool() *NpmTool

func (*NpmTool) Bin added in v0.1.4

func (tool *NpmTool) Bin(settings *NpmBinSettings) (string, error)

func (*NpmTool) CleanInstall

func (tool *NpmTool) CleanInstall(settings *NpmCleanInstallSettings) error

func (*NpmTool) Init

func (tool *NpmTool) Init(settings *NpmInitSettings) error

func (*NpmTool) Install

func (tool *NpmTool) Install(settings *NpmInstallSettings) error

func (*NpmTool) Publish added in v0.2.2

func (tool *NpmTool) Publish(settings *NpmPublishSettings) error

func (*NpmTool) Run

func (tool *NpmTool) Run(settings *NpmRunSettings) error

func (*NpmTool) RunScript

func (tool *NpmTool) RunScript(outputToConsole bool, script string) error

type NxAffectedSettings added in v0.3.13

type NxAffectedSettings struct {
	ToolSettingsBase
	Base           string        // Base of the current branch (usually main).
	Batch          bool          // Run task(s) in batches for executors which support batches.
	Configuration  string        // This is the configuration to use when performing tasks on projects.
	Exclude        []string      // Exclude certain projects from being processed.
	Files          []string      // Change the way Nx is calculating the affected command by providing directly changed files.
	Head           string        // Latest commit of the current branch (usually HEAD).
	NxBail         bool          // Stop command execution after the first failed task.
	NxIgnoreCycles bool          // Ignore cycles in the task graph.
	OutputStyle    NxOutputStyle // Defines how Nx emits outputs tasks logs.
	Parallel       string        // Max number of parallel processes. Set to "false" to disable.
	Runner         string        // This is the name of the tasks runner configured in nx.json.
	SkipNxCache    bool          // Rerun the tasks even when the results are available in the cache.
	Targets        []string      // Tasks to run for affected projects.
	Uncommitted    bool          // Use uncommitted changes.
	Untracked      bool          // Use untracked changes.
	Verbose        bool          // Prints additional information about the commands (e.g., stack traces).
}

Settings for affected: https://nx.dev/nx-api/nx/documents/affected

type NxOutputStyle added in v0.3.13

type NxOutputStyle string

NxOutputStyle is used to define how Nx emits outputs tasks logs.

func (NxOutputStyle) String added in v0.3.13

func (c NxOutputStyle) String() string

type NxRunManySettings added in v0.3.13

type NxRunManySettings struct {
	ToolSettingsBase
	Batch          bool          // Run task(s) in batches for executors which support batches.
	Configuration  string        // This is the configuration to use when performing tasks on projects.
	Exclude        []string      // Exclude certain projects from being processed.
	NxBail         bool          // Stop command execution after the first failed task.
	NxIgnoreCycles bool          // Ignore cycles in the task graph.
	OutputStyle    NxOutputStyle // Defines how Nx emits outputs tasks logs.
	Parallel       string        // Max number of parallel processes. Set to "false" to disable.
	Projects       []string      // Projects to run.
	Runner         string        // This is the name of the tasks runner configured in nx.json.
	SkipNxCache    bool          // Rerun the tasks even when the results are available in the cache.
	Targets        []string      // Tasks to run for affected projects.
	Verbose        bool          // Prints additional information about the commands (e.g., stack traces).
}

Settings for run-many: https://nx.dev/nx-api/nx/documents/run-many

type NxRunSettings added in v0.3.13

type NxRunSettings struct {
	ToolSettingsBase
	Target        string
	Configuration string
}

Settings for run: https://nx.dev/nx-api/nx/documents/run

type NxRunType added in v0.3.13

type NxRunType int

NxRunType is used to define how Nx should be invoked.

type NxShowProjectSettings added in v0.3.13

type NxShowProjectSettings struct {
	ToolSettingsBase
	ProjectName string
}

Settings for show project: https://nx.dev/nx-api/nx/documents/show#project

type NxShowProjectsSettings added in v0.3.13

type NxShowProjectsSettings struct {
	ToolSettingsBase
	Affected    bool     // Show only affected projects.
	Base        string   // Base of the current branch (usually main).
	Exclude     []string // Exclude certain projects from being processed.
	Files       []string // Change the way Nx is calculating the affected command by providing directly changed files.
	Head        string   // Latest commit of the current branch (usually HEAD).
	Projects    []string // Show only projects that match a given pattern.
	Type        string   // Select only projects of the given type. Choices: [app, lib, e2e]
	Uncommitted bool     // Use uncommitted changes.
	Untracked   bool     // Use untracked changes.
	WithTarget  string   // Show only projects that have a specific target.
}

Settings for show projects: https://nx.dev/nx-api/nx/documents/show#projects

type NxTool added in v0.3.13

type NxTool struct {
}

NxTool provides access to the helper methods for Nx.

func CreateNxTool added in v0.3.13

func CreateNxTool() *NxTool

func (*NxTool) Affected added in v0.3.13

func (tool *NxTool) Affected(runType NxRunType, settings NxAffectedSettings) error

Affected allows running target(s) for affected projects.

func (*NxTool) Run added in v0.3.13

func (tool *NxTool) Run(runType NxRunType, settings NxRunSettings) error

Runs a target defined for your project.

func (*NxTool) RunCommand added in v0.3.13

func (tool *NxTool) RunCommand(runType NxRunType, settings *ToolSettingsBase, command string, args ...string) error

RunCommand is a generic runner for any Nx command.

func (*NxTool) RunCommandGetOutput added in v0.3.13

func (tool *NxTool) RunCommandGetOutput(runType NxRunType, settings *ToolSettingsBase, command string, args ...string) (string, string, error)

RunCommandGetOutput is a generic runner for any Nx command which also returns the stdout and stderr.

func (*NxTool) RunMany added in v0.3.13

func (tool *NxTool) RunMany(runType NxRunType, settings NxRunManySettings) error

RunMany runs target(s) for multiple listed projects.

func (*NxTool) ShowProject added in v0.3.13

func (tool *NxTool) ShowProject(runType NxRunType, settings NxShowProjectSettings) (string, error)

ShowProject shows the projects configuration and returns it as a string.

func (*NxTool) ShowProjects added in v0.3.13

func (tool *NxTool) ShowProjects(runType NxRunType, settings NxShowProjectsSettings) ([]string, error)

ShowProjects returns projects according to the given criterias.

type ToolSettingsBase added in v0.3.0

type ToolSettingsBase struct {
	WorkingDirectory string   // the path to use as working directory when running the tool
	OutputToConsole  bool     // flag to define if the output of the tool should be written into the console or not.
	CustomArguments  []string // list with custom arguments passed to the tool
}

ToolSettingsBase are common settings usefull for all tools that run executables.

func (*ToolSettingsBase) Customize added in v0.3.0

func (s *ToolSettingsBase) Customize(setting ...string) *ToolSettingsBase

Customize adds a custom argument to the settings object.

type ToolsClient

type ToolsClient struct {
	Cypress         *CypressTool
	DevContainerCli *DevContainerCliTool
	Docker          *DockerTool
	DotNet          *DotNetTool
	EsLint          *EsLintTool
	Flyway          *FlywayTool
	GitLab          *GitLabTool
	JFrog           *JFrogTool
	Mvn             *MvnTool
	Npm             *NpmTool
	Nx              *NxTool
}

ToolsClient provides typed access to the different tools.

func CreateToolsClient

func CreateToolsClient() *ToolsClient

CreateToolsClient creates a new client to access the different tools.

Jump to

Keyboard shortcuts

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