Complemento Build Analyzer de Maven del SDK de AEM as a Cloud Service

El complemento Build Analyzer de Maven del SDK de AEM as a Cloud Service analiza la estructura de los distintos proyectos de paquetes de contenido.

Consulte la documentación del complemento de Maven para obtener información sobre cómo incluirlo en un proyecto de Maven en AEM.

NOTA

Se recomienda actualizar el proyecto Maven para que haga referencia a la última versión del complemento que se encuentra en el repositorio central de Maven, en esta ubicación: https://repo1.maven.org/maven2/com/adobe/aem/aemanalyser-maven-plugin/

El complemento utiliza el SDK disponible más reciente que el configurado en el proyecto.

A continuación se muestra una tabla que describe los analizadores que se ejecutan como parte de este paso.

Módulo Función, ejemplo y resolución de problemas SDK local Cloud Manager
api-regions-exportsimports Comprueba si todos los paquetes OSGI tienen sus declaraciones Import-Package satisfechas con la declaración Export-package de otros paquetes incluidos en el proyecto Maven. Un error tendría este aspecto:

 

[ERROR] org.acme:mybundle:0.0.1-SNAPSHOT: Bundle org.acme:mybundle:0.0.1-SNAPSHOT is importing package(s) org.acme.foo in start level 20 but no bundle is exporting these for that start level.

 

Para solucionar el problema, consulte si el paquete que proporciona el paquete está incluido en la implementación o, alternativamente, observe el manifiesto del paquete que espera exportar para determinar si se ha utilizado un nombre o una verisón que no son correctos.
requirements-capabilities Comprueba si todas las declaraciones de requisitos realizadas en paquetes OSGI se cumplen con las declaraciones de capacidades de otros paquetes incluidos en el proyecto Maven. Un error tendría este aspecto:

 

[ERROR] org.acme:mybundle:0.0.1-SNAPSHOT: Artifact org.acme:mybundle:0.0.1-SNAPSHOT requires org.foo.bar in start level 20 but no artifact is providing a matching capability in this start level.

 

Para solucionar el problema, observe el manifiesto del paquete que esperaría declarar una capacidad para determinar por qué falta, o compruebe el manifiesto del paquete que requiere para ver que el requisito en ahí es correcto.
bundle-content Envía una advertencia si un paquete contiene contenido inicial especificado con Sling-Initial-Content, lo que resulta problemático en el AEM como entorno agrupado de Cloud Service. La advertencia tiene este aspecto:

 

[WARNING] org.acme:mybundle:0.0.1-SNAPSHOT: Found initial content : [/]

 

Para solucionar problemas al convertir el contenido inicial en instrucciones repoinit, consulte la documentación de Repoinit.
bundle-resources Envía una advertencia si un paquete contiene recursos especificados con el encabezado Sling-Bundle-Resources, lo que resulta problemático en el entorno agrupado de AEM as a Cloud Service. La advertencia tiene este aspecto:

 

[WARNING] org.acme:mybundle:0.0.1-SNAPSHOT: Found bundle resources : [/libs/sling/explorer!/resources/explorer]

 

Para solucionar problemas al convertir los recursos a instrucciones Repoinit, consulte Documentación de Repoinit.
api-regions

 

api-regions-check-order

 

api-regions-dependencies

 

api-regions-duplicates
Estos analizadores comprueban algunos detalles relacionados con el paquete de contenido para el proceso de conversión del modelo de funciones que crea artefactos que se ajustan al Modelo de funciones de Sling. Cualquier error debe notificarse al Servicio de atención al cliente de Adobe.
api-regions-crossfeature-dups Valida que los paquetes OSGI del cliente no tengan declaraciones de paquete de exportación que anulen la API pública de AEM as a Cloud Service

 

[WARNING] org.acme:mybundle:0.0.1-SNAPSHOT: Package overlap found between region global and bundle org.acme:mybundle:0.0.1.SNAPSHOT which comes from feature: [org.acme:myproject.analyse:slingosgifeature:0.0.1-SNAPSHOT]. Both export package: com.day.util

 

Para solucionarlo, deje de exportar un paquete que forme parte de la API pública de AEM.
repoinit Comprueba la sintaxis de todas las secciones de repoinit
bundle-nativecode Valida que los paquetes OSGI no instalen código nativo.
configuration-api Valida configuraciones importantes de OSGi.

 

Configuration org.apache.felix.webconsole.internal.servlet.OsgiManager: Configuration is not allowed (com.mysite:mysite.all:1.0.0-SNAPSHOT|com.mysite:mysite.ui.config:1.0.0-SNAPSHOT)
region-deprecated-api Comprueba si se utiliza una API obsoleta

 

[WARNING] com.mysite:mysite.core:1.0.0-SNAPSHOT: Usage of deprecated package found : org.apache.sling.settings : Avoid these features at runtime: run modes, file system access (com.mysite:mysite.all:1.0.0-SNAPSHOT)
artifact-rules Valida dependencias como paquetes y paquetes de contenido para evitar problemas conocidos con artefactos.

 

[WARNING] [artifact-rules] com.adobe.acs:acs-aem-commons-bundle:5.0.4: Use at least version 5.0.10 (com.mysite:mysite.all:1.0.0-SNAPSHOT)

Problemas conocidos

A continuación, se muestra una lista de problemas conocidos al utilizar el complemento Maven de Build Analyzer.

No se ha podido ejecutar el complemento Maven de Build Analyzer en el SDK local

Cuando se utiliza el SDK local con una versión del complemento Maven de Build Analyzer inferior a 1.1.2, la ejecución del complemento puede provocar el siguiente error. En este caso, actualice el proyecto a la última versión del complemento.

[ERROR] Failed to execute goal com.adobe.aem:aemanalyser-maven-plugin:1.1.0:analyse (default-analyse) on project mysite.analyse: Execution default-analyse of goal com.adobe.aem:aemanalyser-maven-plugin:1.1.0:analyse failed: arraycopy: source index -1 out of bounds for char[65536] -> [Help 1]

Si ha utilizado el tipo de archivo del proyecto de AEM para configurar el proyecto, asegúrese de ajustar la propiedad en el Maven raíz pom.xml como se muestra a continuación.

   ...
   <properties>
      ...
      <aemanalyser.version>1.1.2</aemanalyser.version> <!-- Make sure to use the latest release -->
      ...
   </properties>

En esta página