AEM as a Cloud Service では、ui.apps
コンポーネントスクリプトを事前コンパイル済みバンドルスクリプトとしてデプロイすることができます。これにより、開発者は、ビルド時にスクリプトを事前にコンパイルして、OSGi バンドルとしてパッケージ化することができます。
スクリプトを事前コンパイル済みバンドルスクリプトとしてデプロイすると、次の利点があります。
Import-Package
および Export-Package
バンドルヘッダーを使用して明示的に定義されますsling:resourceSuperType
を使用した)継承および(例えば HTL の data-sly-resource
ブロック要素や sling:include
JSP タグなどを使用した)他のリソースタイプへの委任は、バンドルのメタデータを使用してマッピングできますhtl-maven-plugin
は HTL スクリプトの構文を検証できますが、HTL スクリプトを Java クラスにトランスパイルする場合にも使用できます。これらは Maven プロジェクトの generated-sources
フォルダーに追加され、maven-compiler-plugin
によって選択されます。
bnd-maven-plugin
を追加して、Java API インポート用に OSGi バンドルのメタデータを生成できます。
OSGi フレームワークは、様々なコンポーネント間のコントラクト表現する要件と機能を定義する強力な方法を提供します。これらはメタデータを使用して記述され、実行時に適用されます。バンドルスクリプトでは、このメカニズムを使用して、継承関係(sling:resourceSuperType
)と委任(レンダリングプロセスにおける他のリソースタイプを含む)の両方を表現します。
ui.apps
コンテンツパッケージで提供されるスクリプトに対応する要件と機能を抽出するには、scriptingbundle-maven-plugin プロジェクトの bnd
プラグインを使用できます。
バージョン 31 からは、AEM プロジェクトアーキタイプを使用して、事前コンパイル済みバンドルスクリプトを使用するように AEM as a Cloud Service プロジェクトを正しくセットアップできます。さらに、AEM プロジェクトアーキタイプでは、Java パッケージレベルとスクリプトレベルでの依存関係を検証するように AEM as a Cloud Service SDK の Build Analyzer Maven プラグインを設定します。