Building Liferay Source
このセクションでは、できるだけ早くソースから Liferay Portal を構築するための手順を提供することを目的としています。 夜間スナップショット バンドルを使用すると、 ant all を使用した完全なビルドが不要になり、Liferay Portal のビルド時に多くの時間を節約できます。
最初のステップは、Liferay Portal を構築するために必要なツールがインストールされていることを確認することです。 Liferay Portal の構築には次のものが必要です。
- アパッチアント
- Gradle
- Liferay Blade CLI
Liferayポータルの構築
次のステップは、GitHub から liferay-portal リポジトリをフォークし、夜間スナップショット バンドルを使用するようにビルドを構成することです。
Liferay Portal をソースからビルドするには、次の手順を実行します。
-
ビルドを高速化するために、 liferay-binaries-cache-2020 リポジトリをクローンします。
git clone https://github.com/liferay/liferay-binaries-cache-2020 --branch master --single-branch --depth 1 -
GitHub で liferay-portal リポジトリをフォークします: https://github.com/liferay/liferay-portal
-
フォークしたリポジトリのマスター ブランチを複製します。
git clone https://github.com/<github-username>/liferay-portal -
変更を取得するためのアップストリームとしてメインの liferay-portal リポジトリを追加します。
git remote add upstream https://github.com/liferay/liferay-portal -
liferay-portal ディレクトリから実行します:
ant compile install-portal-snapshots ant snapshot-bundle git checkout `cat ../bundles/.githash` -b my-custom-change -
もう一度実行してスナップショットをスナップショット ハッシュと同期します。
ant compile install-portal-snapshots
Liferay コアコンポーネントを構築し、スナップショットバンドルにデプロイできるようになりました。 コア コンポーネントがビルドされた場合、コンポーネントはホットスワップ可能ではないため、バンドルを再起動する必要があります。
-
コア プロジェクト (portal-impl、portal-kernel など) をビルドするには、次のコマンドを実行します。
ant deploy -
liferay-portal ディレクトリからスナップショットバンドルを起動します。
../bundles/tomcat-9.0.17/bin/startup.sh | bat
プラットフォーム全体を再コンパイルせずに、liferay-portal 内からモジュールを構築できるようになりました。 ビルド環境を初期化するため、モジュールをコンパイルする前に上記の手順を完了する必要があります。
-
モジュール (portal-workflow-web、message-boards-web) をビルドするには、次を実行します。
blade gw deploy
バンドル ログに次のメッセージが表示されます。
2019-05-20 20:25:08.613 INFO [fileinstall-/Users/jamie/Repos/bundles/osgi/portal][BundleStartStopLogger:42] STOPPED com.liferay.portal.workflow.web_3.0.0 [248]
2019-05-20 20:25:09.312 INFO [Refresh Thread: Equinox Container: a8a147ab-cda3-4184-b37e-17724c1005f4][BundleStartStopLogger:39] STARTED com.liferay.portal.workflow.web_3.0.0 [248]
変更を加える
変更を加えるときは、まず JIRA でチケットを作成し、コミットやプル リクエスト内からチケット番号を参照するのが最適です。
ジラ
次の手順に従って、JIRA でチケットを作成します。
- 実装したい機能、改善、またはバグ修正の進捗状況を追跡するには、 JIRA アカウント にサインアップしてください。 今後はこれらを 問題 と呼ぶことにします。
- 問題についてチケットを送信してください 。 チケットに対して以下のアクションを必ず定義/完了してください。
- 問題を明確に説明してください。 バグの場合は、再現する手順を含めてください。
- 問題に適切なカテゴリを選択してください。
- 問題の影響を受ける製品の最も古いバージョンを選択します。
- [ソリューションの投稿] ボタンをクリックして、表示される投稿者ライセンス契約に応答します。
- 問題に関するチケットがすでに存在する場合は、既存のチケットを通じて参加してください。
GitHub
次のプロセスを使用して、カスタム変更を GitHub に送信します。
- JIRA のチケットへの参照を含む論理的な作業単位をコミットします。 例えば:
LPS-83432 CONTRIBUTING の例を命令形かつ具体的にします - 変更を徹底的にテストしてください。 Liferay Portal がサポートするさまざまなオペレーティング システム、データベース、アプリケーション サーバー、およびその他の関連テクノロジを考慮してください。 ある環境での変更によって別の環境に影響が出ないことを確認してください。
GitHubのフォークにブランチをプッシュする前に、upstream/masterの更新バージョンにリベースすることをお勧めします。
-
マスターから最新のコミットを取得します:
git fetch upstream -
最新のスナップショット バンドルを取得します。
ant snapshot-bundle -
最新のスナップショット リビジョンにリベースします。
git rebase `cat ../bundles/.githash` -
ブランチの変更をフォークにプッシュします。
git push origin my-custom-change -
プル リクエストを liferay/liferay-portal リポジトリに送信します。
-
LPSチケットにGitHubプルリクエストへのリンクを記載します
完了です! まあ、完全にそうではありませんが、—プル リクエストがクローズされるまで、プル リクエストに対するコメントや質問に必ず応答してください。