# Configuring p2 Products

By default, PDE/Build will automatically generate start levels and other configuration information for you. It does this by generating properties into the p2.inf file. If your product provides its own p2.inf file, then PDE/Build will append to a copy of that file. It is possible to suppress this behaviour by defining some properties in your p2.inf:

`org.eclipse.pde.build.append` | Set to `false` to disable appending any defaults to the p2.inf file.
`org.eclipse.pde.build.append.startlevels` | Set to `false` to disable appending start level information to the p2.inf file.
`org.eclipse.pde.build.append.launchers` | Set to `false` to disable including launchers in the p2.inf file.

### Start Levels

Start level information can be set manually on the configuration tab of the product editor. If any start level information is set in the .product file, then PDE/Build will not generate any defaults. This means that if you decide to set any custom start levels, then you must set start levels for all bundles that will require them. The default start levels generated by PDE/Build for p2 products are:

Bundle | Start Level | Auto-Start
org.eclipse.equinox.simpleconfigurator | 1 | true
org.eclipse.equinox.common | 2 | true
org.eclipse.update.configurator | 4 (default) | true
org.eclipse.core.runtime | 4 (default) | true
org.eclipse.equinox.ds | 1 | true

When setting the start level for org.eclipse.update.configurator, PDE/Build will also automatically set In addition to these properties, `org.eclipse.update.reconcile=false`.

### Config.ini properties

The p2 product publisher used by PDE/Build will automatically set a number of config.ini properties based on settings in your .product file:

Property | Based On
`eclipse.product` | The product set on the overview tab of the product editor.
`eclipse.application` | The application set on the overview tab of the product editor.
`osgi.splashPath` | The plug-in set on the Splash tab of the product editor.

It is also possibly to add arbitrary config.ini properties to your .product file, however there is no tab the editor for this, so it must be done manually by editing the .product file as xml.

An example of setting properties this way would look like this:

    	...
    	<configurations>
    	   <-- The product editor will generate start level information like this:
    	   <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
    	   -->
    	   <property name="osgi.bundles.defaultStartLevel" value="4" />
    	   <property name="osgi.requiredJavaVersion" value="1.5.0"/>
    	</configurations>
    	...

### Launchers

PDE/Build will automatically brand launchers (which it gets from the org.eclipse.equinox.executable feature in the delta pack). These launchers will be automatically included in the product along with generated metadata that will set the appropriate -startup and --launcher.library arguments in the product ini file.

Because of changes to the structure of feature metadata with respect to root files, the org.eclipse.equinox.executable feature should not be included directly in your product.