F4 is Eclipse-based IDE for the Fantom programming language, which is has been (mostly) written in Fantom using F4 itself.
F4 is based on Eclipse v4.9 2018-09 with Dynamic Languages Toolkit (DLTK) v5.10.
Pre-compiled installations of F4 may be downloaded from the GitHub Releases Tab or (older versions) from the Xored website.
F4 is built for the Intel architechure - but can still be used on Apple Silicon.
To run on a Mac:
- ensure Java 8 is on the path
- Extract the lastest release using Terminal
cd
to<f4-path>/F4.app/Contents/MacOS
andchmod 555 F4
- Run
./F4
to bring up a securiry warning. Go to "Security & Prefrences" and allow this app to run using Finder - Click on F4 icon located in
<f4-path>/F4.app/
The default eclipse colours for Dark Mode are pretty poor, but are easy enough to change.
Most eclipse plugins are compiled Fantom pods so, interestingly, F4 can only be developed and built with F4!
To setup a development environment to build and run F4:
- Install eclipse v4.9 2018-09 - choose the RCP package so you have eclipse SDK source
- Install DLTK 5.10 in eclipse using the Update Site
- Install F4 features from the Update Respository - see
f4-1.1.10-repository.zip
in releases - Clone the Fantom Runtime repository and import all projects
- Clone this F4 IDE repository and import all projects
Now you can now modify the F4 source code and launch a new verison of F4 by running com.xored.f4.platform.ide
as an eclipse application.
The dev environment often needs some love to ensure success, I find these hints help:
-
Use an Open JDK / Java 1.8 to run and compile eclipse / F4.
-
Update
eclipse.ini
to point to your JDK of choice and increase the max memory usage:-vm C:/Apps/Java/openjdk-1.8.0.161/bin -startup plugins/org.eclipse.equinox.launcher_1.5.100.v20180827-1352.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.800.v20180827-1352 -showsplash com.xored.f4.platform -vmargs -Xms512m -Xmx16384m -XX:MaxPermSize=4096m
-
Eclipse Oomh likes to savage your clean vanilla system with unwanted updates to your preferences. Disable it by going to
Window -> Preferences -> Oomph -> Setup tasks
and tickingSkip automatic task execution at startup time
. Then reset your preferences, then restart eclipse. -
Important: Delete
f4launch.pod
from the default Fantom interpreter - hunt it down in the file system. You're likely to get cyclic project dependency errors if you don't.
Maven is used to package F4, and has been tested with Maven 3.3.9.
Eclipse is used to build all the pods and jars. The Maven build just assembles it all into a executables and Eclipse update repositories.
- Run
mvn clean package
in the root directory of theFantom Runtime
project. - Modify
pom.xml
in the F4 project to point to the newly built runtime. - Run
mvn clean package
in the root directory of theF4
project.
Steps 1 & 2 only need to be done the once.
Step 3 builds F4 as standalone product.
An eclipse update site .zip
will be assembled the /repository/target/
folder and full installation products may be found under /product/target/products/
.
Tip - use mvn -o clean package
to run offline builds.
Run mvn clean verify
in the project root to run RCPTT tests.