aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-10-18 07:05:43 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-06 07:39:33 +0200
commit6bb79ef033c2a2e8f12c9da6409e3547af40417c (patch)
tree6fe6c5bea99cc0b38af92a7aa4714e5614de4868 /README.md
parent4e38f2af2b97850ec5b395d4e0ea8310e664e52f (diff)
Use ranges for dependency version
Diffstat (limited to 'README.md')
-rw-r--r--README.md22
1 files changed, 19 insertions, 3 deletions
diff --git a/README.md b/README.md
index d2159b9..2166be0 100644
--- a/README.md
+++ b/README.md
@@ -118,7 +118,7 @@ Required
### type
Required. Should be one of: "executable", "static", "dynamic", "library"
### version
-Required. Version string has to be in the format of "xxx.yyy.zzz" where xxx is major, yyy is minor and zzz is patch
+Required. Version string has to be in the format of "xxx.yyy.zzz" where xxx is major, yyy is minor and zzz is patch. Version format is based on [semver 2.0.0](https://semver.org/spec/v2.0.0.html)
### platforms
Required. A list of platforms the package supports. Can contain the following values: "any", "posix", "posix32", "posix64", linux", "linux32", "linux64", "win", "win32", "win64", "macos32", "macos64", "bsd", "openbsd", "openbsd32", "openbsd64", "haiku", "haiku32", "haiku64".
If platforms contains "any" then there is no need to specify other platforms
@@ -126,8 +126,24 @@ If platforms contains "any" then there is no need to specify other platforms
Optional. A list of authors
## dependencies
Optional. A list of dependencies which are specified in name-value pairs where the name is the name of the dependency, which should match the dependency name under the packages name specified in its project.conf file.
-Currently, the value is the version and has to be an exact match for the package version, which is specified in the dependencies project.conf file.
-This will later change and you should be able to choose minimum version and range of versions.
+The value should be a version string, which specified the range of versions that you want to accept as a dependency to only allow dependency version that has the features you need and the version which hasn't changed its interface.
+These are examples of the version string format:
+```
+# Version 1.0.0 or above and less than 2.0.0, same as >=1.0.0 and <2.0.0
+1.0.0
+# Version 1.0.0 or above
+>=1.0.0
+# Version above 1.0.0
+>1.0.0
+# Version exactly 1.0.0
+=1.0.0
+# Version less than 1.0.0
+<1.0.0
+# Version 1.0 or above but less than 2.0
+1.0 and <2.0
+# Version above 1.0 but less or equal to 1.3.2
+>1 and <=1.3.2
+```
Dependencies are automatically choosen from system (linux, mac) or if no package manager exists, then it's download from an url (see https://gitlab.com/DEC05EBA/sibs_packages).
The dependency can also be a git project, in which case it will have the fields 'git' and optionally 'branch' and 'revision'.
'git' specifies the url to the git repository, 'branch' is the git branch that should be used - defaults to 'master'.