Förkompilerade paketerade skript precompiled-bundled-scripts
AEM as a Cloud Service stöder distributionen av ui.apps
-komponentskripten som förkompilerade paketerade skript. Detta gör att utvecklare kan förkompilera sina skript vid byggtillfället och paketera dem som OSGi-paket.
Fördelar med att distribuera förkompilerade skript via OSGi Bundles advantages
Distribuera skript som förkompilerade skript har följande fördelar:
- Genom att kompilera skript vid byggtillfället kan utvecklare upptäcka fel tidigt i utvecklingsprocessen.
- Java API-skriptberoenden definieras explicit via
Import-Package
ochExport-Package
bundle headers. - Arv (via
sling:resourceSuperType
) och delegering till andra resurstyper (via till exempel HTL:sdata-sly-resource
-blockelement eller via JSP-taggensling:include
) kan mappas via paketets metadata. - Versionshantering för resurstyper kan tillämpas på ungefär samma sätt som Java API:er.
Förkompilering och paketimport precompilation
htl-maven-plugin
kan validera syntaxen för HTML-skript, men den kan också användas för att överföra HTML-skripten till Java-klasser. Dessa läggs sedan till i Maven-projektets generated-sources
-mapp och plockas upp av maven-compiler-plugin
.
bnd-maven-plugin
kan läggas till för att generera OSGi-paketets metadata för Java API-import.
Arv och delegering inheritance-delegation
OSGi-ramverket är ett kraftfullt sätt att definiera krav och funktioner för att uttrycka kontrakt mellan olika komponenter. Dessa beskrivs via metadata och används vid körning. Paketerade skript använder den här mekanismen för att uttrycka både arvsrelationer (sling:resourceSuperType
) och delegering (inklusive andra resurstyper i återgivningsprocessen).
Plugin-programmet bnd
från projektet scriptingbundle-maven-plugin kan användas för att extrahera de krav och funktioner som motsvarar skripten från ui.apps
.Innehållspaket
Stöd för AEM Project Archetype support
Från och med version 31 kan AEM Project Archetype användas för att konfigurera ett AEM as a Cloud Service-projekt så att det använder förkompilerade paketerade skript.
Dessutom konfigurerar AEM Project Archetype AEM as a Cloud Service SDK Build Analyzer Maven Plugin för att validera Java-paketnivån samt beroenden på skriptnivå.