Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

sling context aware configuration context-aware-configuration-bnd-plugin not working as expected

Avatar

Level 3

Hi Everyone,

 

I am trying to use sling context aware configurations inside AEM 6.5 project to store some configurations.

As described here https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configurati...

 

I have tried adding bnd statement with below plugin

org.apache.sling.caconfig.bndplugin.ConfigurationClassScannerPlugin

 But still my bundle is not able to identify configuration files (annotated with @Configuration) after deploying it into OSGI.

And If i manually add like below then only it started identifying 

Sling-ContextAware-Configuration-Classes:com.abc.caconfigs.MySampleConfig

 Could you guys please let me know how can we do it without adding each class names and should make it work with only plugin? .

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

I have a working example at https://github.com/joerghoh/cqdump/tree/master/ca-config-example which also includes the mentioned plugin.

The maven-bundle-plugin is configured here: https://github.com/joerghoh/cqdump/blob/master/ca-config-example/core/pom.xml

 

Jörg

 

// Update: I do use the maven-bundle-plugin and not the bnd-maven-plugin.

View solution in original post

6 Replies

Avatar

Correct answer by
Employee Advisor

I have a working example at https://github.com/joerghoh/cqdump/tree/master/ca-config-example which also includes the mentioned plugin.

The maven-bundle-plugin is configured here: https://github.com/joerghoh/cqdump/blob/master/ca-config-example/core/pom.xml

 

Jörg

 

// Update: I do use the maven-bundle-plugin and not the bnd-maven-plugin.

Avatar

Employee Advisor
As far as I can see both my pom.xml and the referenced documentation use the maven-bundle-plugin.

Avatar

Community Advisor

Did you tried below ?

<plugin>
				<groupId>biz.aQute.bnd</groupId>
				<artifactId>bnd-maven-plugin</artifactId>
<configuration>
					<bnd><![CDATA[
						-plugin org.apache.sling.caconfig.bndplugin.ConfigurationClassScannerPlugin
                                ]]></bnd>
				</configuration>
				<executions>
					<execution>
						<id>bnd-process</id>
						<goals>
							<goal>bnd-process</goal>
						</goals>
						<configuration>
							<bnd><![CDATA[
						Bundle-Category: MyApp
						Sling-Model-Packages: com.aem.core.models
						-snapshot: ${tstamp;yyyyMMddHHmmssSSS}
						Bundle-DocURL:
                                ]]></bnd>
						</configuration>
					</execution>
				</executions>
			</plugin>

 

Avatar

Employee

Its not working even though instructions in sling doc are followed, but i figured it out that you need to manually append this line to the bnd-process before the actual ConfigurationClassScannerPlugin in plugin bnd-maven-plugin

 

Sling-ContextAware-Configuration-Classes: 

ca-config-pom.png

Then you generated required headers in the MENIFEST file. At this moment i cannot tell you why, but it works for me.

Avatar

Employee Advisor

I hope, that the order does not matter. But if the documentation is not accurate anymore and the plugin does not work correctly, I would recommend to discuss this at the Sling lists.