Gradle常用命令操作及配置说明
来源:互联网 发布:windows 2012 ad 工具 编辑:程序博客网 时间:2024/06/14 08:43
Gradle强大的编译能力和构建能力足以胜任日常中的开发,很多人将其视为maven的替代方案,至于用maven还是用Gradle这个根据各人喜爱或团队要求来决定。
Gradle快速查看指南
官网提供:https://docs.gradle.org/current/dsl/index.html
Gradle常用命令列表
gradle buildgradle testgradle compilejavagradle jargradle cleangradle jargradle init//生成wrapper包gradle wrappergradle compilejavagradle javadocgradle dependenciesgradle helpgradle checkgradle testgradle -vgradle --infogradle --debuggradle --help//列出可执行的所有任务(即查看可以执行的命令)gradle tasksgradle -q tasks
包的依赖
dependencies { compile group: 'commons-collections', name: 'commons-collections', version: '3.2' testCompile group: 'junit', name: 'junit', version: '4.+'}
依赖仓库
repositories { mavenLocal() mavenCentral()}
Gradle任务操作
====以下内容转载自:http://blog.csdn.net/jjwwmlp456/article/details/41350413
新建一个build.gradle文件,以下示例都编辑在build.gradle中。
说明:> 后 跟gradle命令。 -q参数会关闭一些命令中的log信息,如 gradle -q hello
定义一个任务,并执行
task hello { doLast { println 'Hello world!\nadmin' }}
> gradle hello
定义一个快捷任务
task hello2 << { println 'admin\nHello world!' }
> gradle hello2
<< 代表 doLast{}
使用Groovy 语言
task upper << { String someString = 'mY_nAmE' println "Original: " + someString println "Upper case: " + someString.toUpperCase()}> gradle upper
循环遍历
task foreach << { 10.times { println "the times is $it." }}
> gradle foreach
10.times,循环条件<10;$it 表示循环变量
依赖其他任务
task intro(dependsOn: hello) << { println "I'm Gradle---intro"}> gradle intro
依赖任务hello,会先调用hello,再执行当前task
依赖的任务定义在当前任务之后
task taskX(dependsOn: 'taskY') << { println 'taskX'}task taskY << { println 'taskY'}
> gradle taskX
依赖定义在后面的任务,需要在任务名上加单引号。 而上一个例子,加不加单引号都可以
动态任务
4.times { counter -> task "task$counter" << { println "I'm task number $counter" }}> gradle task[0-4]
循环四次,生成4个task, 任务名分别为task0,task1,task2,task3。
动态任务依赖动态任务
task0.dependsOn task2, task3> gradle task0
当然动态依赖静态,静态依赖动态都是可以的
符号<< 和 doFirst、doLast
task hello3 << { println 'Hello Earth'}hello3.doFirst { println 'Hello Venus'}hello3.doLast { println 'Hello Mars'}hello3 << { println 'Hello Jupiter'}> gradle hello3
可以有多个doFirst和doLast(或<<)。doFirtst先执行,doLast在其后。这里顺序就应为:Venus、Earth、Mars、Jupiter
使用外部任务的属性
task myTask { ext.myProperty = "myValue"}task extraProps << { println myTask.myProperty}> gradle extraProps
使用ant任务
task loadfile1 << { def files = file('../builds').listFiles().sort() files.each { File file -> if (file.isFile()) { ant.loadfile(srcFile: file, property: file.name) println " *** $file.name ***" println "${ant.properties[file.name]}" } }}> gradle loadfile1
调用任务ant.properties。这里输出了文件的内容
使用ant任务,并调用了Method
task checksum << { fileList('../builds').each {File file -> ant.checksum(file: file, property: "cs_$file.name") println "$file.name Checksum: ${ant.properties["cs_$file.name"]}" }}task loadfile2 << { fileList('../builds/').each {File file -> ant.loadfile(srcFile: file, property: file.name) println "I'm fond of $file.name" }}File[] fileList(String dir) { file(dir).listFiles({file -> file.isFile() } as FileFilter).sort()}> gradle loadfile2> gradle checksum声明了method ---- fileList()
默认任务
defaultTasks 'clean', 'run'task clean << { println 'Default Cleaning!'}task run << { println 'Default Running!'}task other << { println "I'm not a default task!"}> gradle后不跟任务名即 执行默认任务
Configure by DAG
task distribution << { println "We build the zip with version=$version"}task release(dependsOn: 'distribution') << { println 'We release now'}gradle.taskGraph.whenReady {taskGraph -> if (taskGraph.hasTask(release)) { version = '1.0' } else { version = '1.0-SNAPSHOT' }}
> gradle distribution
运行任务图中没有release-task,输出 We build the zip with version=1.0-SNAPSHOT
> release
运行任务图中有release-task,输出 We build the zip with version=1.0
===以上内容转载自:http://blog.csdn.net/jjwwmlp456/article/details/41350413
- Gradle常用命令操作及配置说明
- Gradle 常用命令及使用
- Gradle基础及常用命令
- Gradle常用命令和原理说明
- Gradle常用命令和原理说明
- build.gradle配置说明
- build.gradle配置说明
- rman配置及rman常用命令操作
- rman配置及rman常用命令操作
- Gradle 常用命令参数及解释
- SVN 常用命令及说明
- Git及常用命令说明
- Build.gradle详细配置说明
- Build.gradle详细配置说明
- Build.gradle 详细配置说明
- AndroidStudio Gradle简要配置说明
- Gradle 安装及配置
- Linux配置JForum的一些常用命令及操作
- 初学android-简单的图灵机器人
- 清除svn检出历史记录
- 官方 eclipse 在线安装 MyBatis Generator
- parseInt()和replace()方法
- 数据库常见类型总结
- Gradle常用命令操作及配置说明
- 如何使用Leangoo自动生成燃尽图
- Squid代理常见错误
- 关于ViewGroup的触摸事件拦截
- 通用 make 文件编写
- Nginx之location 匹配规则详解
- 素数求解
- HDU2077:汉诺塔IV
- java.net.URLEncode编码 与 URLDecode解码问题