Gradle命令大全

#Gradle
配置相关依赖代码量少,不会像maven一样xml过多
打包编译测试发布都有,而且使用起来方便
利用自定义的任务可以完成自己想要的功能

#下载地址
http://services.gradle.org/distributions/

#环境配置
GRADLE_HOME={installed path}
PATH=%GRADLE_HOME%\bin

#验证
gradle -v

#仓库地址(maven通过settings.xml)
GRADLE_USER_HOME=

#集成
IDEA
View -> Tool Windows

Eclipse
安装插件:http://download.eclipse.org/buildship/updates/e46/releases/2.x/

#细节
project
[group, name, version]
settings.gradle
管理多个项目,包含了项目的name
build.gradle
apply 插件应用
dependencies 声明依赖
repositories 从上至下寻找jar包

#Gradle Wrapper
以零配置方式用Gradle构建项目(无需先安装Gradle distribution),确保每个人都使用相同版本的构建工具。

#为项目创建Gradle wrapper脚本
$ gradle wrapper --gradle-version 2.14.1
工程里生成文件
gradlew
gradlew.bat
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties

#查看项目的依赖关系图
$ gradle dependencies

#Gradle支持单一项目构建和多项目构建
$ gradle api:rest:build

#排除某些任务
$ gradle clean build -x test

#分析构建(build/reports/profile)
$ gradle --profile build

#了解gradle编译中的所有任务
$ gradle build --dry-run

#安装到本地maven仓库
$ gradle install

#查看gradle任务
$ gradle tasks
$ gradle tasks --all

#使用Gradle守护程序(3.0版本默认开启)
gradle build --daemon

#多线程构建
打开 ~/.gradle/gradle.properties 添加以下行 org.gradle.parallel=true

#自定义Gradle任务
test.doFirst {
println(“running tests…”)
}

test.doLast {
		println("done executing tests...")

}

#为Gradle守护进程提供JVM参数
打开 ~/.gradle/gradle.properties
输入范例: org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

#用离线模式运行
$ gradle build --offline

#刷新Gradle依赖缓存(也可以手动删除 ~/.gradle/caches.下次构建时会下载所有依赖并加入缓存中)
$ gradle clean build --refresh-dependencies

#自定义jar
dependencies {
compile files(‘libs/myjar.jar’)
}

#将本地目录中的所有jar加入依赖
dependencies {
compile fileTree(dir: ‘libs’, include: [’*.jar’])
}

#构建项目和所有它所依赖的项目
$ gradle api:model:buildNeeded

#构建项目和所有依赖它的
$ gradle api:rest:buildDependents

#为构建脚本提供默认任务( = gradle)
defaultTasks “clean”,“build”

#在Gradle中使用作用域(version > gradle2.12)
dependencies {
compileOnly ‘javax.servlet:servlet-api:3.0-alpha-1’
}

#显式设置Java编译编码
在 build.gradle 中添加 compileJava.options.encoding = ‘UTF-8’

#禁用传递依赖关系解析
configurations {
compile.transitive = false
}

#初始化Gradle项目
创建使用testng测试框架的Java Gradle项目
$ gradle init --type java-library --test-framework testng
创建使用JUnit测试框架的Java Gradle项目
$ gradle init --type java-library

#签名文件
apply plugin: ‘signing’
signing {
sign configurations.archives
}

#只想在发布的版本中签名而在快照版本中不签名
apply plugin: ‘signing’
signing {
required { !version.endsWith("SNAPSHOT”) }
}

#并行运行测试
test {
maxParallelForks = 2
}

#为测试设置内存
test {
minHeapSize = ‘512m’
maxHeapSize = ‘1024m’
}

#用调试模式运行Gradle
$ gradle clean build --debug

#当任务失败后继续执行任务
$ gradle clean build --continue

#将Maven工程转移至Gradle
$ gradle init --type pom

#强制Gradle重运行即使它是最新的
$ gradle build --rerun-tasks

#启用连续构建
$ gradle test --continuous

#运行一个测试事务(有时我们只需要运行一个测试事务而不是运行所有测试)
$ gradle test --tests tips.CalculatorTest

#运行CalculatorTest 中的某个部分
$ gradle test --tests tips.CalculatorTest.shouldAddTwoNumbers

#使用正则表达式来指定多个测试
$ gradle test --tests “tips.Calculator*Test”
$ gradle test --tests tips.CalculatorTest --tests tips.Calculator1Test

#在一个子模块的测试
$ gradle api:test --tests app.api.PingResourceTest

#生成源文件和java文档jar包
task sourcesJar(type: Jar, dependsOn: classes)
{   
classifier = ‘sources’    from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc)
{   
classifier = ‘javadoc’    from javadoc.destinationDir
}
artifacts {   
archives sourcesJar, javadocJar
}

#在构建脚本中访问环境变量
println(System.getenv(“HOME”))
println("$System.env.HOME")

#配置测试日志(Gradle默认只会在控制台打印测试错误的日志, Gradle允许你用testLogging参数来配置)
test {
testLogging {
events “passed”, “skipped”, “failed”
}
}

#在测试执行期间显示标准输出和错误流
test {
testLogging {
events “passed”, “skipped”, “failed”
showStandardStreams = true
}
}

#存储凭据(不应该在build.gradle中硬编码凭据,而应该依靠home~/ .gradle / gradle.properties来存储凭据。
假设你想使用受凭证保护的Maven存储库。 指定凭据的一种方法是在build.gradle中对它们进行硬编码)
repositories {   
maven {       
credentials {           
username “admin”           
password “admin123”       
}       
url “http://nexus.mycompany.com/”   
}
}

#更好的方法
改变自己的 ~/ .gradle / gradle.properties
nexusUsername = admin
nexusPassword = admin123
在build.gradle中引用
repositories {   
maven {       
credentials {           
username “ n e x u s U s e r n a m e "             p a s s w o r d " nexusUsername"            password " nexusUsername"      password"nexusPassword”       
}       
url “http://nexus.mycompany.com/”   
}
}

#调试Java可执行应用程序
$ gradle bootRun --debug-jvm

#使用本地Maven仓库
repositories {
mavenLocal()
}

#排除传递性的依赖
compile(‘org.hibernate:hibernate:3.1’) {
exclude module: ‘cglib’ //by artifact name
exclude group: ‘org.jmock’ //by group
}

你可能感兴趣的:(Gradle命令大全)