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.

However, it's possible that you may have nested features and do not need to expose them all. 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
		url="features/org.eclipse.foo_${org.eclipse.foo.version}"
 
	if "${buildAlias}" == "${buildID}"
		${category.name} == "${zipPrefix} ${version} ${buildID}"
	else	
		${category.name} == "${zipPrefix} ${buildAlias} ${buildID}"
	-->
 
        <!-- ${category.name} -->
        <category-def label="${category.name}" name="${category.name}">
                <description>
${category.name}: contains individual runtimes and an all-in-one feature (runtimes, sources, docs, and examples).
                </description>
        </category-def>
 
        <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>
 
        <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>
        <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>
        <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}"/>
        </feature>
</site>