[[packages]]
name = "pkg_a"
version = "2.0"
extras = {include = ["extra-1"], exclude = ["extra-2"]}
[[packages]]
name = "pkg_a"
version = "1.5"
extras = {include = ["extra-2"], exclude = ["extra-1"]}
[[packages]]
name = "pkg_a"
version = "1.0"
extras = {include = ["extra-1", "extra-2"]}
Well, @kapinga is right, so that kills the idea as-is. One possible way to tweak this is to make it three keys: any
, all
, and exclude
:
[[packages]]
name = "pkg_a"
version = "2.0"
extras = {any = ["extra-1"], exclude = ["extra-2"]}
[[packages]]
name = "pkg_a"
version = "1.5"
extras = {any = ["extra-2"], exclude = ["extra-1"]}
[[packages]]
name = "pkg_a"
version = "1.0"
extras = {all = ["extra-1", "extra-2"]}
Does that cover all necessary cases? Another option is to have only
and simply be more verbose.