Jump to: navigation, search

Difference between revisions of "Riena/E4"

Line 1: Line 1:
This page is a start page that describes the current situation of Riena running on E4.
+
==Intro==
This bug is also references by [[https://bugs.eclipse.org/bugs/show_bug.cgi?id=370445 Bug 370445]]
+
Eclipse 4 offers some key concepts which ease the development of RCP applications.
  
'''Riena - today'''
+
Among these are
* You can read about the concept of Riena Navigation/Application model/concept on this wiki page [[Riena/Navigation]]
+
* EMF based Workbench Model
* Base UI Concepts are found under [[Riena/UIConcepts]]
+
* Separation of Model and Presenentation
 +
* Customizable Rendering Engine
 +
* Dependency Injection ( no more Singletons )
  
 +
In the near future Riena aims to support these new concepts to simplify the implementation of Riena applications in turn.
 +
Therefore there is a new branch in the Riena git repo where all Riena E4 development happens.
  
'''Setup Targetplatforms'''
+
The following guide will walk through the necessary steps to setup your environment in minutes.
* Start an Eclipse IDE with an empty workspace
+
* Go to Target Platform in Preferences and setup two Target Platforms
+
** '''3.8.M5'''
+
** update site is http://download.eclipse.org/eclipse/updates/3.8milestones/S-3.8M5-201201251800
+
** switch off "Group by category" and sitch off "Include required Software"
+
** Select Equinox Target components
+
** Select Eclipse RCP and Eclipse RCP SDK
+
** click OK and wait for it to download and install (takes some minutes, I hadd 258 plugins in the target platform after that)
+
** '''4.2.M5''' as second target platform
+
** update site is http://download.eclipse.org/eclipse/updates/3.8milestones
+
** select Equinox Target components
+
** click ok and wait for it to resolve and download
+
** update site is http://download.eclipse.org/eclipse/updates/4.2milestones/S-4.2M5-201201271145
+
** Select Eclipse RCP / Eclipse RCP SDK and "Eclipse e4 Rich Client Platform" / "Eclipse e4 Rich Client Platform Developer Resources"
+
** Also select "EMF - Eclipse Modeling Framework Core Runtime" and "EMF Common"
+
** You need to switch on the "include required Software"
+
** click OK and wait for it to resolve and download
+
  
 +
==Get Eclipse==
  
'''Setup workspace'''
+
* Grab the Eclipse Juno 4.2 Release from the website
* Select 3.8 as your active target platform
+
* Install it to your preferred location
* Clone the Riena Repo from Git using the URL git://git.eclipse.org/gitroot/riena/org.eclipse.riena.git
+
* open the org.eclipse.riena.releng projectSet.psf file and checkout the projects that are listed there into your workspace
+
* all the remaining "compile errors" are because there is no API baseline set, you can change the warning for that to ignore (in the Preferences) and you should have a workspace with no compile errors for 3.8
+
  
'''Start the Riena example based on 3.8'''
+
==Setup Target Platform==
* Target Platform 3.8 is still the activated one (from the setup)
+
* Add new, empty Target Definition and give it a name
* Start the launcher "SWT Example Application", make sure you switch to the plugins tab and click "Add required plug-ins"
+
* Add Software Site http://download.eclipse.org/releases/juno
* If all goes well that should bring up a working Riena example client
+
* Select Target Platform Components
* You can click in the navigation (left and top) and see the Riena navigation as it is supposed to work
+
** ''Equinox Target Components''
* This picture looks like this [http://wiki.eclipse.org/images/2/20/Riena_NavigationTwoModules.PNG Image Riena Example Application]
+
** ''Eclipse RCP''
 +
** ''Eclipse RCP SDK''
 +
** Activate your new Target Platform
  
''' Start the Riena example based on 4.2'''
+
==Get Riena==
* Switch the Target Platform to 4.2
+
* Clone the Riena git repo to any location in your file system
* You get compile errors.
+
<source lang="bash">
** Open SubApplicationView
+
git clone git://git.eclipse.org/gitroot/riena/org.eclipse.riena.git
** comment out the line in error (we use an internal Workbench method :-) and the if statement around it
+
</source>
** if you later switch back to 3.8 its important to put the statement back in place
+
''For more information about using the Riena git repo checkout [[Riena/Git| Riena on Git]].''
* Start SWT Example Application launcher as above (click on Add required plug-ins)
+
* Checkout additional dependencies using the projectset in ''org.eclipse.riena.releng''
* remove the following plugins from the launcher before you start
+
** org.eclipse.riena.communication.console
+
** org.eclipse.equinox.console
+
 
+
You will get errors about the a missing equinox.console bundle that you can ignore. You also get this error:
+
 
+
java.lang.NullPointerException
+
 
+
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.<init>(ModelServiceImpl.java:92)
+
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:482)
+
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:172)
+
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:548)
+
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
+
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:534)
+
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
+
at org.eclipse.riena.navigation.ui.swt.application.SwtApplication.createView(SwtApplication.java:72)
+

Revision as of 06:16, 27 June 2012

Intro

Eclipse 4 offers some key concepts which ease the development of RCP applications.

Among these are

  • EMF based Workbench Model
  • Separation of Model and Presenentation
  • Customizable Rendering Engine
  • Dependency Injection ( no more Singletons )

In the near future Riena aims to support these new concepts to simplify the implementation of Riena applications in turn. Therefore there is a new branch in the Riena git repo where all Riena E4 development happens.

The following guide will walk through the necessary steps to setup your environment in minutes.

Get Eclipse

  • Grab the Eclipse Juno 4.2 Release from the website
  • Install it to your preferred location

Setup Target Platform

  • Add new, empty Target Definition and give it a name
  • Add Software Site http://download.eclipse.org/releases/juno
  • Select Target Platform Components
    • Equinox Target Components
    • Eclipse RCP
    • Eclipse RCP SDK
    • Activate your new Target Platform

Get Riena

  • Clone the Riena git repo to any location in your file system
 git clone git://git.eclipse.org/gitroot/riena/org.eclipse.riena.git

For more information about using the Riena git repo checkout Riena on Git.

  • Checkout additional dependencies using the projectset in org.eclipse.riena.releng