Releases: igapyon/miku-javaclass2json-java
Release list
v0.5.4.1 : -sources.jarを生成するように
v0.5.4 CLI / Maven plugin の進捗表示、split phase 実行、class JSON の出力構造を改善
v0.5.4 CLI / Maven plugin の進捗表示、split phase 実行、class JSON の出力構造を改善
概要
CLI / Maven plugin の進捗表示、split phase 実行、class JSON の出力構造を改善したリリースです。
主な変更
- CLI に
--verboseを追加し、進捗メッセージを stderr に出力できるようにしました - Maven plugin に
miku-javaclass2json.verboseを追加し、進捗を Maven log に出力できるようにしました step2/step3で--step1-outputを省略した場合、--output/binary-names.jsonlを参照するようにしました- per-class JSON の出力先を
classes/からcls/に変更しました $付き nested / anonymous class を top-level class JSON のnestedClasses[]に内包する構造へ変更しましたclasses.jsonlのpathをcls/...参照へ更新しました- CLI module で sources jar を生成する Maven 設定を追加しました
- README と設計ドキュメントを、verbose、split phase、
cls/、nestedClasses[]の仕様に合わせて更新しました - CLI / core API / Maven plugin のテストを追加・更新しました
確認
mvn testmvn package -DskipTests
v0.5.2 CLI にバージョン表示オプションを追加
v0.5.2 CLI にバージョン表示オプションを追加
概要
miku-javaclass2json CLI に --version / -v を追加し、プロジェクトバージョンを 0.5.2 に更新します。
変更内容
- CLI で
--version/-vを受け付け、miku-javaclass2json 0.5.2を出力する処理を追加 - Maven resource filtering で
project.versionをversion.propertiesに埋め込み、CLI から参照するように変更 --helpの Usage にmiku-javaclass2json --versionを追加--versionのユニットテストを追加- root / module POM のバージョンを
0.5.1から0.5.2に更新 - README、advanced indexing docs、self-jar smoke script の jar / Maven plugin バージョン表記を
0.5.2に更新 - filtered properties の encoding を明示するため
maven-resources-plugin設定を追加
確認
mvn testmvn packagejava -jar miku-javaclass2json/target/miku-javaclass2json-0.5.2.jar --version
v0.5.1 大規模な Java class / jar 対策+逆引きサマリ生成を追加
v0.5.1 大規模な Java class / jar のインデックス生成に向けて、出力サイズを抑えるためのパッケージ除外指定と、メソッド呼び出しの逆引きサマリ生成を追加
Release Body
概要
大規模な Java class / jar のインデックス生成に向けて、出力サイズを抑えるためのパッケージ除外指定と、メソッド呼び出しの逆引きサマリ生成を追加しました。
method-call-summary.jsonl から method-call-reverse-summary.jsonl を生成できるようになり、「どのクラス・メソッドが呼び出されているか」を target-first で検索しやすくなっています。
主な変更
-
パッケージ除外指定を追加
--exclude-packageにより、指定パッケージのクラスをインデックス対象から除外classes.jsonl、sources.jsonl、symbols.jsonl、dependencies.jsonl、method-calls.jsonl、method-call summary、per-class JSON の dependencies/calls に反映- shaded library や生成コードなど、大規模入力で JSONL が膨らみやすいパッケージを外部から指定可能
-
method-call edge 専用の除外指定を追加
--exclude-call-packageにより、クラス・シンボル・依存関係は残しつつ、該当パッケージに関係する method-call edge のみを除外可能
-
逆引きメソッド呼び出しサマリを追加
method-call-reverse-summary.jsonlを生成method-call-summary.jsonlと同じ集約粒度で、toClass/toMethodを先頭にした target-first 形式を出力index.jsonにmethodCallReverseSummaryIndexを追加
-
split phase に
step4を追加step4はmethod-call-summary.jsonlからmethod-call-reverse-summary.jsonlを生成.class/.jarを読み直さず、既存の summary から派生ファイルを作成
-
CLI help を拡充
- 生成ファイル一覧
step1からstep4の責務--exclude-packageと--exclude-call-packageの違い- 大規模システム向けの注意
- wildcard pattern のクォート例を追加
-
Maven plugin に除外パラメータを追加
miku-javaclass2json.excludePackagesmiku-javaclass2json.excludeCallPackages
-
ドキュメントを更新
- README に reverse summary、除外指定、
step4、Maven plugin parameter を追加 - advanced indexing に split 実行時の除外指定と
step4を追記 - design memo に
noDescendPackages/excludePackages/excludeCallPackagesの違いを追記
- README に reverse summary、除外指定、
-
バージョンを
0.5.1に更新- parent / child POM
- README
- advanced docs
- smoke script
確認
mvn test
v0.5.0.1 miku-javaclass2json-java 初回リリース
v0.5.0.1 miku-javaclass2json-java 初回リリース
概要
miku-javaclass2json-java の初回リリースです。
Java の .class ファイル、classes ディレクトリ、.jar ファイルを読み取り、agent workflow 向けの JSON / JSONL artifacts を生成します。コンパイル済み Java のクラス構造、symbols、dependencies、method-call surface を、ソース全体を読む前に確認できるようにします。
主な内容
- CLI
miku-javaclass2jsonを提供indexコマンドで.class/ classes directory /.jarを索引化- 出力先未指定時は
.java-class-indexに生成
- Maven plugin
miku-javaclass2json-maven-pluginを提供- 明示実行による index 生成に対応
classesDirectory/outputDirectory/skipの設定に対応
- JSON / JSONL artifacts を生成
index.jsonclasses.jsonlsymbols.jsonldependencies.jsonlmethod-calls.jsonlmethod-call-summary.jsonlsources.jsonlwarnings.log- per-class JSON files under
classes/
- method call 情報を出力
- per-class JSON の
calls[] - streaming search 向けの
method-calls.jsonl - 集約済み call edge 向けの
method-call-summary.jsonl
- per-class JSON の
invokedynamicを bytecode-level call surface として記録- advanced indexing / development guide / design memo を docs 配下に整理
確認
mvn test