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 "Recommenders/BuildingFromSource"

m (Troubleshooting)
m (Building with Maven Tycho)
Line 24: Line 24:
  
 
* '''e3x''': Builds Code Recommender with Eclipse 3.x target platform. A consumable P2 update site is generated under dist/org.eclipse.recommenders.head.e37/target/repository/
 
* '''e3x''': Builds Code Recommender with Eclipse 3.x target platform. A consumable P2 update site is generated under dist/org.eclipse.recommenders.head.e37/target/repository/
* '''e42''': Builds Code Recommender with Eclipse 4.2 target platform. A consumable P2 update site is generated under dist/org.eclipse.recommenders.head.e37/target/repository/
+
* '''e42''': Builds Code Recommender with Eclipse 4.2 target platform. A consumable P2 update site is generated under dist/org.eclipse.recommenders.head.e42/target/repository/
* '''server''' Builds Code Recommender server product. A product zip file is stored under /dist/org.eclipse.recommenders.product.server/target/products/
+
 
* '''build-server''': This profile is considered to be run on the hudson.eclipse.org only. Running it locally won't work.
 
* '''build-server''': This profile is considered to be run on the hudson.eclipse.org only. Running it locally won't work.
  
Sidenote: It's possible to specify more than one profile at the same time using a comma separated list as in "-P e3x,server". Note, that there is no whitespace between the profiles. Note further that e3x and e42 are mutually exclusive since they specify the build environment using target definition files.
+
Sidenote: It's possible to specify more than one profile at the same time using a comma separated list as in "-P e3x,build-server". Note, that there is no whitespace between the profiles. Note further that e3x and e42 are mutually exclusive since they specify the build environment using target definition files.
  
 
= Building from Eclipse Workspace  =
 
= Building from Eclipse Workspace  =

Revision as of 00:09, 25 April 2012

Building Eclipse Code Recommenders from sources should be pretty easy. If some of the steps below fail - let us know.

Build Prerequisites

On your development machine, you should have installed/use:

  • Eclipse 3.7+:
    • Plug-in Developer package (you need the plugin development environment)
    • Xtend 2.2+ Plug-ins (only needed when writing tests with Xtend)
  • command line:
    • Maven 3.0+

Building with Maven Tycho

$ git clone http://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git
$ cd org.eclipse.recommenders
$ mvn clean install

mvn clean install automatically executes the maven builds for Eclipse 4.2 platform. If you want to build Code Recommenders for 3.7 just use

$ mvn clean install -P e3x

A list of defined maven profiles you can specify with -P:

  • e3x: Builds Code Recommender with Eclipse 3.x target platform. A consumable P2 update site is generated under dist/org.eclipse.recommenders.head.e37/target/repository/
  • e42: Builds Code Recommender with Eclipse 4.2 target platform. A consumable P2 update site is generated under dist/org.eclipse.recommenders.head.e42/target/repository/
  • build-server: This profile is considered to be run on the hudson.eclipse.org only. Running it locally won't work.

Sidenote: It's possible to specify more than one profile at the same time using a comma separated list as in "-P e3x,build-server". Note, that there is no whitespace between the profiles. Note further that e3x and e42 are mutually exclusive since they specify the build environment using target definition files.

Building from Eclipse Workspace

Configuring Eclipse Code Recommenders Workspace for Eclipse is slightly more complicated:

On command line do:

$ git clone http://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git
$ cd org.eclipse.recommenders
$ mvn clean install

This is currently required once to download the models archive for override completion.

Then,

  1. Import all projects into your Eclipse workspace.
  2. Set workspace encoding to UTF-8.
  3. Set the workspace's target platform:
    1. Go to etc/targets/
    2. Open 'e37-devel.target' target definition with target platform editor. For developing for Eclipse 4.2 just use 'e42-devel.target' instead.
    3. Wait until Eclipse resolved all dependencies. Check the progress view to see when resolving finished.
    4. Now click on the 'Set as target platform' link on the upper right corner of the editor.
  4. Wait until workspace is rebuild and all compile errors went away (maybe except from a few projects)
  5. Done. Start a new Eclipse runtime and trigger code completion on some Eclipse UI classes. The screenshot below gives a feature-based runtime configuration for Eclipse 3.7. Use that as starting point for your own configuration.

Example Confoguration w/ Eclipse 3.7

Troubleshooting

If anything does not work as expected, report it to http://eclipse.org/forums/eclipse.recommenders. We are glad to lend a hand to get the build working for you.


Additional Notes

After setting the target platform, there will be several projects projects which will still contain compile errors. *.fixture* projects contain test scenarios for code completion and don't compile "per construction". Some test and plug-in projects (e.g., codesearch.rcp, udc.rcp, and completion.rcp.templates) haven't been migrated to the latest e4.2 infrastructure yet. But you shouldn't care too much about them.

Back to the top