Develop in Eclipse - rbellamy/dbeaver GitHub Wiki
DBeaver is an Eclipse RCP application.
It consists of a set of Eclipse plugins, features and products.
Opening workspace in Eclipse
You will need to setup "Eclipse for RCP and RAP developers". Currently default Eclipse version is Eclipse 2018-09. Build may fail on newer or older versions. Then you will need to install a few additional Eclipse plugins which DBeaver depends on (and which are not included in the standard Eclipse distribution):
-
Open main menu Help -> Install New Software
-
Copy
http://dbeaver.io/eclipse-repo/
into "Work with" field and press enter -
Check all plugins and finish the installation process:
-
Do the same for
http://eclipse-color-theme.github.com/update
-
Restart Eclipse
-
Checkout DBeaver repository somewhere with
git clone https://github.com/dbeaver/dbeaver.git
command. -
In Eclipse run Import wizard
-
Choose "General->Existing Maven Projects".
-
Select DBeaver checkout directory. Check all plugins and features Eclipse will find and finish the wizard.
-
Eclipse will perform project configuration process. This may take a few minutes.
-
If Eclipse will ask about additional plugin install - just agree:
-
Restart Eclipse. Eclipse will build project automatically or you can press
Ctrl+B
-
Switch to Hierarchical projects presentations
-
If some modules build will fail (they will be marked with red cross) - update Maven project
Running and Debugging in Eclipse
- Import DBeaver launch configuration using Eclipse Import wizard:
- Click on Debug icon in the main toolbar->Debug configurations.
- Choose DBeaver.product and click Debug button
If product won't start with No application id has been found
error try this workaround:
https://stackoverflow.com/questions/13575695/eclipse-rcp-no-application-id-has-been-found
What you need to do is go to your Run Configurations (Run -> Run Configurations). Select the Plug-ins tab and then hit "Add Required Plug-ins". Apply, then Run, and it should work now.
That's it.
Sources structure:
docs
- some documentations (mostly outdated)features
- feature descriptors. Doesn't contain any source code. Used to structurize product plugins/dependencies.bundles
- very base plugins (like utils)plugins
- main sources locationorg.jkiss.dbeaver.model
- model API and base classes. Doesn't contain any UI dependencies, just pure data model.org.jkiss.dbeaver.core
- main DBeaver module. Most of base UI classes are here.org.jkiss.dbeaver.core.application
- relatively small module which configures standalone DBeaver application.org.jkiss.dbeaver.core.eclipse
- main Eclipse plugin. Adds some extra menus/views to standard Eclipse IDE.org.jkiss.dbeaver.ext.*
- DBeaver extensions
product
- final products (standalone and Eclipse plugin) configuration.
Notes:
Everything above covers Community Edition version.