Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Flux/Running Flux
This is a brief description how to run the Flux implementation locally. Since Flux is a highly decoupled and distributed system that is aimed at running in the cloud on different nodes and cloud regions, running Flux locally requires a number of individual components to be installed and run locally.
Contents
Infrastructure
- Download RabbitMQ (RabbitMQ download page)
- Install and start RabbitMQ (for Mac, for example: Install and Run RabbitMQ on Mac)
Once RabbitMQ is running, you can configure. This is used as the messaging backbone for Flux.
Flux node server
- you need node and npm installed on your machine (Node.js)
- run "npm install eclipse-flux"
- go to ~/node_modules/eclipse-flux
- run "npm start"
You will see logging output appearing on the console.
Eclipse IDE integration
- get your favorite Eclipse distribution (Eclipse Downloads)
- install the Flux integration via "Install New Software..." (Flux update site: http://download.eclipse.org/flux/snapshots)
After restarting your Eclipse IDE, there is a new context menu section called "Flux". The next step is to configure Flux:
- set host to "http://localhost:3000/"
- set GitHub user to "defaultuser"
- leave GitHub access token empty (this is used when running Flux with authentication enabled)
After that you have to restart Eclipse. Once the IDE is back up, you can use the Flux context menu to connect and disconnect projects.
Orion Web UI
- open a browser at: http://localhost:3000/
This gives you a simplified Orion web UI for navigating and working with the projects that are connected to Flux. Once you have the headless JDT service running on your machine (see below), the advanced features for Java like auto-completion as well as errors and warnings appear in the Orion code editor.
Headless JDT service
- download the headless JDT that fits your platform:
- extract that package somewhere on your drive
- download the headless JDT service manager
- to run the JDT service manager, go to the console and run:
- java -jar org.eclipse.flux.jdt.service.provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar
- include the following parameters:
- -app <path to the headless JDT package that you extracted above>
- -user defaultuser
For example:
java -jar org.eclipse.flux.jdt.service.provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar -app /Users/mlippert/dev/flux-test/jdtservice/org.eclipse.flux.headless-macosx.cocoa.x86_64 -user defaultuser
This runs the JDT service manager locally on your machine. It will spin-up multiple instances of the JDT service, as necessary, as separate JVM processes. The local workspaces for each instance of the JDT service will be created as "workspace-<magicalnumber>" in the headless JDT product location - if you want to take a look at those files.
The startup of an individual JDT service might take a while, so don't expect all those JDT features to be available right away after starting up the JDT service manager. It usually takes a while, especially for the JDT service to populate its workspace with the available projects and resolve their dependencies.
At the moment, m2e is included and therefore the headless JDT service is able to work with m2e projects, but beyond that, no other advanced project setups are supported yet.
Flux Java Client library
If you want to build your own Flux service, you can use the Flux Java client library to connect to Flux and to deal with the messages that Flux sends around.
You don't need this in order to run the prototype.