A feature is a way of grouping and describing different functionality that makes up a product. Grouping plug-ins into features allows the product to be installed and updated using the Eclipse update server and related support.
Features do not contain any code. They merely describe a set of plug-ins that provide the functionality for the feature and information about how to update it. Features are packaged in a feature archive file and described using a feature manifest file, feature.xml. The following is the first part of the manifest for the platform feature:
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="org.eclipse.platform"
label="%featureName"
version="3.3.0"
provider-name="%providerName"
image="eclipse_update_120.jpg">
<description>
%description
</description>
<license url="%licenseURL">
%license
</license>
<url>
<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.3"/>
<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.3/">
</url>
<plugin
id="org.apache.ant"
download-size="0"
install-size="0"
version="1.6.1"/>
<plugin
id="com.jcraft.jsch"
download-size="0"
install-size="0"
version="0.1.31"
unpack="false"/>
...
</feature>