昨日のエントリーの続きです。 mike-neck.hatenadiary.com Gradle万能派の僕には、納得がいかなかったので、最後までやってみることにしました。 切り捨てたこと まず、分散テストは何が目的なのか考えると、テスト結果をマージすることが目的なので、以下のことは切り捨てました。 dockerの外でコンパイルしたクラスファイルの共有(昨日のドハマリその2により、共有してもコンパイルしてしまうので諦めた) srcディレクトリーの共有(Javaファイルを生成するタスクがある場合はsrcディレクトリーの共有をすると、各コンテナがJavaファイル生成を行ってしまうので、諦めた) 【2015/10/20 12:19追記】 つまり、コンパイル結果を共有しても再コンパイルされるので、buildディレクトリーの共有は諦めました この結果、妥協するのは次の点です。 各コンテナでソースコード生
標記の件について、ここ2日間取り組んでいます。もちろん、ボランティアです。 元ネタはじょーたにさんに教えてもらったこのツイート。 JUnitの実行を各クラス毎に並列で実行して、かつそれぞれをDockerで実行してくれるようなものは無いかな..— たむたむ (@tamtam180) 2015, 10月 16 @johtani 複数台だと嬉しいけど単一マシンでもok。外部依存があるからdockerで隔離しないと並列実行ができないのです。— たむたむ (@tamtam180) 2015, 10月 16 これ、最初は簡単だろうと思ってたけど、とてつもなく難しいテーマです(未解決)。あまりに思い通りに行かないので、自殺したいレベル。 実装方針 分散してテストが実行できるように適度に振り分けたテストタスクを準備します。 テストクラスまでのコンパイルを行います。 project-root/build.g
前回までは Configslurper を使って 環境毎に構成を変更する方法について書きましたが @literalice さんに Gradleでプロパティなどの設定情報を外出しして切り替えて使う で 環境毎に別の Gradle ファイルを取り込んで いろいろと変更する方法を教えてもらったので ちょっと試してみました。 まずは基本から... 別の Gradle ファイルは apply from: 'gradle/other.gradle'で取り込むことができます。 ちなみに 読み込む Gradle ファイルは 相対パス 絶対パス URI の形式で指定できます。 で実際どんなことに使えるかというと 環境毎に 適用するプラグインを変える 環境毎に タスク定義を変える 環境毎に デフォルトタスクを変える OS 毎に 実行するコマンドを変える 共通処理を使い回す などが考えられます。 これらを実現す
gradle便利ですね。でもgradle界隈の人が言うほど簡単じゃない・・・。 gradleは柔軟な代わりにいろいろ設定の書き方があって混乱するので整理してみました。 基本的な構成 build.gradleも設定ファイルといえば設定ファイルなのですが、ここではbuild.gradleの外のものを設定ファイルとして書き連ねることにします。 init.gradle 初期化スクリプトで、Gradleオブジェクトに対するなにがしかを行うものだそうです。 今のところそんなに興味がないのでリンクを貼るだけで終わります。 http://gradle.monochromeroad.com/docs/userguide/init_scripts.html settings.gradle 設定スクリプトでSettingsオブジェクトに対するなにがしかを行うものだそうです。 ほとんどマルチプロジェクト用の設定フ
こんにちわ、みけです。 某社で一日中ドラクエやってて、 何の成果もあげていません。 … あ、いや、そんなことはどうでもいいです。 いや、よくないか。 インテグレーションテストとは… とりあえず、ここでは、乱暴な言い方ですが、 ソフトウェアの機能に対して期待している動作を 検証するテストということにしておきましょう。 (一つのオブジェクトレベルでの動作ではないことに注意) ここで、「とりあえず」「ここでは」としたわけですが、 実際のプロジェクトにおいては、 このフェーズのテストは何を保証するべきである というのは、それぞれのプロジェクトで 議論して決めるべきだと思っています。 インテグレーションテストを実行するにあたって、求められるプロジェクト構造 ここでいうプロジェクト構造とは、 プロジェクトマネージャーは◯◯課長で… とかいう話ではありません。 書いたコードをどのディレクトリーに配置する
週末は Gradle と Android アプリのビルドツールと戯れていたので、得られた知見などを書き残しておく。 更新記録 2014-01-07: Android Gradle プラグイン 0.7.1 (Android Studio 0.4 対応版) に合わせて内容を更新しました。 Gradle について Gradle 公式サイト: Gradle - Build Automation Evolved Java 周辺のプロジェクト管理ツール (ビルドシステム?) といえば Ant や Maven があるけど、最近 (?) 注目を集めているのが Gradle。 XML で記述される Ant や Maven とは違い、Gradle のビルドファイルは Groovy による DSL で記述される。 Ruby におけるビルドツールである Rake と似たような雰囲気。 記述の容易さはもちろんのこと
Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically. このドキュメントは、個人利用目的および第三者に配布するためにコピーして使用できます。ただし、印刷するにせよ電子媒体を使用するにせよ、以下の点に留意してください。どのような形態であれ使用料を課さないこと。また、このコピーライト条項を配布物に含めること。 例目次 6.1. 初めてのビルドス
これは、 G* Advent Calendarの15日目の記事です。 昨日は @int128 さんの Gradle Slashプラグインをリリースしました #gadvent でした。 明日は @tyama さんです。 はじめに Gradle 便利ですよね。便利すぎて Ant や Maven には戻れないです。 なにが良いって、設定ファイルである build.gradle の記述量が、 Ant の build.xml や Maven の pom.xml と比べると非常に少なくて済むのが良いです。 build.gradle は、設定ファイルと言いつつも、その実体は Groovy で書かれたスクリプトファイルです。 Gradle は、 Groovy の持つメタプログラミング機能や省略記法などを利用して、設定を簡潔に記述できるようになっています。 これはメリットなのですが、一方で Groovy の
Androidの新ビルドシステム(Gradle + Gradle plugin for Android)では、プロダクト・フレーバーという仕組みによってひとつのプロジェクトから複数の(異なるPackageNameを持つ)apkをビルドできます。 これによって、以下のようなものを容易に提供することができるようになります。 画像リソースなどの異なる、同じ仕組みのアプリ 無料版と有料版 ステージングサーバに接続するといった、開発中に使用するアプリ 異なるSDkバージョン、異なるアーキテクチャに最適化したアプリ Gradleの実行環境は前記事 Gradle+AndroidプラグインでNDKプロジェクトをビルドする - やらなイカ? 参照。これに加え今回は Android Studio 0.1 をプロジェクトのひな形作りに使用します。 新規プロジェクトの作成 プロダクト・フレーバーを使用するには、従
Eclipse+Ant勢にオススメする、Android Studio+Gradleに移行すると手に入る便利機能AndroidAndroidStudioandroid開発 @eaglesakuraです。2013年にAndroid Studioが発表されて、だいたい1年ちょいが経過しました。最初は不安定でアレな感じだったAndroid StudioとGradleプラグインもそれなりに安定してきて、普通のAndroidアプリを開発する分にはあまり困らなくなりました。 現在は移行期にあたるため、2014年のEclipseを使っている人も多いと思いますので、「Android Studioって正直どうよ?」っていう人たちのためにEclipse+Antにはない利点を列挙していきます。 ビルドがGradleに統合される 最大の利点で、コレが移行するための大きな動機であり障壁です。Gradleはそこそこ新し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く