AEM as a Cloud Service supporta la distribuzione di script di componenti ui.apps
come script in bundle precompilati. Questo consente agli sviluppatori di precompilare gli script in fase di generazione della build e di assemblarli come bundle OSGi.
La distribuzione di script in bundle precompilati presenta i seguenti vantaggi:
Import-Package
e Export-Package
sling:resourceSuperType
) e la delega ad altri tipi di risorse (ad esempio tramite l’elemento blocco HTL data-sly-resource
o tramite il tag JSP sling:include
) possono essere mappate tramite i metadati del bundle.htl-maven-plugin
può convalidare la sintassi degli script HTL, ma può anche essere utilizzata per eseguire la transpilazione degli script HTL in classi Java. Questi vengono quindi aggiunti alla cartella generated-sources
del progetto Maven e selezionati da maven-compiler-plugin
.
È possibile aggiungere bnd-maven-plugin
per generare i metadati del bundle OSGi per le importazioni API Java.
Il framework OSGi permette di definire Requisiti e funzionalità per esprimere relazioni e vincoli tra vari componenti. Questi vengono descritti tramite metadati e applicati in fase di runtime. Gli script in bundle utilizzano questo meccanismo per esprimere sia le relazioni di ereditarietà (sling:resourceSuperType
) che la delega (anche per altri tipi di risorse nel processo di rendering).
Il plug-in bnd
dal progetto scriptingbundle-maven-plugin può essere utilizzato per estrarre i requisiti e le funzionalità in base agli script forniti dal pacchetto di contenuti ui.apps
.
A partire dalla versione 31, è possibile utilizzare il modello Archetipo progetto AEM per impostare correttamente un progetto AEM as a Cloud Service per l’utilizzo di script in bundle precompilati. Inoltre, l’Archetipo progetto AEM configura il plug-in Maven di Build Analyzer per AEM as a Cloud Service SDK per convalidare le dipendenze a livello di pacchetto Java e di script.