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