Class ModuleXmlConcatCommand

java.lang.Object
com.streamconverter.command.AbstractStreamCommand
com.streamconverter.sloc.command.ModuleXmlConcatCommand
All Implemented Interfaces:
IStreamCommand

モジュール名リストを読み込み、各モジュールの JaCoCo XML ファイルを連結して出力するコマンド。

入力: モジュール名を1行ずつ列挙したテキスト(プロジェクトルートからの相対パス解決に使用)

 streamconverter-core
 streamconverter-db
 ...
 

出力: 各モジュールの <report> 要素を連結したストリーム。XML宣言・DOCTYPE宣言は全モジュールで除去し、 先頭に <?xml version="1.0" encoding="UTF-8"?> を1つだけ付与する。結果は複数のルート要素を持つ Well-formed ではない XML となるが、JacocoXmlToModuleSlocCommand<jacoco-reports> ラッパーで包んでパースするため実用上は問題ない。

YAGNI: 厳密な Well-formed XML が必要になった場合は、ラッパー要素で包む対応が容易にできる。