Open piotrkot opened 7 years ago
@piotrkot Please take a look at https://github.com/Adobe-Marketing-Cloud/aem-translation-framework-bootstrap-connector/tree/master/content/src/main/content/jcr_root/apps/bootstrap-connector/install. There is already a custom bundle that is provided to show how to extend the Bootstrap connector. The connector is simply a framework provided to show how the translation APIs work.
@sridharjayakumar Yes, I saw how the bootstrap-content includes the custom bundle for the bootstrap-bundle but I personally just don't find it right. Firstly, it requires to build a separated bundle from the custom library. Secondly, dependency required by the bootstrap-bundle is added in the bootstrap-content. Not relevant modules become relevant which contradicts my idea of single-responsibility principle. Thirdly, a bundle with custom library would have to be visible with its services exposed. This violates the restrictions set on the custom library. Is your solution the only one available?
There is a problem with extending the bootstrap connector bundle with custom library.
Steps to reproduce:
Create a small custom library having just one class in it.
or take any library that is not publicly available.
Add the library to the connector under the new
lib
location, i.e.aem-translation-framework-bootstrap-connector/bundle/lib/dummy-1.0-SNAPSHOT.jar
Add dependency to the bootstrap-connector.bundle pom file
Instruct maven to add the library into the bundle by adding configuration to the
maven-bundle-plugin
in bootstrap-connector.bundle pom fileIt does not matter if the library is embedded or inlined since if doesn't work in both cases. (I prefer inlined)
Call the library from the code, for example in
BootstrapTranslationServiceImpl.java
addprivate Dummy dummy = new Dummy();
on line 63.Deploy the bundle to the AEM instance.
Problem: When creating translation project
boostrap
name in no longer available on the Translation Provider list. And there is no errors in logs.