Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EPP/Obsolete/Wizard/RepositorySetup"

(Overview: added image)
(P2 metadata repository generation)
Line 3: Line 3:
  
 
== Overview ==
 
== Overview ==
The EPP P2 wizard installer is basically a standard P2 installer ([[Equinox_p2_Installer]]) configured to work in conjunction with a specially generated EPP metadata repository. This metadata is generated from EPP P2 wizard eppmodel.xml and contains all the features (i.e. Installable Units, IUs) available in the wizard. These IUs refer to IUs in a secondary "classic" Metadata Repository. The IUs in this Metadata Repository contain references to the actual artifacts in the artifact repository. That means that in total at least two metadata repositories and one artifact repository are required.
+
The EPP P2 wizard installer is basically a standard P2 installer ([[Equinox_p2_Installer]]) configured to work in conjunction with a specially generated EPP metadata repository. This metadata is generated from EPP P2 wizard eppmodel.xml and contains all the features (i.e. Installable Units, IUs) available in the wizard. These IUs refer to IUs in a secondary "classic" Metadata Repository. The IUs in this Metadata Repository contain references to the actual artifacts in the artifact repository. That means that in total at least two metadata repositories and one artifact repository are required. For deployment on eclipse.org the "classic" repositories should probably be "http://download.eclipse.org/eclipse/updates/3.4/,http://download.eclipse.org/releases/ganymede/".
 
[[Image:Epp_wizard_repositories.png]]
 
[[Image:Epp_wizard_repositories.png]]
  
== Classic repository generation ==
+
== EPP repository generation ==
The classic repository can be generated following the instructions on [[Equinox_p2_Metadata_Generator]]. This will create a standard P2 repository site from a set of bundles or an udpate site.
+
The epp p2 metadata repository is basically just an aggregation of IUs. This makes IU component maintenance easier for the respective maintainers because the IUs are decoupled and can be edited and replaced independently. The wizard itself uses that same repository to obtain the component information, with the eppmodel.xml only providing structural information (i.e. what component is in which group on which page of the wizard). This enforces a separation of concerns (content vs. presentation) and makes maintenance much easier for all involved parties.
  
==EPP repository generation ==
+
=== Automatic IU generation for EPP packages ===
The EPP metadata repository is created with a special variant of the standard metadata generator in the project org.eclipse.epp.p2.generator. This application should be supplied with the following arguments (note that the %% variables are only placeholders, and should be replaced with actual paths):
+
  
-base %CLASSIC_REPOSITORY_PATH%
+
The existing Package definitions (cf. [[../../Configuration File Format]]) created and used by the EPP can be transformed into IU definition files that can be consumed by the metadata generator to produce installer packages almost identical to the traditional "standard" package files. There currently exists a proof-of-concept implementation that performs such a transformation using xslt.
-features %PATH_TO_EPPMODEL.XML%
+
-metadataRepository %DESTINATION_PATH%
+
 
+
This will create the EPP metadata repository referencing the classic repository.
+
Installer configuration
+
The final step is to setup the installer to use repositories created in the above steps.
+
Note that the file p2installer.ini should not set the system property org.eclipse.equinox.p2.installDescription, and use the locally provided installer.properties file.
+
This file contains the information about what to install from where and should look like this:
+
 
+
eclipse.p2.roots=${roots}
+
eclipse.p2.metadata=%EPP_REPOSITORY%,%CLASSIC_REPOSITORY%
+
eclipse.p2.artifacts=%CLASSIC_REPOSITORY%
+
eclipse.p2.flavor=tooling
+
eclipse.p2.profileName=${profileName}
+
eclipse.p2.launcherName=eclipse
+
eclipse.p2.autoStart=true
+
 
+
The ${} placeholders will be filled in by the installer builder, the roots property denotes which IUs to install. The %% placeholders are setup dependent and should point to the repositories created above, usually with a publicly accessible URL (i.e. http://downloads.eclipse.org/etc...)
+

Revision as of 04:19, 29 August 2008

EPP P2 Wizard Repository Setup

This document describes how to setup Equinox P2 repositories for use by the EPP P2 wizard installer. For terminology refer to Equinox_p2_Concepts and Provisioning_Terminology.

Overview

The EPP P2 wizard installer is basically a standard P2 installer (Equinox_p2_Installer) configured to work in conjunction with a specially generated EPP metadata repository. This metadata is generated from EPP P2 wizard eppmodel.xml and contains all the features (i.e. Installable Units, IUs) available in the wizard. These IUs refer to IUs in a secondary "classic" Metadata Repository. The IUs in this Metadata Repository contain references to the actual artifacts in the artifact repository. That means that in total at least two metadata repositories and one artifact repository are required. For deployment on eclipse.org the "classic" repositories should probably be "http://download.eclipse.org/eclipse/updates/3.4/,http://download.eclipse.org/releases/ganymede/". Epp wizard repositories.png

EPP repository generation

The epp p2 metadata repository is basically just an aggregation of IUs. This makes IU component maintenance easier for the respective maintainers because the IUs are decoupled and can be edited and replaced independently. The wizard itself uses that same repository to obtain the component information, with the eppmodel.xml only providing structural information (i.e. what component is in which group on which page of the wizard). This enforces a separation of concerns (content vs. presentation) and makes maintenance much easier for all involved parties.

Automatic IU generation for EPP packages

The existing Package definitions (cf. EPP/Obsolete/Configuration File Format) created and used by the EPP can be transformed into IU definition files that can be consumed by the metadata generator to produce installer packages almost identical to the traditional "standard" package files. There currently exists a proof-of-concept implementation that performs such a transformation using xslt.

Back to the top