諸事情あって青空文庫のデータをEPUBにする必要があったので色々探してたらAozoraEpub3なるものを見つけた。
幸いなことにOSSで公開されているので何かあったら自分で手を入れられるのもよかったし、しっかり作られてる印象があったので自分用にメモを残す。
開発環境
まずは作者さんに感謝しつつ下記記事を参考に開発環境を整える。
自分の開発環境はVSCode+Java Extensionなんで、そっち向けにメモを残す。
ちなみに自分用にはGUIは不要だったのでAozoraEpub3Appletを使う人はローカルにAdoptium+Ant環境を用意するといいと思う(未検証)
必要なツール類
- Docker for Desktop
- Visual Studio Code
- Java Extension
ソースコードのClone
git clone https://github.com/kyukyunyorituryo/AozoraEpub3.git
VSCode環境
開発環境用のDockerコンテナが必要なので次の手順に従ってコンテナを追加。ついでにGradleとAntのインストールもやってしまう。
Javaのコンテナを使う(Microsoft Build of OpenJDKだと思う)
最終的なパッケージングにはantが必須なのでantを探して追加。
上記の設定ができたらdevcontainer.jsonができるので、Reopen in container
で上記設定のコンテナを起動する。
デバッグ実行
create a launch.json file.
からlaunch.jsonを追加すると自動でデバッグ用のファイルが作られる。
これだけだとデバッグ実行できないのでコンテナ内に適当に青空文庫のtxtファイルをダウンロードしてきてargs
で入力元のtxtファイルパスを指定する。
...
{
"type": "java",
"name": "AozoraEpub3",
"request": "launch",
"mainClass": "AozoraEpub3",
"projectName": "AozoraEpub3",
"args": [
"/workspaces/AozoraEpub3/424_ruby_19825.zip"
]
},
...
これでデバッグ実行はできるけど、Velocity関連でFileNotFoundエラーが発生する。パスの問題だと思うけどすぐには解決できなかったので解決できたら追記する。
なので、現状デバッグ実行したければEclipseを使うのがベスト。
ビルド実行
デバッグはできないものの、ビルドはできる。
事前準備として、jarファイルが生成される先を変更しておく。
- <property name="dir.jarfile" value="C:/Users/Owner/Desktop/AozoraEpub3-1.1.1b17Q/"/>
+ <property name="dir.jarfile" value="/workspaces/AozoraEpub3/dist/AozoraEpub3-1.1.1b17Q/"/>
上記にあわせて /workspaces/AozoraEpub3/dist
を作るのを忘れないように。
あとはJarを固めるため次のコマンドをVSCodeのターミナルから実行する。もしantが入ってない場合はsdk install ant
でantを追加する。
ant -buildfile ant.xml
BUILD SUCCESSFUL
が表示されたらdistフォルダ以下に生成されたツールが出力される。