ビルドと検証
同梱リポジトリ版: (ZIP配布物ではここにバージョンが記載されます)
この文書は、ソースからビルドする開発者向けです。配布物を通常利用するだけの場合は Using_the_App.md を参照してください。
前提
- Windows 10 / 11
- PowerShell
g++がPATHにあることthird_party/pdfium/lib/pdfium.dll.libがあることthird_party/pdfium/bin/pdfium.dllがあること- リポジトリ版番号は
REPO_VERSION.txtで管理すること
依存関係はリポジトリに vendor 配置し、ビルドや実行時に外部通信を行わない方針です。
ビルド
./build.ps1
build.ps1 は通常版、Lite版、閲覧専用ビューアをすべて Release 構成で作る全体入口です。引数なしの実行で、配布準備済みの実行ファイルを out/ に作成します。
個別にビルドする場合は、詳細入口を直接使います。
./scripts/build/build_workspace.ps1 -Edition Full
./scripts/build/build_workspace.ps1 -Edition Lite
./scripts/build/build_readonly_viewer.ps1
./scripts/build/build_workspace.ps1 -Edition Full -Rebuild
Full はOffice-to-PDF変換を含む通常版、Lite は変換機能を持たないLite版です。build_readonly_viewer.ps1 は旧 TextViewer を統合した唯一の閲覧専用ビルド対象です。
出力先は、通常版アプリと閲覧専用ビューアが out/bin/、Lite版アプリが out/bin_lite/ です。どちらのアプリも配布時には pdf_note_workspace.exe という同じ名前になり、対応する配布フォルダ内にだけ入ります。
検証
powershell -NoProfile -ExecutionPolicy Bypass -File tests/scripts/run_repo_checks.ps1
python tests/python/validate_codebase.py
python -m unittest tests/python/test_python_tools.py
run_repo_checks.ps1 は、REPO_VERSION.txt と最新ビルドの Full / Lite / 閲覧専用ビューアの .buildinfo.txt を比較し、版番号の不一致を検出します。-SkipBuild を付けた場合も、既存のビルド成果物についてこの確認を行います。配布版番号はrelease setのmanifest、ZIP、チェックサム、locale別タグとRelease Notesで固定・照合されます。利用者文書には、置換前提の版番号マーカーを置きません。
保存処理を変更した場合は、保存系テストも実行してください。
powershell -NoProfile -ExecutionPolicy Bypass -File tests/scripts/run_atomic_write_tests.ps1
release 作成
./release.ps1
# 実機テストのサイクルを早めるため、Lite版のみを短時間で試作・パックする場合:
./build.ps1 -Lite
配布時は out/ を直接渡さず、release set 内に作られる通常版と Lite版のフォルダまたは ZIP を使います。./release.ps1 は通常版・Lite版・閲覧専用ビューアをビルドしてから、配布物、ZIP、チェックサム、公開スナップショットを作ります。Lite版だけを開発用にビルド・実機確認したい場合は ./build.ps1 -Lite を使います。通常版には検証済み LibreOffice conversion runtime を必ず同梱し、Lite版には同梱しません。通常版からruntimeだけを除いた配布物は作れません。通常利用者には、二つの版を混ぜず、用途に応じてどちらか一方を配布してください。
配布名、出力先、同梱物などを個別に調整する場合だけ、scripts/release/make_release_set.ps1 または scripts/release/pack_release.ps1 を使います。