Jump to: navigation, search

EPP/Galileo Packages

< EPP
Revision as of 12:31, 16 December 2009 by Remysuen.ca.ibm.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Overview

  • All EPP Packages for the Galileo release are build from p2 repositories with the p2 director.
  • Every package is defined by
    • a feature
    • a branding plug-in
    • a epp.product file that is used to generate the EPP p2 repository
    • a eclipse_PACKAGENAME_galileo.xml file (the old EPP config file) that is used for generating the website only.
  • EPP p2 composite repository with all milestones and release candidates: http://download.eclipse.org/technology/epp/packages/galileo/

p2 Repositories

EPP uses the following p2 repositories:

Package Definition

All EPP consists of two projects that are available from the EPP CVS. Changes should be requested by submitting a bug in bugzilla with an attached patch.

cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/technology checkout -P org.eclipse.epp/packages

Feature org.eclipse.epp.package.PACKAGENAME.feature

  • eclipse_PACKAGENAME_galileo.xml: This file is the old EPP configuration file. It is only used to drive the website and contains the name, description, links to bugzilla, name of the maintainer, links to new and noteworthy, etc. The content of the package is not defined in this file (see feature.xml)!
  • epp.product: Product configuration file that is used to generate the p2 repository which can be used by the p2 director to build the final package.
  • feature.xml: See the examples in CVS. This file contains the branding plug-in and defines the content of the package [currently] in the "requires" section of the feature definition, e.g.
<requires>
  <import feature="org.eclipse.cvs" version="1.1.0" match="greaterOrEqual"/>
  <import feature="org.eclipse.equinox.p2.user.ui" version="1.1.0" match="greaterOrEqual"/>
  <import feature="org.eclipse.help" version="1.1.0" match="greaterOrEqual"/>
  ...

Plug-in org.eclipse.epp.package.PACKAGENAME

  • plugin_customization.ini: Among other things a package can specify it default perspective in here:
org.eclipse.ui/defaultPerspectiveId=org.eclipse.jdt.ui.JavaPerspective
  • plugin.xml: This is used to specify the product and all properties that are necessary for the product:
<plugin>
  <extension
      id="product"
      point="org.eclipse.core.runtime.products">
    <product
        application="org.eclipse.ui.ide.workbench"
        description="The EPP Pulsar Package."
        name="EPP Pulsar Package">
...

Local Package Build

A local package build is the same as running the p2 director on the above p2 repositories and installing special root IU's from the repositories. Available root IU's: epp.package.cpp, epp.package.java, epp.package.jee, epp.package.modeling, epp.package.php, epp.package.pulsar, epp.package.rcp, epp.package.reporting.

Using the eclipse.org repositories

IMPORTANT: Use Eclipse 3.5 and use a operating system with a filesystem that knows about access rights, executable bits and case sensitive directory and file names.

eclipse -nosplash -consoleLog \
-application org.eclipse.equinox.p2.director \
-m http://download.eclipse.org/releases/staging/,http://download.eclipse.org/technology/epp/packages/galileo/ \
-a http://download.eclipse.org/releases/staging/,http://download.eclipse.org/technology/epp/packages/galileo/ \
-installIU epp.package.cpp \
-destination /tmp/epp/eclipse \
-profile epp.package.cpp \
-flavor tooling \
-profileProperties org.eclipse.update.install.features=true \
-bundlepool /tmp/epp/eclipse \
-p2.os linux -p2.ws gtk -p2.arch x86_64 \
-roaming -vmargs -Declipse.p2.mirrors=false -Declipse.p2.data.area=/tmp/epp/eclipse/p2

This command will install the CPP package with the root IU epp.package.cpp for the platform linux/gtk/x86_64 into the directory /tmp/epp/eclipse.

Using a local repository generated from the .product file

  • Use the PDE product editor and use the Eclipse Product Export Wizard to export the product to some place on your disk
    • Make sure that you enable 'Generate metadata repository'
  • Replace the EPP repository in the above command with your local repository, e.g. file:///tmp/...