タグ

Googleとmakeに関するraimon49のブックマーク (6)

  • Googleが開発する最新ビルドツール「Bazel」を使ってみよう | さくらのナレッジ

    Bazelの特徴2:ビルドによってディレクトリを汚染しない Bazelでは、ソースコードやテストデータなどが格納されているディレクトリとは別のディレクトリでビルドやテストなどを行う仕組みになっている。makeコマンドでは意図的に設定や操作を行わない限りソースコードと生成物が同じディレクトリに混在する事態になることが多いが、Bazelではこういった問題が発生しない。 また、ビルドやテストはデフォルトではサンドボックス化された環境で行われるため、ビルドやテストがそれを実行しているシステムに影響を及ぼす可能性が最小限に抑えられている。 Bazelの特徴3:並列ビルド 大規模なソフトウェアではビルド対象が増えるため、ビルドにかかる時間も増える傾向がある。Bazelでは生成物どうしの依存性を自動的に把握し、可能な限り並列でビルドを実行する仕組みになっている。これにより、ビルド時間の短縮が期待できる。

    Googleが開発する最新ビルドツール「Bazel」を使ってみよう | さくらのナレッジ
  • モノリシックなバージョン管理の利点 | POSTD

    以下は、私がよく交わす会話の一例です。 人物A:FacebookやGoogleは、巨大なモノリシックリポジトリ(モノレポ)を使っているんだってよ。 私:みたいだね。あれは当に便利だと思う。 人物A:僕に言わせれば最悪の愚行さ。全てのコードを単一のリポジトリに入れるのがヒドイ考えだと、FacebookやGoogleはなぜ思わないんだろうか。 私:FacebookやGoogleエンジニアたちも小さなリポジトリには精通しているだろうけど( 濱野純(Junio Hamano) 氏はGoogle勤務だし)、単一の大きなリポジトリの方が、きっと”ある理由”で好みなんだよ。 人物A:なるほどね。僕としては、まだちょっと違和感はあるけど、モノレポが使われる理由は分かったような気がするよ。 “ある理由”はかなり長いので、同じ会話を何度も繰り返さなくていいように、ここに書き留めておこうと思います。 シンプ

    モノリシックなバージョン管理の利点 | POSTD
  • 就職して9年が過ぎる - 兼雑記

    転職して7年が過ぎたというのを読んで気づいたんだけど、そろそろ入社後9年が経過したらしい。僕は結構長い期間をここで過ごしたことになるんだなと思った。ちょっと以前のことを振り返ってみようと思う。言うまでもないけどこれは僕の書ける範囲での個人的な感想と体験談であって会社の見解等を表しているものではない。 きっかけ わりと重要でない Borgチーム (の周辺) いつのまにやらBorgという名前を普通に言って良くなっている。嬉しい。まあ当時もぶっちゃけ、秘密だから出してないっていうよりは、単に誰もアカデミア的なキャリアに興味が無いから出してなかったんだと思う(私見)。 さて、当時Borgというかクラスタマネージメントのあたりでは、コンピュータのリソースて適当にたくさん使ってるけど、これ節約したらすっげー支出減ったりしない?みたいなのがホットで、なんかとりあえず色々な人々が色んなことをやっていた。い

    就職して9年が過ぎる - 兼雑記
    raimon49
    raimon49 2016/03/11
    失敗しても良いから小さな投資を沢山やる。ガンガン潰す。良いこと書かれている。
  • 次世代ビルドツールBazelを使ってAndroidアプリをビルドする - クックパッド開発者ブログ

    会員事業部所属エンジニアの山下(@tomorrowkey)です。 去年はモバイルファースト室でバリバリとAndroidアプリを書いていたのですが、今年に入ってサーバーサイドもやってみたいと思い、最近はRubyを書いている日々です。 Rubyはあまりやったことがなかったのですが、REPLがあってとても助かります。Java 9でREPLが使えるようになるらしいですが、Androidは縁遠い話ですね。 さて、今回は来年ビルドツールとして脚光を浴びそうなBazelをご紹介したいと思います。 Bazelとは何か Bazel http://bazel.io/ BazelはGoogleが社内で使用していたビルドツールをオープンソース版として開発をしているものです。2015年3月にAlpha版が公開されました。 Alpha版ではクライアントアプリケーションやiOSアプリのビルドなどがサポートされていて、最

    次世代ビルドツールBazelを使ってAndroidアプリをビルドする - クックパッド開発者ブログ
    raimon49
    raimon49 2015/10/14
    GradleとBazelを共存 詳しい
  • Bazel

    From startup to enterprise, choose the Bazel open source project to build and test your multi-language, multi-platform projects.

    Bazel
    raimon49
    raimon49 2015/03/26
    Mac/Ubuntu向けのビルドツール SkylarkというPythonのサブセットで拡張可能らしい
  • Ninja, a small build system with a focus on speed

    Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible. Why yet another build system? Where other build systems are high-level languages Ninja aims to be an assembler. Ninja build files are human-readable but

  • 1