@@ -11,21 +11,23 @@ annotation processing which cause the incremental build to fail regularly and
11
11
need a full rebuild. For these reason, we recommend
12
12
[ IntelliJ] ( using-intellij.md ) nowadays.
13
13
14
- ## Build TruffleRuby
14
+ ## Basic Setup
15
+
16
+ ### Build TruffleRuby
15
17
16
18
First, make sure the project is already built from the command line:
17
19
18
20
``` bash
19
21
jt build
20
22
```
21
23
22
- ## Generate the Project Files
24
+ ### Generate the Project Files
23
25
24
26
``` bash
25
27
jt mx eclipseinit
26
28
```
27
29
28
- ## Import the Projects
30
+ ### Import the Projects
29
31
30
32
Create a new workspace in Eclipse (>= Luna).
31
33
@@ -41,9 +43,35 @@ There should be now 4 projects in your workspace:
41
43
* ` TRUFFLERUBY-TEST.dist `
42
44
* ` TRUFFLERUBY.dist `
43
45
44
- ## Running from the Eclipse Files Directly
46
+ ## Advanced Setup
47
+
48
+ ** Note:** This setup is not widely tested.
49
+
50
+ When building using specific env files, with ` JT_ENV ` or ` --env ` , mx will
51
+ need to be told about it explicitly. For instance:
52
+
53
+ ``` bash
54
+ jt mx --env jvm-ce eclipseinit
55
+ ```
56
+
57
+ When working on the Graal/Truffle code itself, adding the following two lines
58
+ to the used env file, for instance ` mx.truffleruby/jvm-ce ` will
59
+ configure the build so that incremental compilation and even hot code
60
+ replacement works:
61
+
62
+ ``` bash
63
+ MX_BUILD_EXPLODED=true
64
+ LINKY_LAYOUT=* .jar
65
+ ```
66
+
67
+ These settings must not be used for producing distributable artifacts, but
68
+ make development much smoother.
69
+
70
+ With these settings, after changes are made, one can simply run for instance
71
+ the following, without having to trigger a build again:
45
72
46
73
``` bash
47
74
jt ruby -e ' p Truffle'
48
75
Truffle
49
76
```
77
+
0 commit comments