verification-helper
verification-helper copied to clipboard
include pathを弄る
- src/
- unionfind.h
- test/
- unionfind.test.cpp
のような構造のときに、unionfind.test.cpp
の中に
#include "unionfind.h"
と書ける方法はありますか? .verify-helper/config.toml
に
[[languages.cpp.environments]]
CXX = "g++"
CXXFLAGS = ["-I", "src", "-Wall", "-Wextra", "-Wshadow", "-Werror", "-std=c++17", "-O2"]
と書いたら、多分これが原因でドキュメント生成が壊れました (https://github.com/yosupo06/Algorithm/blob/master/.verify-helper/config.toml )
このような風に書きたい理由は、いつもsrc
にinclude pathを通していて、通常時とテストファイルでincludeの書き方を統一したいからです
(現時点では) それをする方法はないはずです。
そういう運用をやりたくなるのは分かるので近いうちに対応したいですが、すぐには修正できない (docs.py
は歴史的経緯でコードがしんどい) のでひとまずは ../src/
で誤魔化してほしい :pray:
ありがとうございます!
仕様の検討: 追加のインクルードパス (例: src
) をどう設定するか
.verify-helper/config.toml
に何か設定項目を base_directories = ["src"]
などのように足すわけだが、足し方は自明でない。
- 変数名をどうするか。
base_directories
source_directories
など - 複数のディレクトリを設定できるようにするかどうか
- 複数を許す
- pros:
src
だけでなくてtests
とかも追加したい場合はあるはずで、これに対応しておける - cons: インクルードパスとして設定できるディレクトリがちょうど 1 個だけの言語がある可能性がある
- pros:
- 複数を許さない
- 複数を許す
-
"."
を常に含めるかどうか。つまり、変数に[".", "src"]
ではなく["src"]
を設定したときは"."
が検索対象のディレクトリから外れるようにするべきかどうか- 含める
- 含めない
- pros: 設定の結果の幅が広がる
- cons: 注意せず設定すると CI が落ちる
- cons: カレントディレクトリを検索対象から削除できない言語がありそう
- 言語ごとの設定を自動で足すかどうか。たとえば
CXXFLAGS
に自動で-I src
を足すべきか- 足す (常に)
- pros: ディレクトリ名を複数回書く必要がなくて便利
- cons: たとえば
CXXFLAGS = ["-Wall", "-O2"]
って書いたとき-Wall -O2
には一致しないもの使われたら嫌な感じがする
- 足す (デフォルト設定のみ)
- 足さない
- pros: 言語ごとに設定を変更する必要がなくて開発/メンテが楽
- pros: (
document_base_directories
みたいな変数名にしておけば) 仕様が明確
- 足す (常に)
あまり強い意見ではないですが、いまのところ (document_base_directories
, 複数を許す, 含めない, 足さない) を選んで document_base_directories = [".", "src"]
と書いてもらうのが楽だし仕様が明確でよいかなと思っています。
- name: Copy files
run: cp -r test/* src/
- name: Remove files
run: rm -r test
を足すことで、とりあえず何も変えずに動きます(力技)
:tensai: