とあるプロジェクトでJavaファイルを作成した。
リリースするのは、コンパイルされたclassファイルのみである。
リリース用にclassファイルのみ固めたものの、元となるソースが漏れなく含まれているかを確認したい。
ファイル数で確認できそうだが、複数クラス出力するjavaもいるし…
そんな時は以下のようにする。
1. javaのみ固めたフォルダと、classのみ固めたフォルダをそれぞれ用意。
2. コマンドプロンプトを起動し、javaのみ固めたフォルダに移動して、以下を実行。
dir /b /s *.java > javalist.txt
※ファイルリストを取得する。/bはファイル名のみ、/sはサブフォルダを含む。拡張子を絞っている。
3. 同様にclassのみ固めたフォルダに移動して、以下を実行。
dir /b /s *.class > classlist.txt
4. 生成されたテキストをそれぞれエディタで開き、以下のように加工する。
・パッケージより手前のフォルダパスは削除
・拡張子を削除
5. 加工したテキストをWinMerge等の比較ツールで比較
・差異なく表示される。
・1Javaから複数クラス出力されたものは差異として出るが、一見してわかる。
以上、ただの愚直な手順でした。