-
Notifications
You must be signed in to change notification settings - Fork 0
Using Eclipse with JRuby Truffle
This is an experiment, mainly to have a much better feedback from the Truffle annotation processor and ideally much faster compile time!
Create a new workspace in Eclipse (>= Luna).
Start by ensuring there is no leftover configuration:
$ rm -rf core/.classpath core/.settings core/.projectWe can now import the project:
- From the main menu bar, select
File>Import... - Select
Maven>Existing Maven Projects - Select
jruby/coredirectory as root directory (NOT just jruby) - Click
Finish
And now enable the Truffle annotation processor:
- From the main menu bar, select
Project>Properties - Select
Java Compiler>Annotation Processing - Click on
Enable project specific settings, thenOK - Click
Yesto rebuild the project.
You shall be set!
You might want to change the Output folder in Java Build Path so it is better separated from the Maven compilation process.
It is possible to run JRuby with a run configuration for org.jruby.Main.main().
Further integration is under investigation.
Be sure to have the project built before with mvn.
Maven can be used to generate Eclipse project files:
mvn eclipse:eclipseCreate a new workspace in Eclipse, outside the jruby directory (otherwise Eclipse complains about overlapping dirs).
We need to set the path to your Maven repository (usually ~/.m2/repository):
- From the menu, select Window > Preferences
- In the search field type
Classpath Variables - Click on
Newand enter the variable name:M2_REPO - Click on
Folder...and select your home, then.m2thenrepository
We can now import the project:
- From the main menu bar, select
File>Import... - Select
General>Existing Projects into Workspace - Enter the jruby directory in root directory
- Click
Finish
Close the jruby-tests project since the setup is wrong for now.
There are some for now unsolved errors in JRuby generated files, so in the Package Explorer,
open target/generated-sources, then right click on org.jruby and select Build Path > Exclude.
Now it should start to work to some extent!