Gradle 2.2, 2.3 news #jggug

Preview:

DESCRIPTION

2014/10/24 G* WorkshopでLTしました。 Gradleの最新情報です。

Citation preview

GRADLE NEWSKYON_MM

KYON.MM@GMAIL.COM

2014/10/24

0

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 !