-
Notifications
You must be signed in to change notification settings - Fork 168
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
バージョン情報ダイアログの整理 #569
バージョン情報ダイアログの整理 #569
Conversation
表示非表示をコードで切り替えていたのを変更。 ビルド元ソースの情報は、実行時に変わることはないので、埋め込んでしまう。
sakura_core/sakura_rc.rc
Outdated
LTEXT APPVEYOR_SHORTHASH, IDC_STATIC_URL_GITHUB_COMMIT, 101, 133, 30, 8, SS_NOTIFY | NOT WS_GROUP | WS_TABSTOP | ||
#endif | ||
#ifdef APPVEYOR_PULL_REQUEST_NUMBER | ||
LTEXT "PR " APPVEYOR_PULL_REQUEST_NUMBER, IDC_STATIC_URL_GITHUB_PR, 150, 133, 30, 8, SS_NOTIFY | NOT WS_GROUP | WS_TABSTOP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
APPVEYOR_PULL_REQUEST_NUMBER のところで
リソースファイルでは c/c++ のように文字列連結はできないはずです。
また、appveyor の過去の PR の artifacts から Log の zip をダウンロードして
set_appveyor_env.bat をダウンロードして、コマンドプロンプトから実行して
ビルドすれば PR でのビルドをエミュレートできるので、ローカルで PR 固有の
ビルドのテストをできます。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
APPVEYOR_PULL_REQUEST_NUMBER のところで
リソースファイルでは c/c++ のように文字列連結はできないはずです。
やってみてできなかったので別な方法考えます。
また、appveyor の過去の PR の artifacts から Log の zip をダウンロードして
set_appveyor_env.bat をダウンロードして、コマンドプロンプトから実行して
ビルドすれば PR でのビルドをエミュレートできるので、ローカルで PR 固有の
ビルドのテストをできます。
この文章が理解できてるか怪しいです。
githash のシンボル群は git を使って生成してるから zip 版だと hash の部分が真っ白になる認識でした。zipでも追加作業したらHash ID出せるといってます?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
この文章が理解できてるか怪しいです。
-
例えば https://ci.appveyor.com/project/sakuraeditor/sakura/builds/19644986 にアクセスして
適用な構成のビルドの artifacts から Log のついている ZIP をダウンロードします。 -
ダウンロードした ZIP を解凍すると中に set_appveyor_env.bat が入っています。
-
set_appveyor_env.bat で appveyor でビルドしたときと同じ状態で環境変数が定義されているので、取得した set_appveyor_env.bat をコマンドプロンプトで実行します。
-
build-sln.bat でビルドします。
→ appveyor でビルドしたのと同等の環境でビルドしたのを再現できます。
(必要に応じてローカルで set_appveyor_env.bat を編集して試してもいいと思います)
(注意点としては成功したビルドしか set_appveyor_env.bat は収集されないので
今試している PR の artifacts を取得する場合は appveyor 上で少なくとも一度ビルドを
通す必要があります)
set_appveyor_env.bat の例
set APPVEYOR_BUILD_FOLDER=C:\projects\sakura
set APPVEYOR_REPO_PROVIDER=gitHub
set APPVEYOR_REPO_NAME=sakura-editor/sakura
set APPVEYOR_REPO_COMMIT=0fd870a632a26664ad4a1d601b5c2a4a4361a251
set APPVEYOR_REPO_TAG_NAME=
set APPVEYOR_PULL_REQUEST_NUMBER=565
set APPVEYOR_PULL_REQUEST_HEAD_COMMIT=b5c86256710d42cf054c834aa0eeca1b250da77a
set APPVEYOR_URL=https://ci.appveyor.com
set APPVEYOR_ACCOUNT_NAME=sakuraeditor
set APPVEYOR_PROJECT_SLUG=sakura
set APPVEYOR_BUILD_VERSION=1.0.1050
set APPVEYOR_BUILD_NUMBER=1050
appveyor.md
Outdated
@@ -164,6 +164,7 @@ | |||
| APPVEYOR_BUILD_NUMBER_INT | APPVEYOR_BUILD_NUMBER |数値 | | |||
| APPVEYOR_PULL_REQUEST_NUMBER |APPVEYOR_PULL_REQUEST_NUMBER |文字列 | | |||
| APPVEYOR_PULL_REQUEST_NUMBER_INT |APPVEYOR_PULL_REQUEST_NUMBER |数値 | | |||
| APPVEYOR_PULL_REQUEST_NUMBER_LABEL |APPVEYOR_PULL_REQUEST_NUMBER |文字列 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
細かいですが、
APPVEYOR_PULL_REQUEST_NUMBER の前の |
で列を前後の行と揃えていると見やすいです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
↑ もともとのコードがわかりにくいコードになってました。 |
appveyor.md
Outdated
| APPVEYOR_SHORTHASH_PR_HEAD |APPVEYOR_SHORTHASH_PR_HEAD |文字列 | | ||
| APPVEYOR_BUILD_URL |APPVEYOR_BUILD_URL |文字列 | | ||
| 生成するマクロ名 | 元にする環境変数 | 型 | ||
| ---- | ---- | ---- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
右端の |
は残しておきたいです。
理由は
sakura-editor/management-forum#31 (comment)
のプラグインでは |
をつけるからです。
build URL が消えている件、お願いします。 |
sakura_lang_en_US/sakura_lang_rc.rc
Outdated
LTEXT GIT_URL, IDC_STATIC_URL_GIT, 101, 113, 120, 8, SS_NOTIFY | NOT WS_GROUP | WS_TABSTOP | ||
#endif | ||
#ifdef APPVEYOR_BUILD_LABEL | ||
LTEXT "Build URL:", IDC_STATIC_URL_APPVEYOR_CAPTION, 33, 123, 71, 8, NOT WS_GROUP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sakura_lang_en_US\sakura_lang_rc.rc と sakura_core\sakura_rc.rc とで
Build URL:
の行 と APPVEYOR_SHORTHASH
の行とで空白の差分が出ています。
もともとは差分がなかったところなので差分がない(不要な変更がない)ように
してほしいです。
表示非表示をコードで切り替えていたのを変更。 ビルド元ソースの情報は、実行時に変わることはないので埋め込んでしまう。
表示非表示をコードで切り替えていたのを変更。 ビルド元ソースの情報は、実行時に変わることはないので埋め込んでしまう。
表示非表示をコードで切り替えていたのを変更。 ビルド元ソースの情報は、実行時に変わることはないので埋め込んでしまう。
表示非表示をコードで切り替えていたのを変更。 ビルド元ソースの情報は、実行時に変わることはないので埋め込んでしまう。
リソーススクリプト内でリテラル文字列の連結が行われない対策として、 githash.batでラベル用のリテラル文字列を生成させるように変更。 当初cpp上で定義されていた既存変数に当て込もうとしていたが、 ビルド番号の文字列表現と取り違える危険があるので名称変更。 APPVEYOR_BUILD_TEXT → APPVEYOR_BUILD_NUMBER_LABEL BUILD_NUMBER_LABELは"Build: xxxx"を定義したシンボル。
リソーススクリプト内でリテラル文字列の連結が行われない対策として、 githash.batでラベル用のリテラル文字列を生成させるように変更。 当初APPVEYOR_PULL_REQUEST_NUMBER_LABELで作成したが、 シンボル名が長すぎて切り詰められるので短い名前に変更。 切り詰めが発生したときのログ↓ 3>..\sakura_core\sakura_rc.rc(119): warning RC4011: identifier truncated to 'APPVEYOR_PULL_REQUEST_NUMBER_LA' 3> 3>sakura.vcxproj -> F:\gitroot\sakura-mygithub\Win32\Debug\sakura.exe
インデントがずれていたのを修正。 markdown表の末尾縦棒はExcelアドインの出力に合わせ残す。 sakura-editor/management-forum#31 (comment)
867be53
to
f753d55
Compare
不要な変更を消すためにリベースしました。 指摘内容はすべて取り込んだつもり・・・ 😢 |
LTEXT "Commit", IDC_STATIC_URL_GITHUB_COMMIT, 101, 133, 30, 8, SS_NOTIFY | NOT WS_GROUP | WS_TABSTOP | ||
LTEXT "PR.", IDC_STATIC_URL_GITHUB_PR, 150, 133, 30, 8, SS_NOTIFY | NOT WS_GROUP | WS_TABSTOP | ||
#endif | ||
#ifdef APPVEYOR_SHORTHASH |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sakura/sakura_core/dlg/CDlgAbout.cpp
Lines 321 to 339 in f753d55
case IDC_STATIC_URL_APPVEYOR_BUILD: | |
{ | |
#if defined(APPVEYOR_BUILD_URL) | |
::ShellExecute(GetHwnd(), NULL, _T(APPVEYOR_BUILD_URL), NULL, NULL, SW_SHOWNORMAL); | |
#elif defined(GIT_URL) | |
::ShellExecute(GetHwnd(), NULL, _T(GIT_URL), NULL, NULL, SW_SHOWNORMAL); | |
#endif | |
return TRUE; | |
} | |
case IDC_STATIC_URL_GITHUB_COMMIT: | |
#if defined(GITHUB_COMMIT_URL) | |
::ShellExecute(GetHwnd(), NULL, _T(GITHUB_COMMIT_URL), NULL, NULL, SW_SHOWNORMAL); | |
#endif | |
return TRUE; | |
case IDC_STATIC_URL_GITHUB_PR: | |
#if defined(GITHUB_COMMIT_URL_PR_HEAD) | |
::ShellExecute(GetHwnd(), NULL, _T(GITHUB_COMMIT_URL_PR_HEAD), NULL, NULL, SW_SHOWNORMAL); | |
#endif | |
return TRUE; |
厳密に言えば、APPVEYOR_BUILD_URL や GITHUB_COMMIT_URL や GITHUB_COMMIT_URL_PR_HEAD などにも依存しているのでこれら
のマクロの定義もチェックした方がいいとは思います。
ただこの PR で全部やらなくてもいいとは思います。
これらのマクロを全部チェックすると複雑になるので各コントロールが
有効になるか無効になるのかをマクロを別途定義して、切り替えるように
したら簡単なんじゃ開花と思います。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
厳密に言えば、APPVEYOR_BUILD_URL や GITHUB_COMMIT_URL や GITHUB_COMMIT_URL_PR_HEAD などにも依存しているのでこれら
のマクロの定義もチェックした方がいいとは思います。ただこの PR で全部やらなくてもいいとは思います。
欲を言うとシンボルの定義状況によって処理が変わるのはあまりよくないんじゃないかと思っています。とりあえず、このPRの目標は、ビルド時に確定して変わらないはずの表示テキストと表示非表示をリソースに埋め込むことなので残課題は残す前提で進めたいです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
対応ありがとうございました。
あざーっす。マージしまーっす 😄 |
…ight_dlg_about バージョン情報ダイアログの整理
バージョン情報ダイアログのコード(+リソース)の整理を行います。
#563 #566 と関係する話題です。
バージョン情報ダイアログには、ビルド時のソースコード情報が表示されます。
これらの情報は、実行時に動的に取得する種類の情報ではありませんが、
現在のソースコードでは、実行時ダイアログを表示する直前に情報を書き換えています。
このコミットでは、シンボルの定義状態に基づいた表示切替を反映した形でダイアログリソースを構築します。変更により、ダイアログ初期化時のコードの大半が消えることになります。
#566 の背景色描画範囲がおかしい問題も同時に解決される見込みです。
このダイアログリソースには、まだいろいろと課題がありますが、
今回対応するのはとりあえずリンクアドレスの埋め込みと表示切替の反映のみです。