Carpe Diem

備忘録

Bazel

Bazelで他パッケージのテストファイルを参照したい

背景 Bazelでは次のようなディレクトリ構成で、 . ├── package_a │ ├── a.go │ ├── a_test.go │ └── test.yaml └── package_b ├── b.go └── b_test.go パッケージAのファイルtest.yamlをパッケージBのテストで参照したい時に、 go_test( name = "b_test", sr…

Bazel で multiple copies of package passed to linker の対応方法

概要 Bazelでビルド時に multiple copies of package passed to linker: @io_bazel_rules_go//proto/wkt:field_mask_go_proto @org_golang_google_genproto//protobuf/field_mask:field_mask のようなエラーが出た時の対応です。 環境 Bazel 5.0.0 gazelle 0…

Bazel を使う上での Tips

概要 Bazelを導入する過程で学んだTipsをまとめます。 環境 Bazel v4.2.2 Tips bazeliskを使う Bazelのバージョンを環境別に管理したい場合、bazelbuild/bazeliskを使うのが良いです。 .bazelversionに以下のようなバージョンを書いておけばそのバージョンで…

Bazelを使ってみる その6(テスト)

概要 Bazel解説第6弾です。 Bazelを使ってみる その1(Goのビルド) - Carpe Diem Bazelを使ってみる その2(protobufのビルド) - Carpe Diem Bazelを使ってみる その3(docker imageのビルド) - Carpe Diem Bazelを使ってみる その4(gRPCのビルド)…

Bazelを使ってみる その5(リモートキャッシュ)

概要 Bazel解説第5弾です。 Bazelを使ってみる その1(Goのビルド) - Carpe Diem Bazelを使ってみる その2(protobufのビルド) - Carpe Diem Bazelを使ってみる その3(docker imageのビルド) - Carpe Diem Bazelを使ってみる その4(gRPCのビルド)…

Bazelを使ってみる その4(gRPCのビルド)

概要 Bazel解説第4弾です。 Bazelを使ってみる その1(Goのビルド) - Carpe Diem Bazelを使ってみる その2(protobufのビルド) - Carpe Diem Bazelを使ってみる その3(docker imageのビルド) - Carpe Diem 今回はgRPCをビルドしてみます。 gRPCは2…

Bazelを使ってみる その3(docker imageのビルド)

概要 Bazel解説第3弾です。 Bazelを使ってみる その1(Goのビルド) - Carpe Diem Bazelを使ってみる その2(protobufのビルド) - Carpe Diem 今回はDocker imageをビルドしてみます。 環境 Bazel v4.2.2 前提知識 通常docker imageを作成する際はDocker…

Bazelを使ってみる その2(protobufのビルド)

概要 前回に引き続き今回もBazelについて書きます。 christina04.hatenablog.com 今回はProtocol BuffersをビルドしてGoで利用できるコードを生成します。 環境 Bazel 4.2.2

Bazelを使ってみる その1(Goのビルド)

背景 Bazelは優れたビルドツールである一方で、導入したチームには1人はBazel職人が必要と言われるほどキャッチアップコストが高くハマったときに開発が止まると言われます。 そのためKubernetesからも削除されるほどです。 しかしながら導入の善し悪しを判…