Gradle2.7-rc1が2015/08/29の0:00頃にリリースされたようです。Gradleは2ヶ月に1回リリースするので、正式版は10月になると思います。今は人柱になりたい方が試してみるとよいと思います。
内容については、きっとよしださんがどっかの勉強会で詳しく解説してくれると思うので、ここでは雑に紹介します(人任せ)。
ソースはここ
なお、このURLは新しいバージョンが出るたびに新しいrc版のリリースノートになるので、2.8-rc1が出る頃は2.8のものになってるので注意してください。
結構重要:Gradle2.6のラッパー遅くなってごめんね
Gradle2.6でラッパー作った人は、すみやかに2.7でラッパーを作りなおしたほうがいいよ。2.6でチェックサムの検証方法を変えたんだけど、そのせいでラッパーを使った時のスタートアップタイムがくっそ遅くなっちゃいました。2.7で修正されるから、マジで2.7でラッパー作りなおしてね。
http認証の方法を選べるようになったよ
Gradleはmaven/ivyレポジトリーにhttp/httpsで接続するときに、いろんな認証方法(NTLM/Kerberos/ダイジェスト/ベーシック)で接続するようにしてたんだけど、意図しない方法で認証するのを避けるために、認証方法を指定できるようにしたよ。
repositories { // ダイジェスト認証 maven { url 'https://my.company.com/m2' credentials { username 'ore-ore' password 'ore-dayo' } authentication { digest(DigestAuthentication) } } // ベーシック認証 maven { url 'https://another.company.com/m2' credentials { username 'proper-shain' password 'proper-shain-pass' } authentication { basic(BasicAuthentication) } } }
今のところ、この方法はダイジェストとベーシック認証しかサポートしてないけどね :-p
Gradleはレスポンスコード401が返された時にだけクレデンシャルを送ってるんだけど、GitHubとかは404返してきたりするので、依存性解決に失敗したりするんだよね。で、これの対処としてpreemptive authenticationで送るんだけど、サーバー側でもベーシック認証でいけるように設定しておいてほしいです。
Gradle TestKitが独立した環境で実行されるようになったよ
Gradle TestKitが今のビルドの環境を引き継がないように、独立した環境で実行できるように改善したし、起動したデーモンはテスト終了時に死ぬようになったよ。
(意訳者註) Gradle TestKitのデーモンがビルドの環境引き継いだり、テスト後に死んでくれなかったため、コード修正しても直ってないことがよくあったので、これは嬉しい
Playプラグインでも--continuous
で失敗の表示をするようにしたよ
ビルド失敗した時にちゃんとリソースとかリロードするようにしたし、失敗したよってブラウザーでも表示されるようにしたよ
Play2.4サポート
Play2.4サポートしたし、injected routes generatorにも対応したよ。デフォルトはstatic routes generatorだけど、model{}
-> component{}
-> play{}
からinjected routes generatorに切り替えられるよ。
Managed Modelの修正
- プリミティブ型のサポート
boolean
についてはisFoo
のようなゲッターにも対応
(意訳者註)あ、僕のプラグインの実装が面倒になるな…(´・ω・`)
JVMコンポーネントの依存性管理
jvm-component
プラグインを使って、マルチプロジェクト内で複数プラットフォーム対応のクロスコンパイルができるようになるよ。
plugins { id 'jvm-component' id 'java-lang' } model { components { main(JvmLibrarySpec) { targetPlatform 'java7' targetPlatform 'java8' sources { java { dependencies { library 'commons' } } } } commons(JvmLibrarySpec) { targetPlatform 'java7' } } }
例えば、このビルドスクリプトだと、commons
というJava7のサブプロジェクトに依存する、Java8とJava7の2つのJarファイルが作成される。新しいJavaプラグインに詳しく書いてあるんで、読んどいて。
バグフィックス
- CygwinでGradleシェルスクリプトがJAVA_HOME環境変数をぶっ壊す
- httpで依存性解決するときにpreemptive authenticationサポートしてくれない
- JDK9でデーモンが起動できない
- CheckstyleプラグインがCheckstyle6.8では動かない
- ANTLRプラグインがパッケージ構造を維持してくれない
- Windows用IBM1.6JDKでヌルポ
- ArtifactResolutionQueryがivyファイルを配置する場合にレポジトリーパターンを使ってくれない
- アーカイブ名が指定されている場合に、複数のコンフィギュレーションで依存性解決に失敗する
- Maven-publishがリリース後もロックファイルを解放しない
- Gradleがmavenスタイルのバージョン範囲指定をサポートしてない
- eclipseプラグインでJavaソースとかリソースディレクトリーとかの設定がおかしくなる
- Gradleラッパーが毎回チェックサム検査をしてしまう
破壊的変更
以下略