Has anyone faced issues with the Adobe Analyzer during Cloud Manager pipeline execution? Our build fails during the "Code Quality" step with the following message:
Severity: Major | Rule: CQBP-84 | Message: Avoid using deprecated Granite UI components.
We have ensured most deprecated APIs are removed, but this keeps coming up. The error logs in Cloud Manager are not very descriptive, making it hard to trace the root cause.
How can we get more detailed reports or pinpoint the affected files?
Are there tools or local analyzers we can use to test code before committing?
Any tips or shared experiences would be appreciated!
Solved! Go to Solution.
Views
Replies
Total Likes
Hi @Vishal_Kagde,
Yes, Adobe Analyzer runs code quality checks during Cloud Manager pipeline execution and flags issues based on predefined rules.
The error you see, it usually means you're referencing components like granite/ui/components/coral/foundation
which have been deprecated in favour of Coral 3 or React-based UIs.
To troubleshoot:
Download the code quality report from Cloud Manager – this will pinpoint exact files/lines.
Run local analyzer: Use Adobe’s Best Practices Analyzer (BPA) to catch violations before deployment.
Review Cloud Manager Rules Reference to understand rules like CQBP-84, CQBP-71, etc.
If the issue is a false positive or justified exception, Adobe allows rule waivers via support requests.
To get deeper insights:
In Cloud Manager, after a pipeline fails, click “Download Code Quality Report” – this gives you a ZIP with detailed HTML and JSON outputs.
You can also integrate SonarQube or run Adobe’s BPA locally with Maven (com.adobe.aem:aemanalyzer-maven-plugin
).
Common violations include deprecated APIs, improper Sling models, use of hardcoded paths, or unoptimized queries.
Tip: Make sure your code follows Adobe's AEM Project Archetype standards and review the Code Quality rules.
Hope that helps!
Hi @Vishal_Kagde,
Yes, Adobe Analyzer runs code quality checks during Cloud Manager pipeline execution and flags issues based on predefined rules.
The error you see, it usually means you're referencing components like granite/ui/components/coral/foundation
which have been deprecated in favour of Coral 3 or React-based UIs.
To troubleshoot:
Download the code quality report from Cloud Manager – this will pinpoint exact files/lines.
Run local analyzer: Use Adobe’s Best Practices Analyzer (BPA) to catch violations before deployment.
Review Cloud Manager Rules Reference to understand rules like CQBP-84, CQBP-71, etc.
If the issue is a false positive or justified exception, Adobe allows rule waivers via support requests.
To get deeper insights:
In Cloud Manager, after a pipeline fails, click “Download Code Quality Report” – this gives you a ZIP with detailed HTML and JSON outputs.
You can also integrate SonarQube or run Adobe’s BPA locally with Maven (com.adobe.aem:aemanalyzer-maven-plugin
).
Common violations include deprecated APIs, improper Sling models, use of hardcoded paths, or unoptimized queries.
Tip: Make sure your code follows Adobe's AEM Project Archetype standards and review the Code Quality rules.
Hope that helps!
Hi @Vishal_Kagde ,
This rule flags usage of outdated UI components like:
granite/ui/components/foundation/...
granite/ui/components/coral/foundation/...
These were part of older versions of Granite UI (based on Coral 2) and are no longer recommended. AEMaaCS expects you to use Coral 3-based components, which follow Adobe's latest UI standards.
Step 1: Get the Full Error Report
After the pipeline fails, go to the failed Code Quality step and:
- Click "Download Report"
- Open the ZIP and look at the index.html file inside
- Find the CQBP-84 section — this will show exactly where the deprecated components are used (file path and line number)
This saves you from manually digging through dozens of dialogs.
Step 2: Update the Dialogs
Look for any usage of granite/ui/components/foundation/... or coral/foundation in your dialogs (typically inside .content.xml or .xml under cq:dialog).
Here’s an example:
<!-- Deprecated -->
<myField
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/textfield"
name="./title"
fieldLabel="Title"/>
Update it to use the Coral 3 version:
<!-- Compliant -->
<myField
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
name="./title"
fieldLabel="Title"/>
Repeat this for all deprecated resource types in your dialogs and components.
Step 3: Run Checks Locally Before Committing
To avoid pipeline failures, you can run the same analysis locally using Adobe's AEM Analyzer plugin.
Add this plugin to your pom.xml:
<plugin>
<groupId>com.adobe.aem</groupId>
<artifactId>aemanalyzer-maven-plugin</artifactId>
<version>latest</version>
<executions>
<execution>
<goals>
<goal>analyze</goal>
</goals>
</execution>
</executions>
</plugin>
Then run:
mvn clean install -Pcloud-manager-analyze
This will generate the same code quality report locally, so you can catch and fix issues early.
Step 4: Follow Adobe’s UI Best Practices
When building dialogs or authoring interfaces for AEMaaCS:
- Use Coral 3-based Granite UI components only
- Stick to modern field types under: granite/ui/components/coral/foundation
- Avoid any legacy Classic UI patterns or foundation components
- Use AEM Project Archetype to bootstrap compliant projects
Spot Deprecated Code Quickly
If you’re using IntelliJ or VS Code, try searching for:
granite/ui/components/foundation/
This helps locate all outdated components across the project in seconds.
Regards,
Amit
Hello @Vishal_Kagde
Rule CQBP-84 : Customers should not implement or extend Product APIs annotated with @ProviderType
The CQBP-84 rule is designed to ensure that custom code does not implement or extend certain interfaces and classes meant for internal use by AEM.
These interfaces are annotated with
org.osgi.annotation.versioning.ProviderType
and are intended to be used, but not implemented by custom code.
Please refer to :
https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/usi...
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies