Skip to content

Gradleでマルチモジュールのプロジェクトを作ってみる

Notifications You must be signed in to change notification settings

izuno4t/gradle-multi-project-example

Repository files navigation

gradle-multi-project-example

Gradleでマルチモジュールのプロジェクトを作ってみる。

Build Status codecov

構成

  • Java17
  • SpringBoot2.5
  • Gradle6.7

プロジェクトの構成

プロジェクトの構成は1つのライブラリモジュールを1つのコマンドラインアプリケーション(batch)と2つのWebアプリケーション(webapp、webservice)で参照する以下の様な構成

gradle-multi-module-example
├ core        # 他のモジュールで共用するモジュール
├ batch       # batchアプリケーションのモジュール
├ webapp      # Webアプリケーションのモジュール
└ webservice  # Webサービスのモジュール
  • core - webapp、webservice、batch から参照されるライブラリモジュール
  • batch - SpringBoot を利用したコマンドラインアプリケーション
  • webapp - SpringBoot を利用したのWebアプリケーション
  • webservice - SpringBoot を利用したのWebアプリケーション

DBマイグレーション

  • マイグレーションの実行

    ./gradlew clean flywayMigrate
  • マイグレーションのクリア

    ./gradlew clean flywayClean
  • マイグレーションの照会

    ./gradlew clean flywayInfo

静的解析

  • Checkstyle の実行

    ./gradlew checkstyleMain
  • PMD の実行

    ./gradlew pmdMain
  • CPD の実行

    ./gradlew cpdCheck
  • SpotBugs の実行

    ./gradlew spotbugsMain

依存関係の更新

./gradlew dependencyUpdates -Drevision=release

ToDo

  • batch、webapp、webservice でそれぞれ異なるバージョンの core に依存させる場合どうやるのか?
    • maven ならローカルもリモートも依存関係の記述の仕方が一緒だけど、gradle は書き方が異なる。
  • 依存するSpringBootのバージョンを変更したいときはどうするのか?

リファレンス

About

Gradleでマルチモジュールのプロジェクトを作ってみる

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published