Jump to: navigation, search

Common Build Infrastructure/Update Site

By default, all the features built by PDE will be exposed on your p2 repo / update site in a single default category.

However, it's possible that you may have nested features and do not need to expose them all, or you may want more than one category.

So, to control what features will be seen in the Update UI, you can use a category.xml file to define a template for your site.xml. Here's an example:

<?xml version="1.0" encoding="UTF-8"?>
<site pack200="true">
	This template will expand any embedded Ant properties using <expandproperties/>
	For any feature id="org.eclipse.foo", set version="${org.eclipse.foo.version}" and
	if "${buildAlias}" == "${buildID}"
		${category.name} == "${zipPrefix} ${version} ${buildID}"
		${category.name} == "${zipPrefix} ${buildAlias} ${buildID}"
        <!-- ${category.name} -->
        <category-def label="${category.name}" name="${category.name}">
${category.name}: contains individual runtimes and an all-in-one feature (runtimes, sources, docs, and examples).
        <feature id="org.eclipse.gef.all" version="${org.eclipse.gef.all.version}" url="features/org.eclipse.gef.all_${org.eclipse.gef.all.version}.jar" patch="false">
                <category name="${category.name}"/>
        <feature id="org.eclipse.draw2d" version="${org.eclipse.draw2d.version}" url="features/org.eclipse.draw2d_${org.eclipse.draw2d.version}.jar" patch="false">
                <category name="${category.name}"/>
        <feature id="org.eclipse.gef" version="${org.eclipse.gef.version}" url="features/org.eclipse.gef_${org.eclipse.gef.version}.jar" patch="false">
                <category name="${category.name}"/>
        <feature id="org.eclipse.zest" version="${org.eclipse.zest.version}" url="features/org.eclipse.zest_${org.eclipse.zest.version}.jar" patch="false">
                <category name="${category.name}"/>

With only 4 features exposed, the result is as follows: