Lombokを拡張する方法を探していたのだが、想定していたよりも情報量が少なかったので備忘録がてらここへ記録。
結果として、日本語、英語、中国語の技術記事をかき集めることになった。
カスタマイズはjavacのtools.jarを扱うことになるので、ハードルは割と高め。
(javacパッケージの圧倒的なドキュメント不足に苦しむことになるので、基本的には実装済みのコードを漁ることになるはず)
ちなみにLombokのv1.18.16(2021/01/11時点での最新版)のビルドにはJava11以降が必要。
一応、以下の手順で一応カスタマイズ自体とJARのビルドが可能。
(Java11以降とApache Antのインストールが必要なため、Dockerの利用前提)
(Gitは予めインストールしておくこと)
手順: 環境構築(Docker起動まで)
# LombokのプロジェクトをGitHubからクローン
git clone https://github.com/rzwitserloot/lombok.git
# プロジェクト内(lombok)へ移動
cd lombok
# CentOSのイメージを起動
docker run -it --rm -v `pwd`:/lombok centos:centos7
手順: Dockerログイン後
# CentOS内にyumで必要なものをinstall
yum -y install which wget java-11-openjdk-devel
# antのインストール
mkdir /tmp/ant
cd /tmp/ant
wget http://www.apache.org/dist/ant/binaries/apache-ant-1.10.9-bin.tar.gz
tar zxvf apache-ant-1.10.9-bin.tar.gz
mv apache-ant-1.10.9 /usr/share/ant
ln -s /usr/share/ant/bin/ant /usr/bin/ant
# version確認
ant -version # Apache Ant(TM) version 1.10.9 compiled on September 27 2020
java -version # openjdk version "11.0.9.1" 2020-11-04 LTS
# lombokのディレクトリへ移動(Dockerのvオプションで指定した場所)
cd /lombok
# lombok.jarの作成(ビルド)
ant dist
問題がなければ、distディレクトリ配下にlombok.jarが出来上がるはず。
ちなみにバージョンについては[src/core/lombok/core/Version.java]で管理されている模様。