-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
graphロジックの分離とplantumlのサポート #1008
Conversation
例文
|
比較的大きめの変更にも関わらず対応いただき本当にありがとうございます! Windows で PlantUML の jar ファイルが config.yml とおなじフォルダにあり、かつ java へのパスが通っている状態で動作することを確認しました! 一応バージョンは以下の通りです。
|
@chiepomme ありがとうございます、もし可能でしたら…
を確認いただけると助かります。Linuxでは問題ないことは確認しているのですが。 あと、ついでに可能ならblockdiag、gnuplot、aafigure、graphvizあたりもWindowsでちゃんと動くかが気になっていますが、これはなかなか大変ですよね。 |
@kmuto ちょっとお待ちください。環境を作って確認してみます! |
まず それから、
Windows 環境はこのあたりはなかなかやっかいですね・・・。 |
メモのようにつかって申し訳ないのですが |
と出てしまい、jar を見つけることが出来ませんでした。
|
一通り手元の環境で確認を行ったのでまとめます。 TeX と Ruby はこれと同じ方法でインストールしました。 確認環境
確認項目pdfmaker, webmaker, epubmaker以下の確認項目で、動作したというものは PlantUML
blockdiag
aafigureWindows 環境でのパッケージの定義に問題があるらしく、 graphviz公式インストーラーでインストールし、パスを通すことで動作確認できました。 gnuplot公式インストーラーでパスを通すオプションを有効にしてインストールすることで動作確認できました。 |
ありがとうございます、助かります! epubmakerはなんでしょうね… debug: trueにしたら何かわかるのかな。 |
CLASSPATH、たしかにLinuxのjava 1.8でもダメでした。jarファイルの指定まで設定で面倒見るのはつらいので、Re:VIEW開発側としてはカレントで勘弁かな…(OS間差異や空白フォルダ名対応なども交じってくるので)。どうしてもの場合はreview-ext.rbでgraph_plantumlを差し替えてもらうということになりそうです。 |
ム! debug:trueでいけるとなると、以前に発生した、一時ファイルの削除タイミング問題っぽい。今回もgraph内で生成しているのでいかにも怪しいです(いちおうensureで消してるんだけどなぁ…)。 |
使用する側としても PlantUML が標準のインストール先や、実行ファイル、環境変数を用意していないため、どこに置くのが正解かわかりません。そのため、Re:VIEW で使用する場所に置くというのは、一番わかりやすい置き場所のように思います。 このあたり本当に厄介過ぎますね・・・。
もしこちらでもなにか分かったら、共有させていただきます! |
だいたい同じですが、Windows 10 64bit Home + Ruby 2.5.0p0 (2017-12-25 revision 61468) [x64-mingw32] の環境でreview-epubmakerを20回ほどまわしてみました。
|
動作確認していただきありがとうございます。 メッセージとしては正常動作する
epub が破損している
と出るため、ほぼほぼ問題がなさそうに見えます。 (仕事にいく関係で epub の中身の比較ができていませんので、帰ってきたら見てみます) |
すみません!上記のファイルですが Temp は消した状態で行いました。 |
いただいたものはこうなっちゃってますね。 Re:VIEWロジック側と比較すると、テンポラリフォルダにフォルダを作成してそこに移動しているのですが、ご使用のWindows環境だとパス名を探索するときのPathname.new(一時フォルダ) の結果に EPUBmaker+Windows環境の話で、このPRとはそろそろ無関係になってきたので、それ自体は別のissueに立てることにしましょうか。 |
builder.rbのgraphロジックを扱いやすいように変更してみるのと、platnuml記法のサポート。
graph_描画エンジン
の任意の名前のメシッドを呼び出すように。id、保存先ファイルパス、//{〜//}内のアンエスケープ済み文字列、一時ファイルパス を引数とする。idは単にエラー時の参照用。メソッドは「保存先ファイルパス」を返す(.pdfじゃなくて.epsで返したいときなどのため)system()
を使う限りエラー時にstderr内容が取れないのが辛いところ。systemuが標準に入ってくれないものか…(gemはいやだ)。コマンドパスや引数などをyml指定するというのも考えたのだが、引数パースや、Windowsを考えると厄介そうなので、そこまでこだわる人はreview-ext.rbで適当に上書きしてくれるほうがよさそうと判断した。