Tycho/category.xml
< Tycho
A category.xml file can be used to include content into a p2 repository and to specify how to display the content in the p2 installation dialog. For it to be used by a Tycho build, it needs to be placed into the root of an eclipse-repository project.
The category.xml format was originally defined by the Eclipse PDE project. There are extensions to the format only supported by p2 and Tycho.
Format overview
Stub category.xml file:
<?xml version="1.0" encoding="UTF-8"?> <site> <!-- Include features --> <feature id="feature.id" version="1.4.100.v2009"/> <!-- Since Tycho 1.1.0 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=407273#c18), features can declare platform-specific compatibility for multi-platform builds --> <!-- Examples: https://github.com/mickaelistria/org.eclipse.simrel.build/blob/master/categories/category.xml#L581 --> <feature id="linux.specific.feature.id" version="0.0.0" os="linux"/> <!-- Directly include bundles, without a feature --> <bundle id="bundle.id" version="1.3.1.v2013"/> <!-- Directly include any iu --> <iu id="unit.id"/> <!-- Include all IUs matching an expression --> <iu> <query> <expression type="match"> <![CDATA[ id == $0 ]]> </expression> <param>another.unit.id</param> </query> </iu> <!-- Categories --> <feature id="feature.in.category"> <category name="category.id"/> </feature> <category-def name="category.id" label="Category Label"> <description>Details on the category</description> </category-def> <!-- example for a dynamic category --> <category-def name="javax" label="Bundles starting with javax."/> <iu> <category name="javax"/> <query><expression type="match">id ~= /javax.*/</expression></query> </iu> </site>
Including artifacts
TODO details on feature, bundle, and iu (since Tycho 0.23.0) elements
Categorizing content
TODO details on category-def and category elements