type
Depend
src
@Serializable { simple=true }
const class Depend : Obj
Depend models a dependency as a pod name and a version constraint. Convention for Fantom pods is a four part version format of major.minor.build.patch
.
The string format for Depend:
<depend> := <name> space* <constraints> <constraints> := <constraint> [space* "," space* <constraint>]* <constraint> := <versionSimple> | <versionPlus> | <versionRange> <versionSimple> := <version> <versionPlus> := <version> space* "+" <versionRange> := <version> space* "-" space* <version> <version> := <digits> ["." <digits>]* <digits> := <digit> [<digits>]* <digit> := "0" - "9"
Note a simple version constraint such as "foo 1.2" really means "1.2.*" - it will match all build numbers and patch numbers within "1.2". Likewise "foo 1.2.64" will match all patch numbers within the "1.2.64" build. The "+" plus sign is used to specify a given version and anything greater. The "-" dash is used to specify an inclusive range. When using a range, the end version is matched using the same rules as a simple version - for example "4", "4.2", and "4.0.99" are all matches for "foo 1.2-4". You may specify a list of potential constraints separated by commas - a match for the entire dependency is made if any one constraint is matched.
Examples:
"foo 1.2" Any version of foo 1.2 with any build or patch number "foo 1.2.64" Any version of foo 1.2.64 with any patch number "foo 0+" Any version of foo - version wildcard "foo 1.2+" Any version of foo 1.2 or greater "foo 1.2-1.4" Any version between 1.2 and 1.4 inclusive "foo 1.2,1.4" Any version of 1.2 or 1.4
constructors
fromStr |
Parse the string accordingly into a dependency. |
---|
methods
endVersion |
Return the ending version if versionRange |
---|---|
equals |
Two Depends are equal if they have same normalized string representation. |
hash |
Return a hash code based on the normalized string representation. |
isPlus |
Return if the constraint at the specified index is a versionPlus |
isRange |
Return if the constraint at the specified index is a versionRange |
isSimple |
Return if the constraint at the specified index is neither a plus nor a range |
match |
Return if the specified version is a match against this dependency's constraints. |
name |
Get the pod name of the dependency. |
size |
Get the number of version constraints. |
toStr |
Get the normalized string format of this dependency. |
version |
Get the version constraint at specified index |