type
Depend
@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, then 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 according 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 |
Slot Details
endVersion
equals
fromStr
hash
virtual override Int hash()
Return a hash code based on the normalized string representation.
isPlus
isRange
isSimple
match
name
Str name()
Get the pod name of the dependency.
size
Int size()
Get the number of version constraints. There is always at least one constraint.
toStr
virtual override Str toStr()
Get the normalized string format of this dependency. Normalized dependency strings do not contain any optional spaces. See class header for specification of the format.