Open yumetodo opened 8 years ago
別のプロジェクトであれだけど https://ci.appveyor.com/project/yumetodo/shioi こんな感じにできる。
実行テストもbatかPS書けば走らせられる。
Bitbucketの方は管理者私だから試してみたけど、そもそもDxLibのDLをどうすりゃ自動化できるんだ?DLページから正規表現で抜くしか無いのか?
DxLibって自己解凍exeで配布なんだよな・・・、Cl上で解凍できるのかな
7zipのコマンドラインを使えば恐らく可能かと。
毎回ダウンロードしてたらあっち側のサーバーの負担になりそう。
ダウンロードして解凍するスクリプト
wget "http://dxlib.o.oo7.jp/DxLib/DxLib_VC3_16b.exe" -outfile "DxLib_VC3_16b.exe" ./DxLib_VC3_16b.exe
@soukouki それだとバージョン変わるたびに書き換えないといけないと思うんです というわけでちゃんと最新版使うスクリプト書いて実行したところ、 https://ci.appveyor.com/project/yumetodo/dxlibex/build/1.0.1 ビルドに使うsln指定し忘れてたがな・・・
なるほど。
何なんだろ、昨日からCLかけるとビルド始まる前にタイムアウトする・・・ https://ci.appveyor.com/project/yumetodo/dxlibex
https://github.com/appveyor/ci/issues/809
で、Set-Culture
ええぞ、と言われたのに
https://ci.appveyor.com/project/yumetodo/dxlibex/build/1.0.27
仕事していない悲しみ。ただやっとCL動かせたので嬉しい。
動かせたのなら一応仕事はしてるんじゃ(ビルドを開始するとこまで)。 そこまでじゃ足りないけど。
動かせたのなら一応仕事はしてるんじゃ。
c:\projects\dxlibex\samples\calc_coordinate\calc_coordinate\calc_coordinate.cpp(62): warning C4566: character represented by universal-character-name '\u306E' cannot be represented in the current code page (1252) [C:\projects\dxlibex\samples\calc_coordinate\calc_coordinate\calc_coordinate.vcxproj]
仕事してないです。
足りないけど。
その前にテストをあまり書いていないという問題が。
https://ci.appveyor.com/project/yumetodo/dxlibex/build/1.0.33
なんでうまく行ったのかわからないけどやっとCLが動いたっぽい。何もいじってないのに動くようになるってどういう
バグが直されたとか。 サーバーの調子が悪かったとか。
あれ、
Set-WinSystemLocale ja-JP
Restart-Computer
が走っていないけどエラーなく動いた・・・?
https://ci.appveyor.com/project/yumetodo/dxlibex/build/1.0.43
ところでこれ、DxLibのバージョンが上がって、それを検知はできて、ダウンロードまでしているけど、キャッシュが効いているせいでバージョンアップされとらんな・・・。 DxLib.txtを正規表現で抜いてバージョンみるスクリプト書かなあかんな、これ。
Set-WinSystemLocale ja-JP
Restart-Computer
が成功しないのでは話にならない。もうAppveyorでlocale変更するのは諦めて、Unicode String Literalをソースコード中で使う方向で対応するべき。つまりwchar_t
。ただしmingwで動かないので#ifdef
するしかあるまい・・・orz
ビルド通すだけならwarning C4566を無効化するのもありだけれど、このあとテストコード書くことを考えると、sampleはともかくtest codeでそれはまずかろう。
とりあえずビルドスクリプトは修正しました。
https://gist.github.com/yumetodo/a003979d2aa1046a764ad619b5540bb9
Appveyorだと[System.Console]::Write
を使わせてくれなかったり、ディレクトリ構成が微妙に違うのでこれそのままは使っていませんが。
まあとにかくこれでDxLib使う部分も(文字コードに気をつければ)書けるようになった。テストはVSのテスト使うほうがよさそう。一応AppveyorのC:\Libraries\boost
とかC:\Libraries\boost_1_60_0
にboostはあるけど、VSのテストなら何もせずとも勝手に実行してくれるっぽいので。
@soukouki @Nagarei
一応install script http://pastebin.com/a1FUrfMK
36 #67 より
Travis-Clしようとしたが、LinuxでDirectXをコンパイルとか骨が折れすぎるので、Windows環境が無料で使えるappveyorを使う。なんと.slnがあればビルドできる。
ただDxLibって自己解凍exeで配布なんだよな・・・、Cl上で解凍できるのかな
原則としてbranchごと、VSのバージョンごとにclを作る形になる。
問題はRepoの所有者じゃないと設定できないこと(多分)。一回forkしてそれで設定して設定ファイル落としてとかするべきか?