Custom Indexes are not getting deployed on AEMaaCS cloud pipeline | Community
Skip to main content
August 7, 2025
Question

Custom Indexes are not getting deployed on AEMaaCS cloud pipeline

  • August 7, 2025
  • 2 replies
  • 510 views

Dear All,

Did anyone had issue with Custom Indexes not getting deployed on AEM cloud pipeline, and failing/error at deploy to dev step. Had followed this adobe official documentation(https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/operations/indexing?lang=en ) and made the changes, the build and deployment are successful in local and testing was successful. But same is not true on cloud. 

In the deployment log, one thing we observed is the ui.apps:0.0.1-SNAPSHOT was missing and cloud was unable to find. But in the build log, we can see the ui.apps:0.0.1-SNAPSHOT package was build successfully.

Any leads/help is much appreciated here. 

IN Cloud sample log stmt:

build Log:
21:18:17,712 [main] [INFO] --------<com.xxx......ui.apps >---------
21:18:17,712 [main] [INFO] Building xxx..... - UI apps 0.0.1-SNAPSHOT [6/14]
21:18:17,712 [main] [INFO] from ui.apps/pom.xml

Deployment to dev log: 
 org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl Refusing to install package com.xxx..... ui.content:0.0.1-SNAPSHOT-cp2fm-converted: required dependencies missing: [com.xxx..... .ui.apps:0.0.1-SNAPSHOT]","orig_time"

Changes made so far:

ui.apps/src/main/content/jcr_root/_oak_index/xxxx.translationObjectID-1-custom-1/.content.xml:
 
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:dam="http://www.day.com/dam/1.0"
xmlns:rep="internal"
jcr:mixinTypes="[rep:AccessControllable]"
jcr:primaryType="oak:QueryIndexDefinition"
type="lucene"
async="[async]"
compatVersion="{Long}2"
includedPaths="[/content/projects]">
<indexRules jcr:primaryType="nt:unstructured">
<nt:unstructured jcr:primaryType="nt:unstructured">
<properties jcr:primaryType="nt:unstructured">
<translationObjectID jcr:primaryType="nt:unstructured" name="translationObjectID" propertyIndex="{Boolean}true" />
</properties>
</nt:unstructured>
</indexRules>
</jcr:root>

ui.apps/src/main/content/META-INF/vault/filter.xml:
<filter root="/oak:index/xxxx.translationObjectID-1-custom-1"/>
</workspaceFilter>




ui.apps/src/main/content/META-INF/vault/properties.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="noIntermediateSaves">true</entry>
<entry key="allowIndexDefinitions">true</entry>
<entry key="group">xxxx</entry>
<entry key="name">xxxx.ui.apps</entry>
<entry key="acHandling">merge</entry>
<entry key="version">0.0.1-SNAPSHOT</entry>
</properties>




ui.apps/pom.xml:
 
<configuration>
<allowIndexDefinitions>true</allowIndexDefinitions>
<properties>
<acHandling>merge_preserve</acHandling>
<cloudManagerTarget>none</cloudManagerTarget>
<noIntermediateSaves>true</noIntermediateSaves>
</properties>



ui.apps.structure/pom.xml:
<configuration>
<allowIndexDefinitions>true</allowIndexDefinitions>
<properties>
<cloudManagerTarget>none</cloudManagerTarget>
<noIntermediateSaves>true</noIntermediateSaves>
</properties>


<!-- oak index root -->
<filter><root>/oak:index</root></filter>
</filters>
</configuration>


Project pom.xml (root):
 
<options>
<immutableRootNodeNames>apps,libs,oak:index</immutableRootNodeNames>
</options>



Thanks
Thabrez

2 replies

SantoshSai
Community Advisor
Community Advisor
August 8, 2025

Hi @thabrez2,

I think, the issue is caused by this line in your ui.apps/pom.xml and ui.apps.structure/pom.xml:

<cloudManagerTarget>none</cloudManagerTarget>

This excludes ui.apps from being deployed in AEM Cloud Manager, which leads to the error:

required dependencies missing: [com.xxx.ui.apps:0.0.1-SNAPSHOT]

You either remove this line:

<cloudManagerTarget>none</cloudManagerTarget>

That’s enough to ensure ui.apps gets deployed and its package is available for ui.content dependencies.

OR

 

Set the correct deployment target:

<cloudManagerTarget>all</cloudManagerTarget>

or use specific targets like:

  • author for ui.apps

  • publish for ui.content

References:

Santosh Sai
thabrez2Author
August 8, 2025

Hi @santoshsai ,

Thanks for the quick and detailed response.
Will give a shot at this  and test it and keep you posted.

In between, as we know this(<cloudManagerTarget>none</cloudManagerTarget>) are already existing changes/lines with the ui.apps and ui.apps.structure pom.xml, not a new ones. 
Never the less, we can update and test it in cloud pipeline and not sure if there is any side effects of this.Any thoughts here.

 

 

SantoshSai
Community Advisor
Community Advisor
August 8, 2025

@thabrez2 
Please refer this: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/custom-oak-indexing-deployment-issue/m-p/757754

Could you check what is the package type?

<packageType>application</packageType>

change it to 

<packageType>mixed</packageType>

if you don't have it under ui.apps/pom.xml add it before 

<allowIndexDefinitions>true</allowIndexDefinitions>

Reference:

<plugin> <groupId>org.apache.jackrabbit</groupId> <artifactId>filevault-package-maven-plugin</artifactId> <configuration> <properties> <cloudManagerTarget>none</cloudManagerTarget> </properties> <group>com.xxx</group> <name>xxx.ui.apps</name> <packageType>mixed</packageType> <allowIndexDefinitions>true</allowIndexDefinitions> <repositoryStructurePackages> <repositoryStructurePackage> <groupId>com.xxx</groupId> <artifactId>xxx.ui.apps.structure</artifactId> </repositoryStructurePackage> </repositoryStructurePackages> <dependencies> <dependency> <groupId>com.adobe.cq</groupId> <artifactId>core.wcm.components.content</artifactId> </dependency> <dependency> <groupId>com.adobe.cq</groupId> <artifactId>core.wcm.components.config</artifactId> </dependency> </dependencies> </configuration> </plugin>
Santosh Sai
kautuk_sahni
Community Manager
Community Manager
September 1, 2025

@thabrez2 just checking in! Were you able to get this resolved? If one of the replies above helped—whether it completely solved the issue or simply pointed you in the right direction—marking it as accepted can make it much easier for others with the same question to find a solution. And if you found a different way to fix it, sharing your approach would be a great contribution to the community. Your follow-up not only helps close the loop but also ensures others benefit from your experience. Thanks so much for being part of the conversation!

Kautuk Sahni