Skip to content
Snippets Groups Projects
Readme.md 6.79 KiB

#Repository Structure

the repository is structured as follows

<code class="text">
bundles  --- contains any standard eclipse plugin and the emf code generator.
features --- contains any tooling kernel or af3 feature definition (set of plugins).
products --- contains product descriptions (set of features): produces the resulting zips.
releng   --- common build configuration and p2 update sites.
tests    --- junit integration or module tests of the application, or single fragments respectively.
  • bundles

the bundle folder is composed of the following repositories:

<code class="text">
af3           --- git submodule of the af3 plugins.
af3-rcp       --- git submodule containing the org.fortiss.af3.rcapplication plugin.
emf-generator --- contains the emf code generator and its launch configuration.
kernel        --- git submodule of the tooling kernel plugins.

two maven pom files are found in this folder:

<code class="text">
pom.xml               --- specifies the to-be-compiled eclipse plugins activated by the given build flags.
pom-bundle-parent.xml --- compilation-specific configuration: currently, it only adds the required openjfx libraries to the tycho classpath.

the pom.xml file is the entry point for the compilation, whereas the pom-bundle-parent.xml is included from bundle repos (such as af3).

note that all plugins are build pom-less: this means that no pom.xml config file is needed within standard eclipse plugins. it is only required at the level above. therefore, a maven extension is specified within the “.mvn” folder within the root of the maven-releng repository.

  • docker

Contains the build specification for the docker container used in the CI Jobs.

  • features

contains the tooling kernel and af3 feature as git submodules. each of these features contains the full set of plugins as of now. however they might be regrouped acc. to functionality groups in future.

  • products

contains the af3 phoenix product as git submodule.

  • releng

contains the following modules:

<code class="text">
org.fortiss.af3.configuration --- Common configuration of all maven modules such as maven plugin versions and configuration. Moreover, commonly used variables are specified here.
org.fortiss.af3.target        --- Target definition file that specifies all available plugins of the compilation and runtime platform. The definition of p2 sites is only allowed here. (There is only one exception in the product)
org.fortiss.af3.update        --- Contains the configuration to produce the AF3 p2 update site.
org.fortiss.tooling.update    --- Contains the configuration to produce the Tooling kernel update site.
  • Tests