Jump to: navigation, search

EPP/MPC/Contributor Guide

< EPP‎ | MPC
Revision as of 05:35, 1 March 2011 by BCabe.sierrawireless.com (Talk | contribs)

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

Bugs

Issues are tracked in Bugzilla (MPC project).

Obtaining Sources

git clone git://git.eclipse.org/gitroot/mpc/org.eclipse.epp.mpc mpc

Building

MPC is built using Ant, Maven 3 (>= alpha-5) and Tycho.

  • Building bundles:
[~/mpc] $ mvn clean install
[INFO] Scanning for projects...
...
  • Building an update site:
[~/mpc] $ mvn -f org.eclipse.epp.mpc.releng/pom.xml package
[INFO] Scanning for projects...
...
  • Building a release
[~/mpc/org.eclipse.epp.mpc] $ ant dist
[INFO] Scanning for projects...

Accessibility

MPC does not do any accessibility work or testing at the moment and the degree of compliance to accessibility standards is unknown.

More information:

API

Following the lead of the Eclipse Platform, MPC makes a very clear distinction between API and internals, placing the latter in packages in the org.eclipse.epp.internal namespace. In order to support experimentation, all internal packages are exported. However, they are marked x-internal:=true, which means that Eclipse will inform you with warnings when you are using internals.

If you are using internals in your integration, the burden of maintenance is placed entirely on your integration, since the project only guarantees no breakage of internal classes between minor releases, and these are likely to change in future major releases. Some tips for using internals:

  • Check if there is API that you could use to achieve the same thing.
  • File a bug report stating that you would like the internals to become API.
  • Create a test case that exercises the API and/or internals that you use. This is the only way of ensuring that the behavior you are relying on won't change down the road.

Coupling to internals

In order to provide an integrated install work flow MPC relies on P2 internals as some of the P2 UI components are not available as API. MPC also builds on p2 Discovery which currently does not provide APIs.

Marketplace REST API

Please see the Marketplace/REST

Testing

MPC provides an AllTests JUnit test suite in the org.eclipse.epp.mpc.tests plug-in. If not familiar with running PDE JUnit tests, refer to the Eclipse Documentation.

Distribution

Integration builds against the master branch are provided on a nightly basis and available from build.eclipse.org. Nightly builds are only retained until the next build becomes available. Release versions are listed on the download page. Versions older than one year are archived on a regular basis and download URLs may change from download.eclipse.org to archive.eclipse.org.

Capabilities

MPC does not currently provide a plug-in with capability definitions since the only UI contributions are an entry on the welcome page and an item in the help menu. If integrators wanted to provide an activity for MPC the following extension can be used as an example:

<extension
    point="org.eclipse.ui.activities">
  <activity
      id="org.eclipse.epp.mpc.capabilities.Marketplace"
      name="Marketplace"/>
  <activityPatternBinding
      activityId="org.eclipse.epp.mpc.capabilities.Marketplace"
      pattern="org\.eclipse\.epp\.mpc\..*/.*"/>
  <defaultEnablement
      id="org.eclipse.epp.mpc.capabilities.Marketplace"/>
</extension>

Usability

MPC follows the [Eclipse User Interface Guidelines]. Compliance is verified through public UI reviews.

Performance

MPC does not have any performance tests at the moment.