1
kyon_mm 27
TDD/BDDGradle master
2 GRADLEGradle
Gradle2.1
2.1 Gradle2.2 RC-1
Release Note
3 GRADLE 2.2 Component Selection Rules
Declaring module replacements
Sonar Runner plugin improvements
Native language cross-compilation improvements
Support for building x64 binaries on Windows using GCC
Specify version control system for IntelliJ IDEA
Specify location of local maven repository independently
Compatibility with OpenShift
Support for renaming imported Ant targets
Sharing configuration files across builds
3.1 COMPONENT SELECTION RULES
( ) Gradle
3.2 DECLARING MODULE REPLACEMENTS
ID
dependencies { modules { module("com.google.collections:google-collections") { replacedBy("com.google.guava:guava") } }}
3.3 SONAR RUNNER PLUGIN IMPROVEMENTS
SonarQube( )Gradle Gradle
SonarQube Gradle
SonarQube
apply plugin: "sonar-runner"
sonarRunner { toolVersion = "2.4"
// Fine grained control over the runner process forkOptions { maxHeapSize = '1024m' }}
3.4 NATIVE LANGUAGE CROSS-COMPILATION IMPROVEMENTS
GCC
model { toolChains { gcc(Gcc) { eachPlatform { tc -> if (tc.platform.name == "arm") { cCompiler.executable = 'gcc-arm' } } } } }
3.5 SUPPORT FOR BUILDING X64 BINARIES ON WINDOWSUSING GCC
Windows OS GCC 64bit
3.6 SPECIFY VERSION CONTROL SYSTEM FOR INTELLIJ IDEA
idea ideaVCS
apply plugin: "idea"
idea { project { vcs = "Git" }}
3.7 SPECIFY LOCATION OF LOCAL MAVEN REPOSITORYINDEPENDENTLY
Maven~/.m2
3.8 COMPATIBILITY WITH OPENSHIFTOpenShift Gradle
OpenShift
3.9 SUPPORT FOR RENAMING IMPORTED ANT TARGETS
Gradle Ant
Ant
apply plugin: "java" // adds 'clean' task
ant.importBuild("build.xml") { it == "clean" ? "ant-clean" : it}
3.10 SHARING CONFIGURATION FILES ACROSS BUILDS
zip
apply plugin: "checkstyle"
configurations { checkstyleConfig}
dependencies { checkstyleConfig "com.company:checkstyle-config:1.0@zip" }
checkstyle { // affects all Checkstyle tasks config = resources.text.fromString("""<module name="Checker">...</module>""") config = resources.text.fromFile("path/to/file.txt") config = resources.text.fromFile(someTask) config = resources.text.fromArchiveEntry(configurations.checkstyleConfig, "path/to/archive/entry.txt")}
4 GRADLE2.2
4.1 Gradle RC
Release NoteGradle 2.3 Release Notes
5 GRADLE 2.3Component metadata rule enhancementsNew PluginAware methods for detecting the presence ofpluginsANTLR plugin supports ANTLR version 3.X and 4.XAntlrTask running in separate process
5.1 COMPONENT METADATA RULE ENHANCEMENTSMetaData 2.3
5.2 NEW PLUGINAWARE METHODS FOR DETECTING THEPRESENCE OF PLUGINS
Plugin
findPlugin()hasPlugin()withPlugin()
5.3 ANTLR PLUGIN SUPPORTS ANTLR VERSION 3.X AND 4.X
ANTLR ANTLR3, 4apply plugin: "java"apply plugin: "antlr"
repositories() { jcenter()}
dependencies { antlr 'org.antlr:antlr4:4.3'}
5.4 ANTLRTASK RUNNING IN SEPARATE PROCESS
ANTLR Gradle Gradle
6 CONCLUSIONGradle2.2, 2.3
Ant
Groovy ANTLR4 ANTLR4
7 ENJOY GRADLE LIFE !