mike-neckのブログ

Java or Groovy or Swift or Golang

2020-06-01から1ヶ月間の記事一覧

graalvm-native-image プラグイン 0.6.1 続いて 0.7.0 をリリースしました

表題のとおりですが、 0.5.0 をほぼ全部書き換えています。 API そのものは変更していないので、ユーザーが既存のビルドを維持する場合に現在の DSL に手を加える必要はありません plugins.gradle.org 正確には v0.6.1 を 2020-06-21 に v0.7.0 を 2020-06-3…

savanna-gradle-plugin をリリースしました

仕事サボって作ってた pic.twitter.com/XOX7zWviLY— 引きこもり持田 (@mike_neck) 2020年6月19日 会社で仕事をサボってツイッター見てたら、t_wada さんのトレードマークと言えるライオンに関するツイートがいくつか流れてきました。 テストが書かれていない…

Gradle の C++ プラグインを使って JNI から C++ のコードを呼び出すアプリケーションをビルドする(Android プロジェクトではない)

GraalVM の native-image を作る際に利用する config.json を自動生成させて、アプリケーションを複数回実行してマージするというのをやろうとしており、 JNI を使う Java アプリケーション(JNA ではない)を Gradle でビルドする必要が出てきたが、残念なこ…

Proxy の InvocationHandler から interface の default メソッドを呼び出す方法

proxy を取得する対象のインターフェースクラスで MethodHandles.lookup() を呼び出して MethodHandles.Lookup を取得する で取得した MethodHandles.Lookup のインスタンスから unreflectSpecial(Method, Class) を呼び出して、MethodHandle を取得する pro…

検査例外を検査無しで投げる邪悪な方法

netty のコードで結構前に見かけて覚えていたけど、完全に失念してて悔しかったので、メモ 呼び出し側にとってはこういうコード書かれたらかなり邪悪だと思う。