The Gradle wrapper allows us to let developers use Gradle without the need for every developer to install Gradle. We can add the output of the Gradle wrapper task to version control. Developers only need to checkout the source for a project and invoke the gradlew or gradlew.bat scripts. The scripts will look for a Gradle distribution and download it to the local computer of a developer. We can cus
One of the great features of Gradle is incremental build support. With incremental build support a task is only executed if it is really necessary. For example if a task generates files and the files have not changed than Gradle can skip the task. This speeds up the build process, which is good. If we write our own tasks we can use annotations for properties and methods to make them behave correct
Gradleでマルチプロジェクト構成を運用してみて、気付いた点を書いてみます。 以下の環境で確認しています。 JDK 1.7 Eclipse 4.2 Subversive, SVNKit 1.7 Gradle IDE 3.0 Jenkins マルチプロジェクト構成については下記が参考になります。 第7章 Javaクイックスタート 第56章 マルチプロジェクトのビルド Log In - Codehaus 必要性 マルチプロジェクト構成は複数のコンポーネントや成果物を扱う必要がある場合に使います。いくつものEclipseプロジェクトをいじったりビルドスクリプトを整備するのはかなり面倒なので、可能な限りシングルプロジェクト構成をおすすめします。Gradleにはソースセットという概念があるので、うまく使い分けるとよいと思います。 コンポーネントをマルチプロジェクトで分離するかソースセットで分離する
Javaによるソフトウエア開発でよく使われるオープンソースのビルドツールには、米Apache Software Foundationが開発する「Apache Ant」(http://ant.apache.org/)や「Apache Maven」(http://maven.apache.org/)、米Gradlewareが開発する「Gradle」(http://www.gradle.org/)がある。ここでビルドツールとは、コンパイルやテスト実行、パッケージング、デプロイといった開発作業を自動化するツールのことである。 従来は、柔軟性を備えるAntが広く使われてきた。ただし、処理の記述量が膨大になりがちなため、近年はより効率的にビルド作業が行えるMavenが普及し始めた。また、柔軟性と効率性を併せ持つGradleの1.0版が2012年6月にリリースされ、注目を集めている(図1)。 そこで、M
明日は大阪で楽しくXPを体験してこようと思ってます、なおきりんです。(XP一日体験ワークショップ! - http://kokucheese.com/event/index/30196/) 今回、継続的インテグレーションが参加するイベントの一つにあげられているので、先取りで独り継続的インテグレーション環境を作ることにしました。 ちなみに今回使っている環境は Mac OSX Lion (Mac book pro) JDK6(Mac上でのJDK7は挙動がまだ怪しいのでJDK6が安定のようです。2012/03/30現在) Groovy 1.8.6 Jenkins 1.454 Gradle 1.0-milestone-9 JUnit 4.10 spock-core-0.5 Git 1.7.7.5 となっています。蛇足ですがIDEはIntelliJ IDEAです!(ココ!重要!) Gradleでビルド
MavenやGradleでビルド環境を構築すると悩ましいのがオフラインビルド。2012-03-02 - 新・たけぞう瀕死の日記で紹介されているように、Mavenだと「dependency:go-offline」というGoalでMavenプラグインなども含めて依存ライブラリをかき集めてくれるようです。では、Gradleだとどうすれば実現できるか考えてみた。 外部のプラグインはひとまず考えないことにして*1、コンパイル、ユニットテストを通すだけなら以下のコードで実現できそう。 例では、専用のreleaseSourceタスクを新たに定義している。このタスクでは、testCompileで使用する依存ライブラリをかき集めてrepositoryというディレクトリに格納しつつプロジェクトのソースと一緒にパッケージしている。ZIPに固める際にexcludeを使えば除外設定も可能なので、.gitとか.svn
またまたGradleネタです。Gradleなどのツールでビルドしつつも普段の開発やユニットテストはIDEで行うというのはよくある話。GradleではIDE開発をサポートするプラグインも用意されています。 Eclipse Plugin IDEA Plugin 今回はこのうちEclipse Pluginに関していくつかTipsを紹介。 Eclipse Pluginを使うと何ができる? プロジェクトからEclipseの各種設定ファイルを自動生成することができる。Mavenで言うところのMaven Eclipse Pluginと同じような物。 Eclipseのプロジェクト情報である.projectファイルや、クラスパスを定義した.classpathを生成することができる。 この時、Gradleで定義した依存関係も解決してくれるので、MavenみたいにJARを自動でダウンロードしてEclipseのク
タグをpushしてダウンロードAPI叩くだけなんですけども。 パスフレーズ付のSSH鍵を使っていると良い感じにハマるのでメモしておきます。 今回のスクリプトを実行する為の依存関係とかそういうの import org.eclipse.egit.github.core.* import org.eclipse.egit.github.core.client.* import org.eclipse.egit.github.core.service.* import org.eclipse.jgit.api.* import org.eclipse.jgit.lib.* import org.eclipse.jgit.transport.* import org.eclipse.jgit.errors.* apply plugin: 'java' apply plugin: 'war' buil
Gradleで文字エンコーディングを指定する方法 - 豆無日記 が余りにカッコワルイのでひねりだしてみた。 Gradle 1.0-milestone-7 で動かしてるます。 apply plugin: 'java' apply plugin: 'groovy' repositories { mavenCentral() mavenRepo(url: 'http://download.eclipse.org/jgit/maven') flatDir { dirs 'lib' } } sourceCompatibility = 1.6 targetCompatibility = 1.6 def encoding = { it.encoding = "UTF-8" } tasks.withType(AbstractCompile) each { encoding it.options } tas
DISCONTINUED We are very sorry to announce that development of this plugin has been discontinued. Google has created their own Android development toolchain based on Gradle, which supercedes this plugin. Please see http://tools.android.com/tech-docs/new-build-system/user-guide for further information. ABOUT This is the Android plugin for the Gradle build system. This plugin enables the creation of
前のエントリの続き。今回はどのような場面にどのツールがマッチするかを、自分なりの考えをふまえて紹介します。 ちなみに、それぞれのツールの使用経験はこんな感じ。 ビルドツール 使用経験 Ant 中〜大規模プロジェクトを1件 Maven 小〜中規模プロジェクトを複数件 Gradle 趣味のサンプルコードで複数件 SBT/Scalaは使ったことがないので除外。想像ですが、SBTをJavaプロジェクトで使うとなると、Gradle的な立ち位置になるかと思ってます*1。 ソースコードにJava以外も扱いたい場合 プロダクトコードには入れず、テストコードだけでGroovyを扱いたい場合も含みます。要するに、Java以外にコンパイルしたいソースコードがあるかどうか。 このケースでは、おとなしくGroovyを標準サポートしているGradleを使ったほうがいいかと思います。 Mavenでgroovyを扱えるよ
[2011/08/23 追記] 続き書いた。Javaプロジェクトにおけるビルドツール2 - @ikikko のはてなダイアリー 1歳ちょっとの自分の子供を抱き上げると高確率で泣かれるikikkoです、こんにちは。早くこんな日がくるとイイですね。 (※:画像はイメージです。実物とは異なる可能性があります。) 前々から色々と考えていたところがあったので、Javaプロジェクトにおけるビルドツールについて少しまとめてみました。とりあげたものは以下の4つ。 [http //ant.apache.org/:title=Ant]:Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension po
はじめに --daemonオプションは高速起動するためのオプションなんですが、まだexperimental(実験段階)なんで何があっても自己責任でお願いしますということです。 $ gradle -h (省略) --daemon Uses the Gradle daemon to run the build. Starts the daemon if not running [experimental]. (省略)さて、それはそうと、何の気なしに、gradleを高速起動するため、以下aliasを指定してGradleを利用していました。 $ alias gradle="gradle --daemon" こうしておくと--daemonを付け忘れることもないし便利だからねってことでやっていたんですが、思わぬところでエラーが発生しました。 エラー発生 それはnew File() した時に、存在してい
Gradleというビルドツールを使っているのですが、とっても便利です。 いろんなプラグインがありまして、CheckStyleはcode-qualityプラグインとして提供されているのですが、 build.graldeファイルに apply plugin: java apply plugin: 'code-quality' defaultTasks 'clean', 'check', 'jar' repositories { mavenCentral() } dependencies { testCompile 'junit:junit:4.+' } とだけ書いて、標準の構成で実行すればcheckstyle実行、フルコンパイル、テスト、jar生成までやってくれます。 素敵ですね! AntとかMavenのxml地獄とおさらばです。 GradleではMavenリポジトリが使えます。 なので指定し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く