このセクションでは、Lombok と Jtest を統合する方法を説明します。

はじめに

Lombok は、Java プロジェクトに追加する必要がある定型コードの量を減らすのに役立つライブラリです。Lombok アノテーションを使用すると、データ オブジェクトのゲッターおよびセッターを自動生成し、スクラッチから手で記述する時間と労力を節約することができます。Lombok ライブラリについての詳細は https://projectlombok.org で参照できます。

Jtest と Lombok を統合すると、コマンド ラインまたは IDE からの解析およびテスト実行時に、Lombok によって生成されたコードを認識できます。

サポート対象バージョン

Jtest は Lombok 1.18.4 - 1.18.12 および 1.18.20 - 1.18.22 をサポートしています。

Jtest と Lombok の統合

Jtest と Lombok ライブラリを統合するには、次の操作を行います。

  1. コマンドライン インターフェイスを開きます。
  2. <JTEST_INSTALL_DIR>/integration/lombok に移動します。
  3. 次のコマンドを実行します。
    Windows の場合:

    gradlew installLombok --no-daemon

    Linux または Mac OS の場合:

    ./gradlew installLombok --no-daemon

    こうすると、Jtest と https://projectlombok.org/downloads/lombok-1.18.22.jar から入手可能な Lombok 1.18.22 が統合されます。

別のバージョンの Lombok ライブラリと Jtest を統合するには、lombokLocation コマンド ライン オプションを使用して lombok.jar への URL またはパスを指定します。例:

Windows の場合:

gradlew installLombok -PlombokLocation=c:\downloads\lombok.jar --no-daemon

Linux または Mac OS の場合:

./gradlew installLombok -PlombokLocation=/home/account/downloads/lombok.jar --no-daemon

既知の制限事項

  • まれに、Lombok によって行われるクラス修飾が原因で、違反とソース コードが一致せず、静的解析が一部のルールの違反をレポートできない場合があります。
  • Lombok 1.18.14 には Eclipse IDE へのインストールを妨げるバグがあるため、サポートされていません。詳細については https://github.com/rzwitserloot/lombok/issues/2599 を参照してください。
  • Lombok 1.18.16-18 にはコード解析時に例外を発生させるバグがあるため、サポートされていません。詳細については https://github.com/projectlombok/lombok/issues/2607 を参照してください。
  • 以下の Jtest ルールは、Lombok アノテーションを含むコードに対して実行すると、適切に動作しない可能性があります。

CODSTA.READ.AEFS
CODSTA.BP.ARN
CODSTA.READ.CCB
CODSTA.READ.DVCU
EXCEPT.AEFC
EXCEPT.CTE
EXCEPT.TSCE
FORMAT.ASPACE
FORMAT.CBRACE
FORMAT.DOT
FORMAT.FCB
FORMAT.IND
FORMAT.SAP
FORMAT.SAS
FORMAT.SAUOP
FORMAT.SBUOP
FORMAT.SC
FORMAT.SCOP
INIT.AULI
JUNIT.CSUTD
NAMING.NPH
OPT.ANIPW
PB.LOGIC.AOBO
PB.CLOSE
PB.LOGIC.OAMC
PB.CUB.SBC
PB.NUM.UBD
SECURITY.WSC.ARXML
SECURITY.WSC.INIVF
SECURITY.WSC.SCSM
TRS.IASF
UC.AEEO
UC.DIEB
UC.UCIF
UC.UIMPORT
FORMAT.SAC
FORMAT.SAOP
FORMAT.SBOP
FORMAT.SROP
FORMAT.SCOP
FORMAT.SLOP
TRS.ILI
INIT.CLIB




  • No labels