Jump to: navigation, search

Difference between revisions of "Common Build Infrastructure/Update Site"

Line 1: Line 1:
By default, all the features built by PDE will be exposed on your p2 repo / 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 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 [[Equinox_p2_Update_UI_Users_Guide|Update UI]], you can use a category.xml file to define a template for your site.xml. Here's an example:
 
So, to control what features will be seen in the [[Equinox_p2_Update_UI_Users_Guide|Update UI]], you can use a category.xml file to define a template for your site.xml. Here's an example:

Revision as of 01:55, 5 June 2009

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
		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>

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

AthenaCBI-ControlUpdateSiteWithCategoryXML.png