Expand on hard and soft requirements#105
Conversation
| Version requirements have the following syntax: | ||
|
|
||
| * <<<[1.0]>>>: "Hard" requirement on 1.0 | ||
| * <<<1.0>>>: "Soft" requirement on 1.0. Use 1.0 if no other version appears earlier in the dependency tree. |
There was a problem hiding this comment.
I feel "earlier" is not a good word to describe items in a tree data structure. I would delegate the case of duplicates to Dependency mediation in Maven doc
| * <<<1.0>>>: "Soft" requirement on 1.0. Use 1.0 if no other version appears earlier in the dependency tree. | ||
|
|
||
| * <<<(,1.0]>>>: x \<= 1.0 | ||
| * <<<[1.0]>>>: "Hard" requirement for 1.0. Use 1.0 and only 1.0, even if other versions come before this dependency in |
There was a problem hiding this comment.
I don't think you need "even if" clause. The word "before" assumes items in one sequence, but dependency is a tree, which would take additional explanation of level ordering.
|
|
||
| * <<<(,1.0]>>>: x \<= 1.0 | ||
| * <<<[1.0]>>>: "Hard" requirement for 1.0. Use 1.0 and only 1.0, even if other versions come before this dependency in | ||
| the tree. If multiple hard versions conflict, fail the build. |
There was a problem hiding this comment.
| the tree. If multiple hard versions conflict, fail the build. | |
| the tree. |
This is repeating line 415 If there are no versions of a dependency.... Not specific for the syntax [1.0].
|
|
||
| * <<<(,1.1),(1.1,)>>>: this excludes 1.1 (for example if it is known not to work in combination with this library) | ||
| * <<<(,1.0],[1.2,)>>>: Hard requirement for any version less than or equal to 1.0 than or greater than | ||
| or equal to 1.2, but not 1.1. Multiple requirements are comma-separated |
There was a problem hiding this comment.
| or equal to 1.2, but not 1.1. Multiple requirements are comma-separated | |
| or equal to 1.2, but not 1.1. Multiple hard requirements are comma-separated. |
I tried to combine a hard requirement and a soft requirement. It did not work.
| or equal to 1.2, but not 1.1. Multiple requirements are comma-separated | ||
|
|
||
| * <<<(,1.1),(1.1,)>>>: Hard requirement for any version except 1.1; for example because | ||
| it is known not to have a critical vulnerability. |
There was a problem hiding this comment.
| it is known not to have a critical vulnerability. | |
| the version is known to have a critical vulnerability. |
| * <<<[1.0,2.0)>>>: 1.0 \<= x \< 2.0; Hard requirement for any version between 1.0 inclusive and 2.0 exclusive. | ||
|
|
||
| * <<<(,1.0],[1.2,)>>>: x \<= 1.0 or x \>= 1.2; multiple sets are comma-separated | ||
| * <<<[1.5,)>>>: Hard requirement for any version greater than or equal to 1.5. |
There was a problem hiding this comment.
| * <<<[1.5,)>>>: Hard requirement for any version greater than or equal to 1.5. | |
| * <<<[1.5,)>>>: Hard requirement for any version \>= 1.5. |
Consistency with line 424 Hard requirement for any version \<= 1.0
|
thank you @elharo |
@hboutemy