事前コンパイル済みバンドルスクリプト

AEM as a Cloud Service では、ui.apps コンポーネントスクリプトを事前コンパイル済みバンドルスクリプトとしてデプロイすることができます。これにより、開発者は、ビルド時にスクリプトを事前にコンパイルして、OSGi バンドルとしてパッケージ化することができます。

OSGi バンドルを使用して事前コンパイル済みスクリプトをデプロイするメリット

スクリプトを事前コンパイル済みバンドルスクリプトとしてデプロイすると、次の利点があります。

  • ビルド時にスクリプトをコンパイルすると、開発者が開発プロセスの早期にエラーを検出できます
  • Java API スクリプトの依存関係は、Import-Package および Export-Package バンドルヘッダーを使用して明示的に定義されます
  • sling:resourceSuperType を使用した)継承および(例えば HTL の data-sly-resource ブロック要素や sling:include JSP タグなどを使用した)他のリソースタイプへの委任は、バンドルのメタデータを使用してマッピングできます
  • リソースタイプのバージョン管理を、Java API と同様の方法で適用できます

事前コンパイルとパッケージインポート

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 プラグインを使用できます。

AEM プロジェクトアーキタイプのサポート

バージョン 31 からは、AEM プロジェクトアーキタイプを使用して、事前コンパイル済みバンドルスクリプトを使用するように AEM as a Cloud Service プロジェクトを正しくセットアップできます。さらに、AEM プロジェクトアーキタイプでは、Java パッケージレベルとスクリプトレベルでの依存関係を検証するように AEM as a Cloud Service SDK の Build Analyzer Maven プラグインを設定します。

このページ