Expand my Community achievements bar.

Introducing Adobe LLM Optimizer: Own your brand’s presence in AI-Powered search and discovery
SOLVED

Analyzer error during CM pipeline

Avatar

Level 2

 

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!

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @Vishal_Kagde,

Adobe Analyzer Gives Error on Cloud Manager Pipeline Execution

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:

2. Question: How to Debug/Improve Adobe Analyzer Errors

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!


Santosh Sai

AEM BlogsLinkedIn


View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

Hi @Vishal_Kagde,

Adobe Analyzer Gives Error on Cloud Manager Pipeline Execution

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:

2. Question: How to Debug/Improve Adobe Analyzer Errors

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!


Santosh Sai

AEM BlogsLinkedIn


Avatar

Community Advisor

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

 

Avatar

Employee

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...

https://experienceleague.adobe.com/en/docs/experience-manager-cloud-manager/content/using/custom-cod...