Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
git clone --recurse-submodules <your repo URL>

3. Setup Eclipse

After Eclipse started, you have to import all bundles (these are the parts of Odysseus and are equal to an Eclipse project). Use "File -> Import -> Existing Projects into Workspace" to import them into Eclipse as follows:

...

For Odysseus core development: We recommend to use a dedicated Eclipse workspace for Odysseus, because a full import of Odysseus may have more than 300 projects. The most simple way is as follows. If you are starting Eclipse for the first time, choose the folder where you checked out the source code as the workspace location. If you already have a workspace, you can switch it via "File -> Switch Workspace -> Other...".

4. Target Platform

Since Odysseus has some dependencies to other external features like Eclipse GEF or the Equinox framework, it is necessary to use the target-platform definitionYou probably only checked out the bundles you need, not the whole Odysseus core, resources and other stuff. All these things are part of the target platform and are loaded when setting the target platform for your workspace. Before you do that, you probably see a lot of compiler errors. After you set the target platform, the errors should be gone. This definition is provided via the "target-platform.target" file (hint: if you don't see the target platform as a project when importing, go back to the git checkout project and make sure you cloned the submodule).

If you are using the project template, the target platform can be found in the project targetplatform. If you are making core odysseus development (which is unlikely), it  can be found in the bundle/project called "de.uniol.inf.is.odysseus.common.feature". Open this file and click "Set as target platform" to use this as your target platform. This can take a while. When you click on the small green progress-bar icon in Eclipse you can see the progress.

You can also use CRTL-SHIFT-R to search for the target platform

...

Notice, the target platform is valid for your whole workspace (therefore we recommend to use a dedicated workspace for Odysseus development).
  Remark: Sometimes eclipse behaves strange when setting a new target platform. See Odysseus FAQ for further hints , if there are problems with the target platform.

5. First Run - Available Products

Now you should be able to run Odysseus. There are some predefined product-definitions to run Odysseus (depending . Depending on the bundles/folders you checked out before )they can differ, but the standard submodule should contain three products:

  • Odysseus Server.product - (located in de.uniol.inf.is.odysseus.server.starter) - This is just a server-based instance of Odysseus (without any GUI) which can be used e.g. via a webservice.
  • Odysseus Studio 2 (Client).product - (located in de.uniol.inf.is.odysseus.client.starter) - This is only the client part (GUI), which tries to connect to an Odysseus Server instance via webservice.
  • Odysseus Studio 2 (Monolithic).product - (located in de.uniol.inf.is.odysseus.client.starter or de.uniol.inf.is.odysseus.monolithic.feature ) - This combines server and client into a single product and adds some additional bundles that only work in such a monolithic combination.

For the your first timerun, the easiest way is to start the "Odysseus Studio 2 (Monolithic).product". Open this file and go to the tab "Overview". Click "Synchronize" under "Testing" and afterwards click "Launch an Eclipse application" to run Odysseus (you can alternatively run it in debug mode if you want). When Odysseus Studio (the GUI) comes up, you have to insert some credentials. A default user is "System" and the password is "manager", the tenant can be left empty. Now Odysseus should be up and running.

6. Additional Information

Features

Since Odysseus is an OSGi based application, it is divided into several bundles (the bunch of projects you checked out and imported before). To keep the overview of all bundles, they are combined to features. Each feature reflects a special functionality of Odysseus. Thus, we have a core.feature that encapsulates all minimal needed bundles or the studio.feature that contains all bundles for the RCP (i.e., GUI) of Odysseus (what we call Odysseus Studio). The combination of several features is called a "product" - which should be runnable. The section above, for example, lists three products that combine different sets of features.

...