Skip to main content

Setup the development environment for Openflexo using Intellij IDEA

In this article, you will learn how to get started in setting up a development environment for Openflexo infrastructure, using Intellij IDEA.

Gradle is now used as production tool for the whole Openflexo infrastructure.

1. Get Intellij, and configure your enviroment

As a preliminary phase, you should:

Components (development versions)    1.9.1        2.0.0        2.0.1        2.0.2        2.99        3.0.0        2.2.0    
Java versionJava 8Java 8Java 8Java 8Java 8Java 11Java 11
OpenflexoBuildConfig0.20.20.20.20.30.30.4 ? (modules)
OpenflexoBuildPlugin1.9.12.0.02.0.12.0.22.993.0.02.2.0
OpenflexoProduction0.50.50.50.50.50.50.5
Connie1.4.21.51.5.0.11.5.0.22.0.02.1.02.2.0
Pamela1.4.21.51.5.0.11.5.0.21.61.6.11.7 ?
Gina2.1.22.22.2.0.12.2.0.22.32.42.5 ?
Diana1.4.21.51.5.0.11.5.0.21.61.71.8 ?
OpenflexoUtils1.4.21.51.5.0.11.5.0.21.61.71.8 ?
OpenflexoCore1.9.12.0.02.0.12.0.22.993.0.02.2.0
TechnologyAdapters1.9.12.0.02.0.12.0.22.993.0.02.2.0
OpenflexoDiagramN/A2.0.02.0.12.0.22.993.0.02.2.0
OpenflexoOWLN/A2.0.02.0.12.0.22.993.0.02.2.0
OpenflexoEMFN/A2.0.02.0.12.0.22.993.0.02.2.0
OpenflexoHTTP1.9.12.0.02.0.12.0.22.993.0.02.2.0
OpenflexoJDBC1.9.12.0.02.0.12.0.22.993.0.02.2.0
OpenflexoKafka1.9.12.0.02.0.12.0.22.993.0.02.2.0
OpenflexoOBP2N/A2.0.02.0.12.0.22.993.0.02.2.0
OpenflexoRhapsodyN/A2.0.02.0.12.0.22.993.0.02.2.0
OpenflexoModules1.9.12.0.02.0.12.0.22.993.0.02.2.0
OpenflexoPackaging1.9.12.0.02.0.12.0.22.993.0.02.2.0
Modelers (optional)1.9.12.0.02.0.12.0.22.993.0.02.2.0
IntegrationTests (opt)1.9.12.0.02.0.12.0.22.993.0.02.2.0

 

2. Import Openflexo Developement Component

Click on File > New then choose Project from version control (VCS)

2-ImportOpenflexoDevelopement1

Fill the URI of the openflexo-dev repository which is: https://github.com/openflexo-team/openflexo-dev or ssh://git@github.com/openflexo-team/openflexo-dev.git and then click on Clone

2-ImportOpenflexoDevelopement2

Once the project is cloned on your local machine, open "settings.gradle" file then comment all the "includeBuild" lines then save it.

Open the build tab at the bottom of your Intellij, then click on the Reload Gradle Project icon on the left.

3. Import Connie component.

To import Connie project, we need to clone this repository: https://github.com/openflexo-team/connie

3-ImportConnie

A small window will pop, choose "Gradle project" then click OK

3-ImportConnie2

Another pop-up will ask you if you want to open the Connie project in your current Intellij window, or you can just choose "new window".

Now after you Connie project, you need to make sure you are using a compatible version with openflexo-dev.

3-ImportConnie3

From "Git" menu choose Branches..

3-ImportConnie4

Then choose the correct version (we are using 1.5.0.1 in this guide) then choose checkout

3-ImportConnie5

Once we perform a git checkout, Intellij should build our Connie project automatically.

3-ImportConnie6

Go to openflexo-dev "settings.gradle" file and uncomment "includeBuild '../connie'"

Go back to openflexo-dev project and perform a Reload Gradle project like we did earlier.

4. Import other components

In the same way you can import any other openflexo projects from the openflexo git repository. Project URIs are:

Note that the projects to import only depend on your needs. It is really rare that you need to modify all components of Openflexo infrastructure. You may develop on only one project. In this case, all other projects will be imported as jars from Openflexo artifactory.

Please also note that you always need to import OpenflexoBuildPlugin to be able to build any Openflexo component.

Branches to use should be consistent such as:

  • 1.9.1 infrastructure has been released on 2019
  • 2.0.0 infrastructure has been released on june 2020
  • 2.1.0 infrastructure is beeing under active development (FML textual syntax)
Components (development versions)    Branch 1.9.1        Branch 2.0.0        Branch 2.1.0    
OpenflexoBuildPlugin1.9.12.0.02.1.0
OpenflexoProduction0.50.50.5
Connie1.4.21.51.5.1
Pamela1.4.21.51.6
Gina2.1.22.22.2.1
Diana1.4.21.51.5.1
OpenflexoUtils1.4.21.51.5.1
OpenflexoCore1.9.12.0.02.1.0
TechnologyAdapters1.9.12.0.02.1.0
OpenflexoDiagramN/A2.0.02.1.0
OpenflexoOWLN/A2.0.02.1.0
OpenflexoEMFN/A2.0.02.1.0
OpenflexoHTTP1.9.12.0.02.1.0
OpenflexoJDBC1.9.12.0.02.1.0
OpenflexoKafka1.9.12.0.02.1.0
OpenflexoOBP2N/A2.0.02.1.0
OpenflexoRhapsodyN/A2.0.02.1.0
OpenflexoModules1.9.12.0.02.1.0
OpenflexoPackaging1.9.12.0.02.1.0
Modelers (optional)1.9.12.0.02.1.0
IntegrationTests (opt)1.9.12.0.02.1.0

 

Here are the former versions of infrastructure:

  • 1.9.0 infrastructure, released on october 2018
  • 1.8.1 released on 2017 (mostly deprecated)
Components (stable versions)    Branch 1.8.1        Branch 1.9.0    
OpenflexoProduction0.50.5
Connie1.41.4.1
Pamela1.41.4.1
Gina2.12.1.1
Diana1.41.4.1
OpenflexoUtils1.41.4.1
OpenflexoCore1.8.11.9.0
TechnologyAdapters1.8.11.9.0
OpenflexoModules1.8.11.9.0
OpenflexoPackaging1.8.11.9.0
Modelers (optional)1.8.11.9.0

 

5. Run Openflexo packaging

5-LaunchConfig

To run on Intellij IDEA an Openflexo packaging from openflexo-packaging project, click on "Add Configuration.." then click on the plus sign then choose "Application"

5-LaunchConfig2

Give the configuration a name like: “maintainer” and set the JRE to "Java 8", set the module to one of the existing packaging(openflexo-packaging.packages.flexomaintainer.main openflexo-packaging.packages.flexosemantics.main, openflexo-packaging.packages.main.flexosemanticsplus.main...) and for the main class put "org.openflexo.Flexo" and put "dev" as a Program arguments.

Set "dev" as a program arguments.

6. Configure Push to Upstream

6-PushPullConfig

from "Git" menu select Manage remotes...

6-PushPullConfig2

Click on the plus sign

6-PushPullConfig3

Fill in the remote name and the github uri then click OK