OpamUrlURL parsing and printing, with support for our different backends
val string_of_backend : backend -> stringval backend_of_string : string -> [> backend ]Tolerates lots of backward compatibility names;
type t = {transport : string;the part just before '://'
*)path : string;the part after '://'
*)hash : string option;the optional branch/ref specification, at the end after a '#'
*)backend : backend;the backend that opam should use to handle this url
*)}Same as of_string, but allows enforcing the expected backend, and may otherwise guess version control from the suffix by default (for e.g. https://foo/bar.git). (this should be disabled when parsing from files). Note that handle_suffix also handles user-name in ssh addresses (e.g. "ssh://git@github.com/..."). If from_file is set to false, it resolves rsync/file relative path.
val parse_opt :
?quiet:bool ->
?backend:backend ->
?handle_suffix:bool ->
?from_file:bool ->
string ->
t optionSame as parse, but catch Parse_error. In this case, display a warning if quiet is not set to true.
include OpamStd.ABSTRACT with type t := tval of_string : string -> tval to_string : t -> stringval to_json : t OpamJson.encoderval of_json : t OpamJson.decodermodule Set : OpamStd.SET with type elt = tmodule Map : OpamStd.MAP with type key = tval to_string_w_subpath : OpamFilename.SubPath.t option -> t -> stringval empty : tDummy filler url
val base_url : t -> stringReturns the url string without the VC part (i.e. "git+foo://bar" returns "foo://bar")
val basename : t -> stringThe last part of the url path, e.g. "http://foo/bar/this" or "http://that.here/"
Returns the url with all path components but the first one (the hostname) dropped, e.g. "http://some.host/some/path" becomes "http://some.host"
val has_trailing_slash : t -> boolval looks_like_local_path : t -> string optionCheck if the URL looks like a local path and returns Some url.path if it does. Return None otherwise.
val local_dir : t -> OpamFilename.Dir.t optionCheck if the URL matches an existing local directory, and return it
val local_file : t -> OpamFilename.t optionCheck if the URL matches an existing local file, and return it
val guess_version_control : string -> [> version_control ] optionIf the given url-string has no 'transport://' specification and corresponds to an existing local path, check for version-control clues at that path
map_file_url f url applies f to the path portion of url if transport is "file".
module Op : sig ... end