Now that the sources are ready for use, the main problem of getting introduced to a new project is to understand the existing source code and its logical organisation. This section will give a small description on the packages content. The other directories and files will be explained too.
The sources are split into two plugins projects and a build one. There may be other plugins providing new features in the future. For more informations on the Eclipse plugin principles, refer to the Eclipse developer's guide.
org.openoffice.ide.eclipse.core
: This plugin provides all the
UNO related features of the Eclipse integration. It also defines
several extension points used by the language plugins.
org.openoffice.ide.eclipse.java
: This plugin provides the Java
UNO features for the Eclipse integration. This kind of plugin can even
be named “language plugin” in some documents.
org.openoffice.ide.eclipse.build
: This project does not define
any plugin, but it contains the main build scripts to generate the
update site as explained later.
All the packages names are formed in a simple way:
name.of.the.plugin.package
. In the next lines, the plugin name will not
be repeated but will be implied.
org.openoffice.ide.eclipse.core
: contains the main plugin class
and the logger
actions
: contains the actions classes for the GUI
builders
: contains all the classes to use for the UNO files
build
editors
: contains all the classes related to the UNO file
editors
editors.syntax
: contains the class used for the IDL syntax
highlighting
gui
: contains all the Graphical User Interface useful classes
gui.rows
: classes defining often used rows for the dialogs
i18n
: previously contained the internationalization classes, it
only contains the image access classes and bundles
internal
: this package and all its children should not be
exposed to other plugins
internal.helpers
: some useful classes that should be kept
internal
internal.model
: the model object implementations
launch
: contains the classes for the URE launch feature
model
: contains the classes defining the data objects classes.
They are often interface
language
: contains the classes and interfaces to implement in
the language plugins
preferences
: contains the preferences and project properties
pages implementations
unittests
: contains some unit tests, may be not enough
unotypebrowser
: contains the classes for the Uno types browser
dialog
utils
: some utilities classes
wizards
: contains the wizards implementations
Like every other Eclipse plugin, the core and java plugins contains the following files for the plugin definition:
plugin.xml
: defines all the extensions and extension points of
the plugin
build.properties
: this file should be used for the build process
but is not.
META-INF/MANIFEST.MF
: contains several informations on the
plugin like its version, author, etc.
The core plugin although includes directories containing the
icons, the documentation and the extensions points schemas. The build
directory contains all the files needed by the build project to generate
the update site. Do not forget to update the MANIFEST.MF.in
file
according to the META-INF/MANIFEST.MF
file before building the update
site.