moby/pkg/urlutil/deprecated.go
Sebastiaan van Stijn 5f89a6a78e
pkg/urlutil: deprecate, and move to builder/remotecontext/urlutil
pkg/urlutil (despite its poorly chosen name) is not really intended as a generic
utility to handle URLs, and should only be used by the builder to handle (remote)
build contexts.

- IsURL() only does a very rudimentary check for http(s):// prefixes, without any
  other validation, but due to its name may give incorrect expectations.
- IsGitURL() is written specifically with docker build remote git contexts in
  mind, and has handling for backward-compatibility, where strings that are
  not URLs, but start with "github.com/" are accepted.

Because of the above, this patch:

- moves the package inside builder/remotecontext, close to where it's intended
  to be used (ideally this would be part of build/remotecontext itself, but this
  package imports many other dependencies, which would introduce those as extra
  dependencies in the CLI).
- deprecates pkg/urlutil, but adds aliases as there are some external consumers.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-12 19:58:05 +02:00

21 lines
952 B
Go

package urlutil // import "github.com/docker/docker/pkg/urlutil"
import "github.com/docker/docker/builder/remotecontext/urlutil"
// IsURL returns true if the provided str is an HTTP(S) URL.
//
// Deprecated: use github.com/docker/docker/builder/remotecontext/urlutil.IsURL
// to detect build-context type, or use strings.HasPrefix() to check if the
// string has a https:// or http:// prefix.
func IsURL(str string) bool {
// TODO(thaJeztah) when removing this alias, remove the exception from hack/validate/pkg-imports and hack/make.ps1 (Validate-PkgImports)
return urlutil.IsURL(str)
}
// IsGitURL returns true if the provided str is a git repository URL.
//
// Deprecated: use github.com/docker/docker/builder/remotecontext/urlutil.IsGitURL
func IsGitURL(str string) bool {
// TODO(thaJeztah) when removing this alias, remove the exception from hack/validate/pkg-imports and hack/make.ps1 (Validate-PkgImports)
return urlutil.IsGitURL(str)
}