Graal instructions for Eclipse + Checkstyle + Java7

Raffaello Giulietti raffaello.giulietti at
Mon Jan 25 08:44:53 UTC 2016

On 2016-01-24 20:24, Doug Simon wrote:
> Hi Raffaello,
>> On 22 Jan 2016, at 19:30, Raffaello Giulietti <raffaello.giulietti at> wrote:
>> Hi,
>> the Graal instructions for Eclipse
>> ( explain how to
>> import the projects in the $GRAAL folder into Eclipse (I think it is
>> denoted as the primary suite in mx terms).
>> However, they fail to mention that the sibling folders $GRAAL/../jvmci
>> and $GRAAL/../truffle should also be imported in the same vein.
>> Otherwise, Eclipse complains about 1000 and more missing dependencies.
> The instructions state:
> "3. Enter the parent of the $GRAAL directory in the Select root directory field"
> Note that it’s the *parent* of $GRAAL you need to select. The Eclipse import wizard will then see all the projects from siblings suites.

Oh, sorry, my fault: this escaped my attention.

>> Further, if the Checkstyle plugin is installed in Eclipse, it complains
>> about redundant private modifiers on many classes and marks them as
>> errors. Since Checkstyle is specified as builder in the meta-information
>> generated by "mx eclipseinit"
>> * it should be dropped from there (short-term quick'n'dirty solution)
>> * or the source code of the "misbehaving" classes be corrected
>> appropriately (mid-term clean solution)
> We are currently fixing these warnings. You can simply disable the Checkstyle Eclipse plugin until they are fixed. Problems like this with the Checkstyle Eclips plugin is why we removed it as a suggested plugin for Graal development a while ago.

Indeed, I disabled Checkstyle some time ago, but I like to inform the 
community of problems, just to let them fix for the benefit of everybody.

>> Finally, many Truffle projects still specify JavaSE-1.7 in their build
>> path. Eclipse signals these as warnings if Java 7 is not installed on
>> the system.
> Sorry, there’s not much that can be done that until Truffle changes its Java compliance level.

This is really a very minor annoyance, up to be unnoticeable.

But just for curiosity: what is the underlying reason for Truffle to 
still Require Java7 compliance level?
My understanding is that Truffle will pay only when it can exploit 
Graal, even if it can be used on the Java7 compilers. In other words, 
why would anybody wish to implement a language with Truffle on Java7 if 
the performance gains offered by Graal's partial evaluation and deep 
inlining are not available there?


More information about the graal-dev mailing list