Remove "matterhorn-kernel" and move its contents to more meaningful locations

Description

In a modular system like OSGi, the existence of a bundle like matterhorn-kernel, which contains bits and pieces completely unrelated to each other, is an anomaly.

Currently, matterhorn-kernel contains the following Java packages:

  • org.opencastproject.kernel.bundleinfo

  • org.opencastproject.kernel.filter.https

  • org.opencastproject.kernel.filter.proxy

  • org.opencastproject.kernel.http

  • org.opencastproject.kernel.http.api

  • org.opencastproject.kernel.http.impl

  • org.opencastproject.kernel.mail

  • org.opencastproject.kernel.pingback

  • org.opencastproject.kernel.rest

  • org.opencastproject.kernel.scanner

  • org.opencastproject.kernel.security

  • org.opencastproject.kernel.security.persistence

  • org.opencastproject.kernel.userdirectory

It makes no sense that a project depending, for instance, on the mail package should have to import the whole bundle with all the other dependencies. Also, packages like kernel.security or kernel.userdirectory do not make sense, when their contents could easily be located in the matterhorn-security or matterhorn-userdirectory bundles, respectively.

Originally, keeping all the basic stuff in one bundle could (while still being wrong) make sense because it grouped the basic packages the system needed to function. But currently, these basic sets of bundles required to run a functional system are defined through Karaf "features", a much better and mature mechanism to group bundles together without compromising modularity.

A similar reasoning can be done with the matterhorn-common group, but this story card should only cover the "dismantlement" of matterhorn-kernel for clarity.

Steps to reproduce

None

Status

Assignee

Unassigned

Reporter

Rubén Pérez

Criticality

Low

Tags (folksonomy)

None

Components

Fix versions

Affects versions

5.0
3.4
4.0

Priority

Configure