今週の OSS 活動

誰が読むのか謎ですが、 OSS 活動のまとめを記してきたいと思います。

Xenium LLMNR Responder

関心のない人が大多数だと思いますが、 xllmnrd は Xenium LLMNR Responder に名前が変わりました。

最近はバージョン 4.0 に向けて C++ での再実装を進めていたりします。 C に比べると格段に楽ができますね。

C++UnitX

ようやく個別のテスト コードまで実行されるところまできました。その一方、 libltdl の利用を諦め、自前で動的ローディング対応を進めることにしました。

いや libltdl もよくできているのですよ。多機能ゆえに Windows 対応が大変になりそうだっただけで。すでに dlopen 以外の動的ローディングなんて Windows ぐらいしか事実上残ってませんからね。

API for Bitbucket Cloud (Java)

Java 用の Bitbucket REST API ですが、バージョン 5 のリリース以降に大幅な変更を加えています。大きな目玉は JSON 対応に JSON-B を利用することにしたところですが、長すぎるパッケージ名の短縮とか互換性維持なんか無視しています。こんなことができるのもユーザーの少ない間だけですね。

それでは、 May the Open Source be with you!

Mercurial 履歴から ChangeLog を作成する方法

Mercurial には テンプレートが付属しているので hg log -T changelog とすれば出力されるのですけど、そのままでは履歴全部が対象になってしまうこともあって、うまく使うにはちょっとした手間が必要だったりするので、簡単に紹介します。

現在のリビジョンまでを日時順で

現在のワークからたどり着ける過去の履歴を日時の降順で出力するにはこうします。

hg log -T changelog -r "sort(::., -date)"

::. がワークからたどり着けるすべてのリビジョン、 sort(::., -date) でそれを日時の降順でソートします。簡単ですね。

Azure Pipeline で Maven のデプロイ承認

Azure Pipeline の承認 (approvals) 機能は、ステージ (stage) の開始前にしか使えないのと、 Apache Maven ではライフサイクル途中からの実行が原則としてできないことから、デプロイ処理だけ承認を必要とするパイプラインを構成するのがやや難しかったのですが、承認の有無でステージを分けて condition で選択する方法で実現してみました。

続きを読む →

OpenJ9 で NetBeans 起動を高速化

前回 NetBeans IDE 8.2 に OpenJ9 を利用してみましたが、更に OpenJ9 固有の -Xshareclasses オプションを使うことで起動の高速化を試みました。

Windows で OpenJ9 を試してみようか

方法は NetBeans IDE のショートカットをコピーして、実行コマンド (netbeans64.exe) に -J-Xshareclasses:name=netbeans_8_2 -J-Xscmx64m を追加するだけです。

これで二回目以降の起動は目に見えて速くなりましたね。IDE の再起動も気軽にできるようになりました。

外部スクリプトがロード完了したら何か実行する

次のようなコードを書いてみたが穴はないだろうか。

((scriptId, init) => {
    if ("commonmark" in window) {
        init();
    }
    else {
        let script = document.getElementById(scriptId);
        script.addEventListener("load", function () {
            init();
        });
    }
})("commonmark-script", () => {
    window.console.log("init!");
});

更新: 初出時コード中の改行が反映されていなかったので訂正しました。

Windows で OpenJ9 を試してみようか

Windows x64 バージョンの OpenJ9 を組み込んだ OpenJDK 8 がリリースされていたので、インストールしてみました。

インストールは zip ファイルをダウンロードしてばらすだけなのですが、古い OpenJDK の常で cacerts が空っぽなので、 OpenJDK 10 からコピーしておきました。

試しに NetBeans IDE 8.2 に使ってみると、気持ち起動が速いかなと感じましたね。しばらくこれで使ってみましょうか。サポートも 2022 年 9 月まで続けるようですし。

それでは。

NetBeans 9.0 を試してみました

Oracleから譲渡されて約2年、Apache財団が「NetBeans 9.0」を正式リリース – 窓の杜

とのことで、取り急ぎ試してみました。

まだ実行形式インストーラーが用意されていないので、インストールは zip ファイルをばらすだけでショートカットも何もありません。

現時点で対応しているのは Java SE プロジェクトのみなので、普段 Java EE を使っている当方では本格的な移行はまだ先になりそうです。プラグインが揃った頃にまたチャレンジしましょう。