Versions in this module Expand all Collapse all v0 v0.18.5 Sep 23, 2026 Changes in this version + const PHPSourceEnv + const PHPSourceFlag + const PHPSourcePath + var ComposeProjectNameRegexp = regexp.MustCompile(`^[a-z0-9][a-z0-9_-]*$`) + var ErrCacheNotFound = errors.New("cache item not found") + func CloseCaches() error + func CopyFiles(currentPath string, targetPath string) error + func DecompressReader(r io.Reader) (io.Reader, error) + func DockerRunUserArgs(projectDir string) []string + func ExpandEnv(s string) string + func GetAvailablePHPExtensions(ctx context.Context) ([]string, error) + func GetInstalledNodeVersion(ctx context.Context) (string, error) + func GetInstalledPHPVersion(ctx context.Context) (string, error) + func GetPHPVersionOfBinary(ctx context.Context, phpPath string) (string, error) + func GetShopwareCliCacheDir() string + func IsCIEnvironment(getenv func(string) string) bool + func IsDirEmpty(name string) (bool, error) + func IsDockerMountable() bool + func IsDockerUsingLibkrun() bool + func IsGitInstalled() bool + func IsInsideContainer() bool + func IsInteractionEnabled(ctx context.Context) bool + func IsNodeVersionAtLeast(ctx context.Context, requiredVersion string) (bool, error) + func IsPHPVersionAtLeast(ctx context.Context, requiredVersion string) (bool, error) + func IsSymfonyCliInstalled() bool + func IsUnderHomebrew(binaryPath string) bool + func IsWSL() bool + func IsWSLWindowsMount(path string) bool + func OpenURL(ctx context.Context, url string) error + func PHPVersionPin(phpVersion string) string + func ProjectUserSpec(dir string) string + func RenderMissingDependencies(useDocker bool, missing []MissingDependency, action, dockerHint string) string + func ResolveComposer(ctx context.Context) (path string, isPhar bool, err error) + func ResolvePinnedPHPBinary(ctx context.Context, pin string) (string, error) + func ResolveProjectPHPBinary(ctx context.Context, pin string) (string, error) + func UnusablePHPBinaryEnv(ctx context.Context) error + func ValidateDockerComposeName(name string) error + func ValidateProjectDependencies(ctx context.Context, useDocker bool, phpConstraint PHPVersionChecker, ...) error + func WithInteraction(ctx context.Context, interaction bool) context.Context + type Cache interface + Close func() error + Get func(ctx context.Context, key string) (io.ReadCloser, error) + GetFilePath func(ctx context.Context, key string) (string, error) + GetFolderCachePath func(ctx context.Context, key string) (string, error) + RestoreFolderCache func(ctx context.Context, key string, targetPath string) error + Set func(ctx context.Context, key string, data io.Reader) error + StoreFolderCache func(ctx context.Context, key string, folderPath string) error + func GetCacheWithPrefix(prefix string) Cache + func GetDefaultCache() Cache + type CacheFactory interface + CreateCache func() Cache + type CountingReader struct + Reader io.Reader + func (c *CountingReader) BytesRead() int64 + func (c *CountingReader) Read(p []byte) (int, error) + type DefaultCacheFactory struct + func NewCacheFactory() *DefaultCacheFactory + func (f *DefaultCacheFactory) CreateCache() Cache + func (f *DefaultCacheFactory) CreateCacheWithPrefix(prefix string) Cache + type DiskCache struct + func NewDiskCache(basePath string) *DiskCache + func (c *DiskCache) Close() error + func (c *DiskCache) Get(ctx context.Context, key string) (io.ReadCloser, error) + func (c *DiskCache) GetFilePath(ctx context.Context, key string) (string, error) + func (c *DiskCache) GetFolderCachePath(ctx context.Context, key string) (string, error) + func (c *DiskCache) RestoreFolderCache(ctx context.Context, key string, targetPath string) error + func (c *DiskCache) Set(ctx context.Context, key string, data io.Reader) error + func (c *DiskCache) StoreFolderCache(ctx context.Context, key string, folderPath string) error + type GitHubActionsCache struct + func NewGitHubActionsCache(prefix string) (*GitHubActionsCache, error) + func (c *GitHubActionsCache) Close() error + func (c *GitHubActionsCache) Get(ctx context.Context, key string) (io.ReadCloser, error) + func (c *GitHubActionsCache) GetFilePath(ctx context.Context, key string) (string, error) + func (c *GitHubActionsCache) GetFolderCachePath(ctx context.Context, key string) (string, error) + func (c *GitHubActionsCache) RestoreFolderCache(ctx context.Context, key string, targetPath string) error + func (c *GitHubActionsCache) Set(ctx context.Context, key string, data io.Reader) error + func (c *GitHubActionsCache) StoreFolderCache(ctx context.Context, key string, folderPath string) error + type Incompatibility struct + Description string + Title string + func CheckIncompatibilities(useDocker bool, projectFolder string) []Incompatibility + type MissingDependency struct + Name string + Reason string + func CheckProjectDependencies(ctx context.Context, useDocker bool, phpConstraint PHPVersionChecker, ...) []MissingDependency + type PHPBinaryError struct + Err error + Path string + Reason string + func (e *PHPBinaryError) Error() string + func (e *PHPBinaryError) Unwrap() error + type PHPInstallation struct + Binary string + Default bool + Source string + Version string + func DefaultPHPInstallation(installations []PHPInstallation) *PHPInstallation + func DiscoverPHPInstallations(ctx context.Context) []PHPInstallation + func FilterCompatiblePHP(installations []PHPInstallation, checker PHPVersionChecker) []PHPInstallation + func FindPHPByBinary(installations []PHPInstallation, binary string) *PHPInstallation + func FindPHPBySource(installations []PHPInstallation, source string) *PHPInstallation + func FindPHPByVersionPin(installations []PHPInstallation, pin string) *PHPInstallation + func PreferredPHPInstallation(installations []PHPInstallation) *PHPInstallation + func ProbePHPBinary(ctx context.Context, path, source string) (*PHPInstallation, error) + func (i PHPInstallation) String() string + type PHPVersionChecker interface + Check func(phpVersion string) bool + String func() string + type PHPVersionNotFoundError struct + Installations []PHPInstallation + Pin string + func (e *PHPVersionNotFoundError) Error() string