# Building plug-ins / bundles

In order to build plug-ins, bundles or fragments, PDE build requires that you create a feature listing all the elements to be built. In this case the feature is only used to drive the build and will not be present in the final archive nor will it force you to use update sites.

A feature used to drive a plug-in build is a standard feature. What makes it different is that its build.properties file does not contain the property `bin.includes`. It is possible to automatically generate a feature containing the plug-ins you wish to build. This lets you build your plug-ins without requiring you to maintain a feature. See the eclipse.generateFeature task and the Customizing a Headless Build page.
Example:

    build.properties:  topLevelElementId = acme.build.feature
    customTargets.xml :
    	<target name="preSetup">
    		<eclipse.generateFeature
    			featureId="acme.build.feature"
    			buildDirectory="${buildDirectory}"
    			baseLocation="${baseLocation}"
    			productFile="${product}"
    			verify="false"
    			pluginPath="${pluginPath}"
    			configInfo="${configs}"
    			pluginList="acme.plugin.A,acme.plugin.B"
    			featureList="${featureList}"
    			includeLaunchers="false"
    		/>
    	</target>

Once you have created the feature to drive the build, follow the instructions on building features.