New project structure for OpenFastTrace

We are happy to announce the latest release 2.3.5 of OpenFastTrace.

In this release we split the source code into sub-modules for api, importers, exporters etc. This has some advantages:

  • The dependencies of plugins are now enforced by the compiler. It is not possible that e.g. the specobject exporter depends on the specobject importer.
  • Developers who want to extend OFT with custom importers or exporters only need add a dependency for the stable API module without all the other internal code.
  • A stable API simplifies internal refactoring of the code because third party plugins only depend on the API module. All other modules are internal and can be changed without breaking third party plugins.

I also should mention some caveats. Building the project now takes around 3 minutes, deployment to JCenter even 9 minutes.

Currently the API module contains some plugin specific classes for configuration. We plan to clean this up in one of the next releases.

To make it easier for users and third party developers we also maintain a changelog with all the important changes in each release. The changelog follows the structure of Keep a changelog.

Of course we also released version 0.6.2 of the gradle plugin which uses the new OpenFastTrace 2.3.5. The gradle plugin now also contains a changelog.

Please upgrade to the new versions and share your experience.

Happy Tracing!