Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Flux/Running Flux"

 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
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.
 
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.
  
 
+
=== Infrastructure ===
Infrastructure:
+
 
* Download RabbitMQ ([http://www.rabbitmq.com/download.html RabbitMQ download page])
 
* Download RabbitMQ ([http://www.rabbitmq.com/download.html RabbitMQ download page])
 
* Install and start RabbitMQ (for Mac, for example: [http://www.rabbitmq.com/install-standalone-mac.html Install and Run RabbitMQ on Mac])
 
* Install and start RabbitMQ (for Mac, for example: [http://www.rabbitmq.com/install-standalone-mac.html Install and Run RabbitMQ on Mac])
 
Once RabbitMQ is running, you can configure. This is used as the messaging backbone for Flux.
 
Once RabbitMQ is running, you can configure. This is used as the messaging backbone for Flux.
  
 
+
=== Flux node server ===
Flux node server
+
 
* you need node and npm installed on your machine ([http://nodejs.org/download/ Node.js])
 
* you need node and npm installed on your machine ([http://nodejs.org/download/ Node.js])
 
* run "npm install eclipse-flux"
 
* run "npm install eclipse-flux"
* run "npm start eclipse-flux"
+
* go to ~/node_modules/eclipse-flux
 +
* run "npm start"
 
You will see logging output appearing on the console.
 
You will see logging output appearing on the console.
  
 
+
=== Eclipse IDE integration ===
Eclipse IDE integration
+
 
* get your favorite Eclipse distribution ([https://www.eclipse.org/downloads/ Eclipse Downloads])
 
* get your favorite Eclipse distribution ([https://www.eclipse.org/downloads/ Eclipse Downloads])
 
* install the Flux integration via "Install New Software..." (Flux update site: [http://download.eclipse.org/flux/snapshots http://download.eclipse.org/flux/snapshots])
 
* install the Flux integration via "Install New Software..." (Flux update site: [http://download.eclipse.org/flux/snapshots http://download.eclipse.org/flux/snapshots])
After restarting your Eclipse IDE, there is a new context menu section called "Flux", which you can use to connect and disconnect projects to/from Flux.
+
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 ===
Orion Web UI
+
 
* open a browser at: http://localhost:3000/
 
* 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.
 
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 ===
Headless JDT service
+
 
* download the headless JDT that fits your platform:
 
* download the headless JDT that fits your platform:
 
** [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-macosx.cocoa.x86_64.tar.gz Mac 64bit]
 
** [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-macosx.cocoa.x86_64.tar.gz Mac 64bit]
 
** [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-win32.win32.x86.zip Win 32bit] [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-win32.win32.x86_64.zip Win64bit]
 
** [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-win32.win32.x86.zip Win 32bit] [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-win32.win32.x86_64.zip Win64bit]
 
** [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-linux.gtk.x86.zip Linux 32bit] [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-linux.gtk.x86_64.zip Linux 64bit]
 
** [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-linux.gtk.x86.zip Linux 32bit] [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.headless-linux.gtk.x86_64.zip Linux 64bit]
 +
* extract that package somewhere on your drive
 +
 
* download the headless JDT service manager
 
* download the headless JDT service manager
 
** [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.jdt.service.provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar Headless JDT Service Manager as a single JAR]
 
** [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.jdt.service.provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar Headless JDT Service Manager as a single JAR]
 +
* 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.
 +
* [http://download.eclipse.org/flux/snapshots/org.eclipse.flux.client.java-0.0.1-SNAPSHOT.jar Flux Java Client lib]
  
Flux Java Client library
+
You don't need this in order to run the prototype.
*
+

Latest revision as of 17:38, 4 March 2015

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.

Infrastructure

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

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

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 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.

Back to the top