in src/main/java/org/apache/sling/feature/analyser/task/impl/CheckApisJarsProperties.java [119:143]
private void checkExtension(final AnalyserTaskContext ctx) {
final Extension ext = ctx.getFeature().getExtensions().getByName(EXTENSION_NAME);
if ( ext != null ) {
if ( ext.getType() != ExtensionType.JSON ) {
ctx.reportExtensionError(EXTENSION_NAME,"is not of type JSON");
} else {
final JsonObject obj = ext.getJSONStructure().asJsonObject();
checkStringType(ctx, obj, PROP_API_VERSION);
checkStringType(ctx, obj, PROP_JAVADOC_SOURCE_LEVEL);
checkStringType(ctx, obj, PROP_LICENSE_REPORT);
checkStringArrayType(ctx, obj, PROP_BUNDLE_RESOURCES);
checkStringArrayType(ctx, obj, PROP_BUNDLE_RESOURCE_FOLDERS);
checkStringArrayType(ctx, obj, PROP_JAVADOC_CLASSPATH_TOPS);
checkStringArrayType(ctx, obj, PROP_JAVADOC_CLASSPATH_HIGHEST_VERSIONS);
checkStringArrayType(ctx, obj, PROP_JAVADOC_CLASSPATH_REMOVALS);
checkStringArrayType(ctx, obj, PROP_JAVADOC_LINKS);
checkStringArrayType(ctx, obj, PROP_LICENSE_DEFAULTS);
checkStringMapType(ctx, obj, PROP_MANIFEST_ENTRIES);
checkStringMapType(ctx, obj, PROP_CLASSIFIER_MAPPINGS);
checkStringMapType(ctx, obj, PROP_REGION_MAPPINGS);
checkStringOrStringArrayType(ctx, obj, PROP_LICENSE_FOOTER);
checkStringOrStringArrayType(ctx, obj, PROP_LICENSE_HEADER);
}
}
}