Liferay Workspaceでテーマを管理する

Liferay DXPのテーマ作成は、2つの異なるツールを使用して実現できます。

Liferay Workspaceは、開発者がLiferay Theme Generatorを使用してテーマを作成できる環境を提供し、その作業をDevOps戦略全体にシームレスに統合できます。Liferay Theme Generatorは、Workspace内にNode.jsベースのテーマを作成する場合や外部で活用してテーマをWorkspaceにコピーする場合に活用できます。

Workspaceでは、CI環境でLiferay JS Theme Toolkitのツールを使用できないユーザー向けに、従来のJavaベースのテーマアプローチ(Gradle/Mavenの活用)も提供しています。

以下では、Node.jsベースのテーマとGradle/Mavenベースのテーマの両方をWorkspaceで管理する方法を説明します。

WorkspaceのNode.jsテーマ

Liferay Workspaceは、Themes Generatorで作成されたテーマに対してのみ、themesフォルダを用意します。テーマを作成するにあたって、Blade CLIが提供するコマンドやMavenアーキタイプはありません。それらを作成するには、themesフォルダ内からLiferay Theme Generatorを活用する必要があります。また、作成されたテーマをフォルダにコピーすることもできます。

次に、テーマ管理機能のデモンストレーションを行います。Liferay Theme Generatorに必要なツールがインストールされていることを確認してください。

  1. ワークスペースのthemesフォルダに移動して、以下のコマンドを実行します。

    yo liferay-theme
    

    プロンプトに従って、テーマを作成します。

  2. 新しいテーマに移動して、../gradlew buildを実行します。Liferay WorkspaceがGradleを使用して、フロントエンドテーマをビルドします。内部では、LiferayのNode Gradle Pluginが適用され、テーマのビルドに使用されます。

  3. Liferay Workspaceでは、テーマタイプが区別されます。たとえば、Theme Generatorでビルドされたテーマをwarsフォルダにコピーしてビルドすることはできません。Workspaceのルートフォルダから以下のコマンドを実行すると、プロジェクトがWorkspaceによって認識されているかどうかをテストできます。

    ../gradlew projects
    

    CLIでは、themesプロジェクトの下に新しく作成したテーマが表示されるはずです。

    Root project 'liferay-workspace'
    +--- Project ':themes'
    |    \--- Project ':themes:my-generated-theme'
    

    WARスタイルのテーマ(Gradle/Mavenベース)をthemesフォルダに移動した場合、Gradleのprojectsコマンドでは認識されません。

    **注:**Workspaceは、package.jsonファイルがあるかどうかを確認することにより、テーマがTheme Generatorによって作成されたものかどうかを識別します。このファイルがないテーマは、themesフォルダ内で互換性がありません。

これで、作成されたテーマがWorkspaceでどのように認識され、どこに置かれるのかが分かりました。次は、WorkspaceによるWARスタイルのテーマの管理方法について説明します。

WorkspaceでのGradle/Mavenテーマ

Liferay Workspaceでは、WARスタイルのプロジェクトにはwarsフォルダが提供されます。themeプロジェクトテンプレートまたはアーキタイプを使用してBlade CLIまたはMavenで作成されたテーマは、Workspace内でプロジェクトを作成するときに自動的にこのフォルダに作成されます。

Liferayのthemeプロジェクトテンプレートを使用してビルドされたテーマは、常にWARであり、Workspaceのwarsフォルダ内に存在する必要があるので、絶対にthemesフォルダに移動させないでください。このフォルダは、Theme Generatorによって作成されたテーマ専用です。

Workspaceで既存のWARスタイルのテーマをビルドするには、../gradlew buildコマンドを実行します。Liferay Workspaceは、Gradleを使用してテーマをビルドします。内部では、LiferayのTheme Builder Gradle Pluginが適用され、テーマのビルドに使用されます。Mavenワークスペースでも同様に機能します。 詳細については、Building Themes in a Maven Projectのチュートリアルを参照してください。

これで、WARスタイルのテーマがWorkspaceでどのようにビルドされ、どこに存在するのかが分かりました。

« Liferay Workspaceのターゲットプラットフォームの管理ターゲットプラットフォームに対するモジュールの検証 »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています