# Remove those package imports because embedded and relocated via shade plugin (see below)
Import-Package:\
    !org.apache.sling.commons.osgi,\
    !org.apache.sling.scripting.core.impl.helper,\
    *
Provide-Capability:\
    osgi.service;objectClass=java.lang.Runnable,\
    osgi.service;objectClass=javax.servlet.Servlet,\
    osgi.service;objectClass=org.apache.sling.api.adapter.AdapterFactory,\
    osgi.service;objectClass=org.apache.sling.models.factory.ModelFactory
# Overwrite bundle description due to https://github.com/bndtools/bnd/issues/3282
Bundle-Description: Apache Sling Models Implementation