To make it easier to install this bundle even on production systems we should try to make the dependencies to booth Groovy/Groovy Console and Sling Pipes optional. Declarative Services supports that already by only starting those services which have no unresolved dependencies/classloading issues. We just have to make sure that we log accordingly in case neither Groovy nor Sling Pipes can be resolved.
Actually the install hook is only treated by a regular (non-bundle) classloader and the generated JAR is not a bundle, therefore dependencies are not a problem as long as they are not actively being used.
To make it easier to install this bundle even on production systems we should try to make the dependencies to booth Groovy/Groovy Console and Sling Pipes optional. Declarative Services supports that already by only starting those services which have no unresolved dependencies/classloading issues. We just have to make sure that we log accordingly in case neither Groovy nor Sling Pipes can be resolved.
An example for that pattern can be found in https://github.com/Adobe-Consulting-Services/acs-aem-commons/commit/246b7ee5d4671a4f1d220ac099c609d72857aea2.