Liferay DXPをソースコードから構築する
変更を貢献する場合、または公開リリースに含まれていない修正が必要な場合は、Liferay DXPをソースからビルドしてください。 liferay-portal リポジトリには、 Liferay DXP のソースコードが含まれています。 ソースコードからビルドすると、Liferay DXPバンドルが生成されます。
以前に Liferay Portal CE を実行していて、事前に構築されたバンドルが必要な場合は、 Liferay DXP 無料ティア を参照してください。 ソースコードからビルドするには、以下の手順に従ってください。
前提条件
構築前に以下のツールをインストールしてください。
- JDK 17(またはJDK 21)
- Apache Ant 1.10.14 以降
- Git
- Liferay Blade CLI (クライアント拡張機能または OSGi モジュールを構築する場合のみ必要です)
ビルドには付属のGradleラッパーが使用されるため、Gradleを別途インストールする必要はありません。
構築手順
-
作業ディレクトリを作成し、
cdでそのディレクトリに移動します。 ここでは、2つのリポジトリを並べてクローンします。mkdir liferay-dev cd liferay-dev -
必要に応じて、
liferay-binaries-cache-2020リポジトリをクローンしてビルドを高速化します。 それがなければ、ビルドは必要に応じて依存関係をダウンロードします。git clone https://github.com/liferay/liferay-binaries-cache-2020 --branch master --single-branch --depth 1 -
GitHub で
liferay/liferay-portalをフォークします。 -
liferay-binaries-cache-2020の隣にフォークをクローンしてください。git clone https://github.com/[your-github-user]/liferay-portal cd liferay-portal -
アップストリームリポジトリを追加して、
liferay/liferay-portalから変更を取得できるようにします。git remote add upstream https://github.com/liferay/liferay-portal -
ビルド:
ant allバンドルは
../bundles/に展開され、Liferay DXP がデプロイされた Tomcat アプリケーション サーバーが含まれています。
ビルドを確認するには、 ../bundles/ をリストします。 tomcat-[version] ディレクトリが表示されるはずです(例: tomcat-10.1.54)。 バンドルを開始する:
../bundles/tomcat-[version]/bin/startup.sh
次に、 http://localhost:8080 にアクセスしてください。
ビルドのカスタマイズ
app.server.properties および build.properties は、アプリケーション サーバー タイプ、バンドルの場所、ant フラグ、および同様のオプションなど、ビルドのデフォルトを文書化します。 デフォルト設定を上書きするには、兄弟関係にあるユーザー固有のファイルを作成します。 app.server.[user-name].properties または build.[user-name].properties。 ビルドは自動的にオーバーライドを検知し、変更内容はアップストリームのアップデートから隔離された状態に保たれます。
コア変更の展開
バンドルが構築された後、完全な再構築を行わずに、Liferay DXP コア プロジェクト ( portal-impl や portal-kernelなど) を再構築してデプロイできます。 コアコンポーネントはホットスワップに対応していないため、デプロイ後は毎回バンドルを再起動してください。
-
バンドルがまだ実行されていない場合は、起動します。
../bundles/tomcat-[version]/bin/startup.sh -
再構築して展開する。
liferay-portalディレクトリから、ant deployはすべてのコア プロジェクトを再デプロイします。 単一プロジェクトを再デプロイするには、まずcdでそのディレクトリに移動します。cd portal-impl ant deploy -
変更を反映させるには、バンドルを再起動してください。
../bundles/tomcat-[version]/bin/shutdown.sh ../bundles/tomcat-[version]/bin/startup.sh
モジュールのデプロイ
プラットフォームを再コンパイルすることなく、単一のOSGiモジュールまたはクライアント拡張機能を構築およびデプロイできます。 モジュールをデプロイする前に、ビルド環境が初期化されるように、ビルド手順をすべて完了させてください。
-
モジュールのディレクトリから、以下を実行します。
blade gw deployblade gwは、プロジェクトの Gradle ラッパー (./gradlewの省略形です。 実行中のバンドルのosgi/サブツリーにモジュールをデプロイします。
デプロイが成功したことを確認するには、バンドルログを ../bundles/tomcat-[version]/logs/catalina.out で確認してください。 STARTED <module-name> というエントリを探してください。以下のようなものです。
INFO [fileinstall][BundleStartStopLogger] STOPPED com.liferay.portal.workflow.web_3.0.0
INFO [Refresh Thread: Equinox Container][BundleStartStopLogger] STARTED com.liferay.portal.workflow.web_3.0.0
Liferayへの変更点の反映
変更内容はJiraチケットに記録し、GitHubのプルリクエストとして送信してください。
Jiraチケットの起票
-
Jira アカウント にサインアップしてください。
-
問題についてチケット を送信してください。 問題点を明確に説明してください。 バグについては、再現手順を含めてください。
-
問題に合った適切なカテゴリを選択してください。
-
問題の影響を受ける製品の最も古いバージョンを選択してください。
-
ソリューションを投稿 をクリックすると表示される貢献者ライセンス契約に同意してください。
既にその問題に関するチケットが存在する場合は、新しいチケットを作成するのではなく、既存のチケットを通して参加してください。
GitHubでプルリクエストを送信する
-
最新の
upstream/masterからトピックブランチを作成し、作業がフォークのmasterから隔離されるようにします。git fetch upstream git checkout -b my-change upstream/master -
Jiraチケットキーを参照して、論理的な作業単位をコミットします。 例えば:
LPS-83432 CONTRIBUTING の例を命令形と具体的な形にする。 -
変更内容を徹底的にテストしてください。 Liferay DXPは、多くのオペレーティングシステム、データベース、およびアプリケーションサーバーをサポートしています。 変更内容が、テストしていない設定を壊さないことを確認してください。
-
プッシュする前に、最新のアップストリーム
masterにリベースしてください。git fetch upstream git rebase upstream/master -
枝を分岐点まで押し込んでください。
git push origin my-change -
liferay/liferay-portalリポジトリにプルリクエストを送信します。 -
Jiraチケットに、プルリクエストへのリンクを記載してください。
プルリクエストを送信した後は、マージまたはクローズされるまで、質問に回答し、レビューコメントを確認してください。