しおしお

IntelliJ IDEAのことなんかを書いてます

Gradle

Gradle Dependencies HelperプラグインをKotlin DSL対応したよ

Gradle Dependencies Helper - Plugins | JetBrainsのKotlin DSL対応したよ。 これで、今までGroovy DSLでしか出来ていなかったArtifactやVersion番号の候補表示がKotlin DSLでも出来るようになるよ。 こんな感じのことができるよ。 ※2020.1 (eap)の対応とし…

IntelliJ IDEA 2019.1でのJUnit実行について…

IntelliJ IDEA 2019.1からはデフォルトではGradleでテスト実行されるようになったようです。 例えばテストを実行すると、こんな感じにGradleで実行されます。 実行方法の設定変更方法 Settings -> Build, Execution, Deployment -> Build Tools -> Gradle ->…

Gradle 5.0でMavenのBOMを使おう

Managing Transitive Dependenciesあたりをお試ししてみました。 implementation platformを使ってみる build.gradle BOMをimplementation platformに指定します。 BOMで定義されているバージョンを使用するので、個別のライブラリ(この例ではjackson-databi…

Dockerfile不要のコンテナビルダーのGradleプラグインを触ってみた

↓を見て便利そうなのでどんな感じなのかなと触ってみました。Dockerfile不要のJava向けコンテナビルダー。MavenやGradleのプラグインとして動作する / “Google Cloud Platform Blog: Introducing Jib — build Java …” https://t.co/bAsxCO4lGr— progrhyme (@…

Gradle4.6-rc1からのBOMサポート

Gradle 5.0のfeature previewでGradle5.0からはデフォルトで有効になるかもしれないやつらしいです。 Gradle4.6 RC1で使う場合には、enableFeaturePreview('IMPROVED_POM_SUPPORT')をsettings.gradleに追加してこの機能を有効化する必要がある。 settings.gr…

Gradle4.6-rc1からのJUnit5サポートを試してみた

Gradle4.6からのJUnit5サポートをお試ししてみた。これより古いバージョンはGradleからJUnit5のテストを実行する - しおしおのエントリのようにする必要があると。 build.gradleの内容 test.useJUnitPlatformでJUnit5を有効化してあげる。 これだけでよくて…

Gradle&JUnit5でJaCoCoを使う

Gradle&JUnit5の組み合わせでJaCoCoを使用した場合、デフォルトだとテスト実行時のカバレッジを取得することができない。*1 なので、この組み合わせでJaCoCoでカバレッジをとりたい場合は、JaCoCoプラグインの設定を変更する必要がある。 JaCoCoプラグインへ…

GradleのcompileOnly知らなかったので使ってみた

Gradle2.12からコンパイル専用のスコープが導入されていたらしいので試してみた。 build.gradleの定義 compileOnlyを使うことで、コンパイル時のみ依存するライブラリを定義できる。 testCompileOnlyを使うと、テストのコンパイルじのみ必要なライブラリを定…

Gradleのsonarqubeプラグインを使ってみる

Analyzing with SonarQube Scanner for Gradle - Scanners - Doc SonarQubeを使ってGradleなプロジェクトの品質チェックを行う方法。 sonarqubeプラグインを導入する Gradleのbuildスクリプトに以下を追加する。(バージョンは現時点での最新) plugins { id "…

DomaをIntelliJ&Gradleの組み合わせで使った場合にIntelliJでビルドできるようにする

DomaをIntelliJ&Gradleで使ったば場合にIntelliJ側でもビルドできるようにする手順です。 バージョンなど Gradle task wrapper(type: Wrapper) { gradleVersion = '3.3' } IntelliJ IDEA 下のバージョンで確認をしました。 2016.3.2 2017.1(EAP) プロジェク…

Gradleで似たようなタスクをグループ化する

Gradleのグループ化機能を使うと同じ種類位のタスクをグループでまとめられるようになる。 IntelliJを使っている場合、Gradleウィンドウではグループ毎にタスクがまとめられて表示されるので、ビルドスクリプト側でグループ化しておくとIntelliJさんでもタス…

GradleのjarタスクでMANIFEST.MFにgit情報を書き込むプラグイン作ってみた

Gradleのjarタスクで、gitのどのリビジョンをベースに作成したかをMANIFEST.MFに書き込むGradleプラグインを作ってみた。 作った理由 最近、社内のMavenリポジトリに古いソースコードベースのartifactが頻繁にアップされてかなりハマったので。。。 jarがど…

Gradleのcoberturaプラグイン2.2.7以上で発生するClassNotFoundExceptionへの対処方法

Gradleのcobertura-pluginのバージョンを2.2.7以上に上げた場合にClassNotFoundExceptionがでてテストが実行できない件の対処方法。 build.gradleの内容 plugins { id 'net.saliman.cobertura' version '2.2.8' } group 'siosio.test' version '1.0-SNAPSHOT…

IntelliJでGradleプロジェクトを新規作成した時に出力されるbuild.gradleの内容を変更する

IntelliJでGradleプロジェクトを新規で作った場合、build.gradleが以下の内容で出力される。(Use default gradle wrapperを選んだ場合はwrapperタスクは出力されていないと思います。)この内容だと、ソースコードの準拠レベルが1.5だったりjunitのバージョン…

SpringBoot+Gradleでホットデプロイを使えるように

GradleなSpringBootプロジェクトでホットデプロイを有効にする手順(IntelliJ IDEA大好きっ子なので、IntelliJ IDEAベースでの手順になってます。)Spring Boot Reference Guideによると、springloadedなるものを使ってあげるだけで、わりと簡単にホットデプロ…

IntelliJのGradle Dependencies Helperプラグイン動くようにした話

かなり昔に作って、動かなくなったまま放置してたJetBrains Plugin Repository :: Gradle Dependencies Helperを動くように直したよ。動かなくなってた理由は、dependenciesでBasic補完(Ctrl(command) + Space)をプラグインでフックできなくなったことが原因…

Gradleで変更がない場合にタスク実行をスキップする方法

Gradleでカスタムタクでインプットファイル等に変更がない場合、タスクの実行をスキップ(UP-TO-DATEって出力されるやつ)する方法。入力情報が存在しない場合に、タスクをスキップさせるには、Taskのinputsとoutputsプロパティに入出力情報を指定してあげる。…

Gradleで実行したテストが失敗した場合にJenkinsジョブをunstableにする

Gradleで実行したテスト(JUnit)が失敗すると、Jenkinsジョブがfailして結構困ってたけど、 testタスクの「ignoreFailures」を「true」にしてあげれば良いらしい。http://stackoverflow.com/questions/8343871/mark-gradle-build-unstable-in-jenkins-when-j…

Gradle書くのをちょっと便利にするIntelliJのプラグインが使い物にならなくなってた件

IntelliJ IDEA 13 Beta(132.1045)を入れてみたら、Gradle書くのをちょっと便利にするIntelliJのプラグイン作ってみた - しおしおの雑記帳と同じことが、公式のGradleプラグインで出来るようになってた・・・公式のGradleプラグインでできることは、画像のよ…

Gradle書くのをちょっと便利にするIntelliJのプラグイン作ってみた

Gradleのdependencies書くときMavenリポジトリ検索して、コピペして書いてくのだるかったので、 Basic CompletionでMaven検索して候補に表示してくれるプラグインを作ってみたよ。 できること Ctrl + Space(Basic Completion)すると、下の画像のように候補を…

GradleのFinalizer tasksを試す

Finalizer tasksを使うと、タスク終了時に指定したタスクを実行出来るようになる。 例 この例の場合、hoge1タスクが終了するとhoge2タスクが実行されます。 task hoge1 << { println 'hoge1' } task hoge2 << { println 'hoge2' } hoge1.finalizedBy hoge2 …

IntelliJ IDEA13EAP(build130.754)でGradleプロジェクトの作成

IntelliJ IDEA13(現時点ではまだEAP)でGradleなプロジェクトを作る方法。 build.gradleの作成 IntelliJでプロジェクトとしたいディレクトリを作成し、そのディレクトリ直下に「build.gradle」を作成する。IntelliJでのプロジェクト名は、このディレクトリ…

KotlinのGradleプラグイン

KotlinのGradleプラグインがあるらしいので試してみました。Gradleのbuildスクリプトサンプルは、以下のKotlinのサイトに上がっています。 Kotlin Build Tools - Kotlin - Confluence サンプルbuildスクリプト buildscript { repositories { mavenCentral() …

JetGradleのリフレッシュでメモリ関連のエラーが出た場合の対処方法

JetGraidleのリフレッシュで以下エラーが出た場合の対処方法。 Refresh failed: Could not fetch model of type 'IdeaProject' using Gradle installation 'D:\gradle-1.4'. Unable to start the daemon process. This problem might be caused by incorrect…

Gradleトーキョーにいってきた!

Gradleトーキョー : ATNDに参加してきたので、簡単に勉強会の内容を纏めてみます。 勉強会の内容 会場につくまで、どんな感じの勉強会になるのかわかりませんでしたが、ハンズオン形式で進んで行きました。(PC持って来といてほんとよかった。) Gradle入門 …

GradleでSphinxをビルドしてみた。

お仕事でSphinxでドキュメント書いてて、Gradleでビルドしてるときたら、SphinxもGradleからビルドしないとダメだよねってことでやってみた。お試しプロジェクトの構成はこんな感じで、プロジェクト直下のdocディレクトリにドキュメントが格納されていると。…

JenkinsでGradleを使おう

閉鎖環境のJenkinsでGradleを使ってビルドする方法をまとめてみた。閉鎖環境じゃなかったら、gradleWrapperを使って簡単にできるみたい(であってるかな?)。幸いにも、俺の職場は開発PCは外部にアクセスできるので好きなものを落としてきて入れれるので、J…

Gradleでプロジェクト配下のライブラリをクラスパスに追加する方法

GradleでJavaプロジェクトのbuild時に、プロジェクト配下のディレクトリにあるライブラリ(jar)をクラスパスに追加してあげる方法。Javaプラグインの依存関係の設定を使用して、プロダクションコードとテストコードのコンパイル用クラスパスを設定してあげま…

Gradleでpropertiesファイルから設定値を読み込もう

Gradleでantみたいに外部ファイル(propertyファイル)に設定値を切り出す方法 とりあえず、このへんを見て使ってみました。 http://www.monochromeroad.com/artifacts/gradle/userguide/tutorial_this_and_that.html#sec:gradle_properties_and_system_proper…

IntelliJでGradle

Gradleのダウンロード Gradleは、以下のサイトからダウンロードする。とりあえず最新版を落とせば良いかと。 http://www.gradle.org/downloads IntelliJにGradleのホームディレクトリを設定 プロジェクト設定からGradleを選ぶとGradle homeが設定できます。 …