OSGi Extender Cannot Parse Comments in Service Files

Description

Extender expects META-INF/services/* files to contain a single line with a class name. It seems many (if not all) Apache projects have started including a license header in these files which breaks the current parser. For example this blocks Groovy 2.4.4+ from being used with Activiti in an OSGi environment resulting in the following error:

These comments are legal according to ServiceLoader javadoc

A service provider is identified by placing a provider-configuration file in the resource directory META-INF/services. The file's name is the fully-qualified binary name of the service's type. The file contains a list of fully-qualified binary names of concrete provider classes, one per line. Space and tab characters surrounding each name, as well as blank lines, are ignored. The comment character is '#' ('\u0023', NUMBER SIGN); on each line all characters following the first comment character are ignored. The file must be encoded in UTF-8.

This is especially important for Groovy as CVE-2015-3253 is resolved in 2.4.4

I have created PR #1065 that resolves this issue.

Environment

None

Status

Assignee

Unassigned

Reporter

Jim Mitchener

Labels

Affects versions

5.21

Priority

High
Configure