I did some background reading on the list support to the package provider.
While I'm very pleased that you can now do package installations much faster, I'm concerned about the syntax. In particular, my concern is the way names and versions are mapped using a pair of Arrays instead of a more logical Hash map. I'd expect something like:
packages "group" do
list { "foo" => "1.0.0", "bar", => "2.1.7" }
end
Instead we got something like this:
package ["foo", "bar"] do
version ["1.0.0", "2.1.7"]
end
For reasonably short lists, this is fine, but once you get past 5 or so, having to iterate the lists by hand to match the name and version will become extremely difficult and error prone. If the above couldn't be done using the package provider, I'd suggest that a new resource should have been created instead so that the semantics could be better defined.
Best regards,
--Michael