Skip to main content
Jump to: navigation, search

Tycho/eclipse-repository

The packaging type eclipse-repository is Tycho's packaging type for aggregating content into a p2 repository (aka. "update site"). It can also be used for building Eclipse/RCP application distributions.


Source files

The following source files are taken into account in eclipse-repository projects:

  • category.xml (optional): Selects features for the p2 repository and specifies how to categorize them in the p2 installation dialog.

    Example:

    <?xml version="1.0" encoding="UTF-8"?>
    <site>
       <feature id="mytool.addon.feature" />
       <feature id="mytool.feature">
          <category name="mytool.category.id"/>
       </feature>
       <category-def name="mytool.category.id" label="My Tool">
          <description>
             My Eclipse tool built with Tycho
          </description>
       </category-def>
    </site>
    
    With this category.xml, the features mytool.addon.feature and mytool.feature would be included into the p2 repository. mytool.feature would be shown in the category "My Tool", and mytool.addon.feature in the automatically created category "Uncategorized".

    Editor support: category.xml files can be edited with the PDE's Category Manifest Editor.

  • <productName>.product (optional): Defines a product configuration, which contains the information needed to create an Eclipse or RCP application installation. The product configuration definition (and the content listed in it) is included in the p2 repository. See this usage scenario for how to also create a product installation in the build.

    Example:

    <?xml version="1.0" encoding="UTF-8"?>
    <?pde version="3.5"?>
    
    <product uid="mytool.product" id="org.eclipse.platform.ide" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
    
       <configIni use="default">
       </configIni>
    
       <launcherArgs>
          <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
       </launcherArgs>
    
       <features>
          <feature id="org.eclipse.platform"/>
          <feature id="mytool.feature"/>
          <feature id="mytool.addon.feature" installMode="root"/>
       </features>
    
       <configurations>
          <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
          <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
          <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
       </configurations>
    
    </product>
    

    This example product configuration would result in an Eclipse installation with the features org.eclipse.platform, mytool.feature, and mytool.addon.feature. The mytool.addon.feature would be marked as separately installed feature in the installation, so that it could be updated or uninstalled independently from the product.

    Editor support: product files can be edited with the PDE's Product Configuration Editor. Note that the installMode attribute is an extension of the product file format which is currently not supported by the PDE, so you may need to re-insert the attribute after having used the Product Configuration Editor.

  • <productName>.p2.inf (optional): p2 advice file for low-level customizations of the p2 metadata produced from the product file.

    Editor support: None. Only suitable for advanced users.


Build results

The main artifact of an eclipse-repository project is a zipped p2 repository.

TODO describe aggregation logic

Build steps

TODO list included goals with links to sitedoc

Usage scenarios

Creating Product Distributions

TODO copy from packaging types page

Copyright © Eclipse Foundation, Inc. All Rights Reserved.