发布于 2013-08-06 14:16:31
p2董事应用程序可以选择列出或查询给定p2存储库的内容。使用-list,您可以获得所有单元,而使用-list Q:<p2 QL collection query>,您可以查询一个子集。
表达式需要是集合查询,因此,您需要使用等效的集合查询,而不是上面给出的示例中的匹配查询。另外,像$1这样的占位符必须被实际值替换。
示例:在Juno发布的列车存储库中查找所有org.eclipse.sdk.ide单元的命令行为
eclipse -application org.eclipse.equinox.p2.director \
-repository http://download.eclipse.org/releases/juno \
-list 'Q:everything.select(x | x.id == "org.eclipse.sdk.ide")'作为一个更有用的示例,您可以使用此命令查找p2用户界面中显示在类别中的所有单元(尽管我不会尝试大型存储库,但查询似乎相当缓慢):
eclipse -application org.eclipse.equinox.p2.director \
-repository <URL of some small repository> \
-list 'Q:everything.select(y | everything.select(x | x.properties ~= filter("(org.eclipse.equinox.p2.type.category=true)")).collect(x | x.requirements).flatten().exists(r | y ~= r))'https://stackoverflow.com/questions/18082719
复制相似问题