フォルダ構成
gradle-java-project
├── README.md
├── build.gradle
├── gradle
│ ├── environment
│ │ ├── development
│ │ │ └── env.gradle : 開発環境用のビルド設定
│ │ └── production
│ │ └── env.gradle : 本番環境用のビルド設定
│ ├── install-git-hooks.gradle : Git hook設定用gradleファイル
│ ├── settings
│ │ └── pre-commit : フォーマッター適用Git hook
│ └── wrapper
│ ├── gradle-5.6.3-bin.zip
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle-java-project.code-workspace : VSCode用ワークスペース定義ファイル
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
├── src
│ ├── main
│ │ ├── java
│ │ │ └── gradle
│ │ │ └── java
│ │ │ └── project
│ │ └── resources
│ │ ├── application.properties : 外部定義ファイル
│ │ ├── common.properties : 外部定義ファイル用パス定義ファイル
│ │ └── settings
│ │ ├── files
│ │ └── sql
│ └── test
│ ├── java
│ │ └── gradle
│ │ └── java
│ │ └── project
│ └── resources
└── styleguide
└── eclipse-java-google-style.xml1.8.0_101
- Gradleでpropertiesファイルの文字列を置換
- 【Java】Lombokで冗長コードを削減しよう
- VS Codeを持ち運ぶには(ポータブルモード)
- Visual Studio CodeをオフラインPCで使用する
$code --list-extensions | xargs -L 1 echo code --install-extension
code --install-extension codezombiech.gitignore
code --install-extension DavidAnson.vscode-markdownlint
code --install-extension donjayamanne.githistory
code --install-extension DotJoshJohnson.xml
code --install-extension eamodio.gitlens
code --install-extension formulahendry.auto-close-tag
code --install-extension GabrielBB.vscode-lombok
code --install-extension GrapeCity.gc-excelviewer
code --install-extension jebbs.plantuml
code --install-extension joelday.docthis
code --install-extension mhutchie.git-graph
code --install-extension mkxml.vscode-filesize
code --install-extension ms-azuretools.vscode-docker
code --install-extension MS-CEINTL.vscode-language-pack-ja
code --install-extension ms-python.python
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-vscode-remote.remote-ssh-edit
code --install-extension ms-vscode-remote.remote-ssh-explorer
code --install-extension ms-vscode-remote.remote-wsl
code --install-extension ms-vscode-remote.vscode-remote-extensionpack
code --install-extension mtxr.sqltools
code --install-extension naco-siren.gradle-language
code --install-extension oleg-shilo.codemap
code --install-extension Pivotal.vscode-boot-dev-pack
code --install-extension Pivotal.vscode-concourse
code --install-extension Pivotal.vscode-manifest-yaml
code --install-extension PKief.material-icon-theme
code --install-extension redhat.java
code --install-extension redhat.vscode-xml
code --install-extension redhat.vscode-yaml
code --install-extension spmeesseman.vscode-taskexplorer
code --install-extension sysoev.language-stylus
code --install-extension uctakeoff.vscode-counter
code --install-extension VisualStudioExptTeam.vscodeintellicode
code --install-extension vscjava.vscode-java-debug
code --install-extension vscjava.vscode-java-dependency
code --install-extension vscjava.vscode-java-pack
code --install-extension vscjava.vscode-java-test
code --install-extension vscjava.vscode-maven
code --install-extension vscode-icons-team.vscode-icons
code --install-extension yzane.markdown-pdf
code --install-extension yzhang.markdown-all-in-one-
ソースコード、テストコードビルド
gradle build
buildタスクの依存関係は以下の通り。$gradle build taskTree > Task :taskTree ------------------------------------------------------------ Root project ------------------------------------------------------------ :build +--- :assemble | +--- :distTar | | +--- :jar | | | \--- :classes | | | +--- :compileJava | | | \--- :processResources | | \--- :startScripts | +--- :distZip | | +--- :jar | | | \--- :classes | | | +--- :compileJava | | | \--- :processResources | | \--- :startScripts | +--- :jar | | \--- :classes | | +--- :compileJava | | \--- :processResources | +--- :shadowDistTar | | +--- :shadowJar | | | \--- :classes | | | +--- :compileJava | | | \--- :processResources | | \--- :startShadowScripts | | \--- :shadowJar | | \--- :classes | | +--- :compileJava | | \--- :processResources | \--- :shadowDistZip | +--- :shadowJar | | \--- :classes | | +--- :compileJava | | \--- :processResources | \--- :startShadowScripts | \--- :shadowJar | \--- :classes | +--- :compileJava | \--- :processResources +--- :check | +--- :spotbugsMain | | \--- :classes | | +--- :compileJava | | \--- :processResources | +--- :spotbugsTest | | +--- :classes | | | +--- :compileJava | | | \--- :processResources | | \--- :testClasses | | +--- :compileTestJava | | | \--- :classes | | | +--- :compileJava | | | \--- :processResources | | \--- :processTestResources | +--- :spotlessCheck | | \--- :spotlessJavaCheck | | \--- :spotlessJava | \--- :test | +--- :classes | | +--- :compileJava | | \--- :processResources | \--- :testClasses | +--- :compileTestJava | | \--- :classes | | +--- :compileJava | | \--- :processResources | \--- :processTestResources +--- :installGitHooks \--- :processResources
-
テスト実行
gradle testテストレポートは、以下に出力される。
build/reports/tests
-
カバレッジレポート生成
gradle jacocoTestReport
-
フォーマッター適用
フォーマッターは
styleguide/eclipse-java-google-style.xmlを適用する。gradle spotlessApply
-
成果物削除
gradle clean
buildフォルダが削除される。 -
静的解析
ソースコードのチェックは以下のコマンドを実行する。
gradle spotbugsMain
レポートは、
build/reports/spotbugs/main.htmlに出力される。一方、テストコードのチェックは以下のコマンドを実行する。
gradle spotbugsTest
レポートは、
build/reports/spotbugs/test.htmlに出力される。 -
Git hookの設定
git commit時に自動でフォーマッターを適用するhookを設定する。gradle installGitHooks