tools

package
v0.1.12 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package tools provides structures and methods for managing tool configurations, including downloading, validating, and executing tools in various environments. It supports different strategies for tool management such as upgrading, forcing installation, or skipping based on conditions and tags.

The package handles various aspects of tool setup, including resolving sources, managing environment variables, applying templates, and validating tool configurations. It also supports working with different platforms, allowing platform-specific handling of tools.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Tools

type Tools []*tool.Tool

Tools represents a collection of Tool configurations.

func (*Tools) Append added in v0.0.13

func (ts *Tools) Append(t *tool.Tool)

Append adds a tool to the collection.

func (Tools) Copy added in v0.0.13

func (ts Tools) Copy() error

Copy performs deep copying of all tools in the collection.

func (Tools) DefaultInheritance added in v0.0.13

func (ts Tools) DefaultInheritance(inheritance string)

DefaultInheritance sets default inheritance for tools that don't have it specified.

func (Tools) Get added in v0.0.13

func (ts Tools) Get(name string) *tool.Tool

Get retrieves a tool by name from the collection.

func (Tools) GetFirst added in v0.0.13

func (ts Tools) GetFirst() *tool.Tool

GetFirst returns the first tool in the collection.

func (Tools) MergePlatform added in v0.0.13

func (ts Tools) MergePlatform() error

MergePlatform merges detected platform information into all tools.

func (Tools) MergeWith added in v0.0.13

func (ts Tools) MergeWith(others ...*tool.Tool) error

MergeWith merges all the stored defaults with the provided tools. The sequence is:

others[0] <-- others[1] <-- others[2]... <-- tools[i]

func (Tools) ResolveInheritance added in v0.0.13

func (ts Tools) ResolveInheritance(d *defaults.Defaults) error

ResolveInheritance processes tool inheritance using the provided defaults.

func (Tools) ResolveNilPointers added in v0.0.13

func (ts Tools) ResolveNilPointers() error

ResolveNilPointers ensures all tools have non-nil pointer fields.

Directories

Path Synopsis
Package checksum provides a structure for defining and working with checksums.
Package checksum provides a structure for defining and working with checksums.
Package command provides utilities to manage and execute shell commands.
Package command provides utilities to manage and execute shell commands.
Package exe provides functionality for configuring tool executables.
Package exe provides functionality for configuring tool executables.
Package fallbacks provides functionality for managing tool fallback sources.
Package fallbacks provides functionality for managing tool fallback sources.
Code generated by "string-enumer -t Match -o match_enumer___generated.go ."; DO NOT EDIT.
Code generated by "string-enumer -t Match -o match_enumer___generated.go ."; DO NOT EDIT.
Package inherit provides types for handling tool inheritance configurations.
Package inherit provides types for handling tool inheritance configurations.
Package mode provides functionality for specifying tool operational modes.
Package mode provides functionality for specifying tool operational modes.
Package result provides a Result struct to represent the outcome of a tool installation operation.
Package result provides a Result struct to represent the outcome of a tool installation operation.
Package skip provides functionality for managing tool skip conditions.
Package skip provides functionality for managing tool skip conditions.
Package sources provides abstractions for handling various types of installation sources, including GitHub repositories, direct URLs, Go projects, and command-based sources.
Package sources provides abstractions for handling various types of installation sources, including GitHub repositories, direct URLs, Go projects, and command-based sources.
github
Package github provides functionality for interacting with GitHub repositories, including fetching release information, matching assets to specific requirements, and downloading files from repository releases.
Package github provides functionality for interacting with GitHub repositories, including fetching release information, matching assets to specific requirements, and downloading files from repository releases.
gitlab
Package gitlab provides functionality for interacting with GitLab repositories, including fetching release information, matching assets to specific requirements, and downloading files from repository releases.
Package gitlab provides functionality for interacting with GitLab repositories, including fetching release information, matching assets to specific requirements, and downloading files from repository releases.
go
Package goc provides functionality for handling Go-based installations and managing Go commands using GitHub repositories.
Package goc provides functionality for handling Go-based installations and managing Go commands using GitHub repositories.
install
Package install provides shared utilities and types used across various modules, including functions for handling downloads, metadata management, file operations, and installation processes.
Package install provides shared utilities and types used across various modules, including functions for handling downloads, metadata management, file operations, and installation processes.
none
Package none provides a no-op source implementation for tools that don't require external sources.
Package none provides a no-op source implementation for tools that don't require external sources.
url
Package url provides functionality to handle URLs as sources for downloading and managing files.
Package url provides functionality to handle URLs as sources for downloading and managing files.
Package strategy provides functionality for managing tool installation strategies.
Package strategy provides functionality for managing tool installation strategies.
Package tags provides functionality for managing tool tags and filtering.
Package tags provides functionality for managing tool tags and filtering.
Package tool provides core functionality for managing tool configurations.
Package tool provides core functionality for managing tool configurations.
Package values provides functionality for managing tool configuration values.
Package values provides functionality for managing tool configuration values.
Package version provides functionality for managing tool version information.
Package version provides functionality for managing tool version information.

Jump to

Keyboard shortcuts

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