Skip to content
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

atcoder libraryに公式対応して欲しい(もしくはgit cloneしたライブラリで壊れないようにして欲しい) #299

Open
hotman78 opened this issue Sep 14, 2020 · 8 comments
Labels
enhancement New feature or request

Comments

@hotman78
Copy link

Description

確認不足で現状でもできるようなら申し訳ないです

Other notes

  • Will you try to create a pull request?
    • 出来たらやるかもしれません
@hotman78 hotman78 changed the title atcoder libraryに公式対応して欲しい(もしくはgit cloneしたライブラリでdocsが壊れないようにして欲しい) atcoder libraryに公式対応して欲しい(もしくはgit cloneしたライブラリで壊れないようにして欲しい) Sep 14, 2020
@kmyk kmyk added the duplicate This issue or pull request already exists label Sep 14, 2020
@kmyk
Copy link
Member

kmyk commented Sep 14, 2020

#298 がたぶんこれと同じ動機の issue です。ACL 対応してほしい分かる
cc @jellc

@kmyk kmyk added enhancement New feature or request and removed duplicate This issue or pull request already exists labels Sep 14, 2020
@kmyk
Copy link
Member

kmyk commented Sep 14, 2020

#298 ができたとしても ACL をうまく同時に使う方法についてのドキュメントとかは書かないといけない気がする。duplicate ではないということで

@jellc
Copy link
Contributor

jellc commented Sep 14, 2020

他のライブラリと同じくソースコード上に展開することを #298 では想定しています(他のコンテストサイトでの使用も前提にしているため)。
bundle ではオプションを付けることで ac-library を展開しないことを可能にし、verify の方ではコンパイル時に git pull してきた ac-library を渡せるようにする、といった形でしょうかね。

@kmyk
Copy link
Member

kmyk commented Sep 16, 2020

@hotman78 とりあえずは以下のようにやれば動くと思います。
ためしてないけど、基本は -I path/to/ac-library を追加するだけなので (こういうことであってる?)


  1. .verify-helper/config.tomlCXXFLAGS を設定する。以下のような感じで書く
[[languages.cpp.environments]]
CXX = "g++"
CXXFLAGS = ["-std=c++17", "-O2", "-I", "ac-library"]

参考: https://online-judge-tools.github.io/verification-helper/document.ja.html#:~:text=CXXFLAGS

  1. https://github.com/atcoder/ac-library を submodule として追加する。$ git submodule add https://github.com/atcoder/ac-library を実行してコミットする

参考: https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E3%82%B5%E3%83%96%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB

  1. .github/workflows/verify.ymlactions/checkout@v1 のところを修正して submodule も checkout するようにする
    - uses: actions/checkout@v1
      submodules: true

参考: https://github.com/actions/checkout#:~:text=submodules:%20%60true%60

@kmyk
Copy link
Member

kmyk commented Sep 16, 2020

不親切なので設定に include_paths みたいな項目を足したさはある
デフォルトの CXXCXXFLAGS はそれなりにかしこく設定されてるけど、これを自分で設定するとなると C++ に強くないときびしいし面倒なので。そもそも Windows と Linux でオプションを切り替えるとかは現状の設定ファイルだと書けない

なお、設定ファイルを TOML でなく Starlark にするとか oj-verify 全体を Bazel で書き直すとかするとかなり柔軟になるはず。検討してみてはいるけど、たいへんなのでたぶんやらない

@sash2104
Copy link
Contributor

ためしてないけど、基本は -I path/to/ac-library を追加するだけなので (こういうことであってる?)

これを試していたのですが、oj-verify allの途中でエラーになってしまいました。
sash2104/library#51

エラーを回避する方法 (もしくは自分のPRの不備) って何かありますでしょうか?

@kmyk
Copy link
Member

kmyk commented Sep 28, 2020

本体のバグだったので修正プルリク作りました #330
これがマージされたらすぐバージョンを上げる予定です

@sash2104
Copy link
Contributor

sash2104 commented Sep 28, 2020

5.2.0使ったらoj-verify allが最後まで実行されるようになりました。ありがとうございます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants