首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elcipse安装gradle插件

Elcipse安装gradle插件

作者头像
xiangzhihong
发布2018-01-30 15:21:30
8100
发布2018-01-30 15:21:30
举报
文章被收录于专栏:向治洪向治洪

参考: http://www.gradle.org/docs/current/userguide/installation.html

(1)下载Gradle

官网下载www.gradle.org/get-started

(2)将GRADLE_HOME/bin/加入$PATH。 将解压,得到gradle-1.8,然后拷贝到/usr:                    输入sudo  cp -r gradle-1.8 /usr 添加环境变量方法:输入sudo gedit /etc.profle 在/etc/profile中添加 export GRADLE_HOME=/usr/gradle-1.8 export PATH=$GRADLE_HOME/bin:$PATH

使得profile生效: 输入 source /etc/profile

OK  配置完成。使用gradle version查看版本信息,若有则成功。

1. 基本概念(Project 和 Task)

Gradle中有两个基本的概念:project和task。每个Gradle的构建由一个project构成,它代表着需要被构建的组件或者构建的整个项目。每个project由一个或者多个task组成。task代表着Gradle构建过程中可执行的最小单元。例如当构建一个组件时,可能需要先编译、打包、然后再生成文档或者发布等,这其中的每个步骤都可以定义成一个task。

2. 构建第一个Task 和Ant运行时读取build.xml类似,Gradle运行时默认会读取build.gradle这个文件, 当然你也可以使用参数"-b"来指定其他的xxx.gradle

下面,让我们新建一个build.gradle文件,然后输入如下内容:

   task hello {
       doLast{
            println "hello world"
       }
  }

 这个构建的脚本很简单,就是输出hello world。为了运行这个构建,我们应该在当前目录下执行 "gradle hello",即gradle TaskName。 doLast意思是定义一个行为(映射Gradle中的Action类),放在当前task的最后,类似的,还有doFirst, 表示将定义的行为放在当前task最前面,例如

 task hello {
   doLast{
       println "Hello world"
     }   
   doFirst{
       println "I am xxx"
     }   
 }

执行gradle hello, 将输出

"I am xxx"

"Hello world"

另外,你也可以使用如下更简洁的方式来定义task:

 task hello <<  {
      println "hello world"
 }

这里也许大家可能会觉得很奇怪,为什么可以用"<<"来定义Task的执行内容呢,还是让我们看看Gradle的代码是怎么实现的吧:

  1 public abstract class AbstractTask implements TaskInternal, DynamicObjectAware {
  2 private List<Action<? super Task>> actions = new ArrayList<Action<?   super Task>>();
  3 
  4 public Task doFirst(Action<? super Task> action) {
  5 if (action == null) {
  6 throw new InvalidUserDataException("Action must not be null!");
  7         }
  8         actions.add(0, wrap(action));
  9 return this;
 10     }
 11 
 12 public Task doLast(Action<? super Task> action) {
 13 if (action == null) {
 14 throw new InvalidUserDataException("Action must not be null!");
 15         }
 16         actions.add(wrap(action));
 17 return this;
 18     }

从上面的代码可以看出,Task类里有个Action的集合actions,当使用doFirst或者doLast时,实际上是将定义的执行部分实例化成Action的对象,然后添加到actions集合里。

明白了这一点,接下来让我们看看为什么可以使用<<定义Task--------Groovy作为强大的支持DSL的动态语言,早已经重载了 << 操作符,使得我们可以方便的使用<<向集合添加元素。

说道这,相信真相已经大白了:原来就是使用Groovy的特性,往集合里添加Action而已。对,这就是Gradle的语法,利用Groovy的DSL特性,帮助我们更容易的定义我们的构建脚本。

不过也许大家会觉得,这个例子实在是没有什么代表性,只是一个简单的 hello world,说明不了什么问题。好吧,别着急,下次我们会继续研究Gradle的其他部分,不过先记住:作为一个构建工具,Gradle真的很强大哦!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-02-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档