Gradle

Javadocから作成したXMLを読み込み、クラスと突き合わせてファイル出力してみる

typescript-generatorプラグインでJavadocからTSDocを生成したのち、XMLを直接読み込んだらいろいろできそうだなと思いついた。 Enumの値のJavadocと、フィールドで設定された値を出力したい場合があり、試してみたらできたのでメモ。 やりたいこと 実装例 J…

typescript-generatorプラグインでJavadocからTSDocを生成するとWindows環境でエラーとなった

前回の続き。 JavadocからTSDoc変換をできるようにしたが、運用しているとJavadoc出力時にエラーが出る場合があったのでメモ。 Windowsでエラーが発生する 振り返り Windowsでエラーが発生する 特定の端末で「docletクラスcom.github.markusbernhardt.xmldoc…

typescript-generatorプラグインでJavadocからTSDocを生成する

以前調査したtypescript-generator、その後もパラメーター調整しながら使用しているが、困ったのがヒアドキュメント。 Java側ではJavadocでクラスやプロパティの説明を書いているが、生成したTypeScriptのインターフェース定義ファイルにはデフォルトだと出…

GradleでコンパイルするJavaのバージョンを指定するときはJavaVersion列挙型が使える

小ネタ。 GradleでJavaのコンパイルするバージョンなどを指定する際、お決まりで apply plugin: 'java' sourceCompatibility = 1.8 targetCompatibility = '1.8' のように記述するが、ここに列挙型が使える。 ただ、毎回クラス名が何だったか忘れるのでメモ…

WindowsでGradleのbootRunがCreateProcess error=206になるときの対応方法と、Kotlinで記述している場合の注意点

開発端末がmacOSだけのプロジェクトに、ひとりWindowsでアサインされた。 プロジェクト管理がGradle、フレームワークがSpring Boot、開発言語がJavaまたはKotlinだったので、さっそく gradlew.bat bootRun すると、 A problem occurred starting process 'co…

GradleでprocessResources時にシンボリックリンクを作成(Windows, macOS対応)

Spring Bootを使ったJavaプロジェクトで、 bootRun をしてから起動するまで数分かかっていた。 調べてみると、 processResources タスクで src/main/webapp/WEB-INF を build/build/resources/main/WEB-INF にコピーしていたが、 src/main/webapp/WEB-INF 配…

macOSでGradleを実行してもIDLEプロセス1つだけで進まなくなったら、ファイアウォールでブロックされているかもしれない

新しいMacBookを購入した人から、開発環境構築中に ./gradlew build がエラーになるとの相談を受けた。 地獄のようにハマったのでメモ。 状況 原因 対応 その後の問題と対応 振り返り 追記 状況 新しいMacBookにて、Gradleを使ったJavaプロジェクトで ./grad…

JavaクラスからTypeScriptのインターフェース定義を生成するtypescript-generator Maven/Gradleプラグインを試してみた

フロントエンドをTypeScriptで記述することとなり、リクエストやレスポンスで受け渡すデータもTypeScriptで型定義したいという要望がでてきた。 バックエンドはSpring Bootを使ったJavaアプリケーションで、ダブルメンテになると面倒。 JavaのクラスからType…

GradleのテストがUP-TO-DATEの場合の再テスト実行方法とcleanについて

前回のように、調整でGradleの test タスク実行を繰り返していると、変更がない場合 UP-TO-DATE となって実行されない。 gradle clean test ではコンパイルからやり直しだし、いちいちテストを変更して再実行するのも面倒。手軽にテストを再実行する方法を調…

SpockのテストをグルーピングしGradleタスク化、指定されたタスクで条件判定して処理を切り分け

前回の続き。 アサインされたJavaプロジェクトではSpring Bootを使用しているが、ユニットテストではモックが使われていなかった。 @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) でWebサーバーを起動し、 TestRestTemplate でControllerク…

Eclipse 2019-09にしたらGradle(Buildship)でdefaultOutputDirの指定ができなくなった

BuildshipでdefaultOutputDirを指定していたが、Eclipseを2019-03から2019-09に更新すると、エラーが出るようになった。 Eclipseの仕様変更が原因のようなのでメモ。 環境 Eclipse 2019-09、Buildship 3.1.2で確認。 状況 前回の記事の設定だと、Eclipse 201…

Gradle Eclipseプラグイン(Buildship)でdefaultOutputDirを上書きさせない

古いGradleプロジェクトをEclipseで開いたら、クラスファイルの出力先が変わっているという相談を受け調べたのでメモ。 追記 Eclipse 2019-09だと、この方法が使えない模様。以下参照。 Eclipse 2019-09にしたらGradle(Buildship)でdefaultOutputDirの指定が…