• Gradle 入门使用(1)


    本文同步发表在 http://www.simonme.org/?p=201

    一、介绍

    1. Gradle 是什么 Gradle 官方对其描述是:能自动构建、测试、部署、打包、生成静态页面,生成文档等等。Gradle整合了Ant对依赖管理的强大能力、灵活和maven的约定的优于配置的特性形成了一种更有效的构建方式。Gradle基于Groovy的领域定义语言,充满了创新。Gradle已经成为很多开源项目的编译系统的选择。

    2. Gradle的特性 详细的参见其文档

    a. 通过声明来构建和通过约定来构建。

    b. 基于编程来描述语言依赖。

    c. 构建描述结构化。(使得你的构建代码更优雅,更清晰,更易复用)。

    d. Deep API(提供很多hooks,允许你在构建的任何环节做监控和定制配置。)。

    e. Gradle scales. f. 多工程构建。

    g. 多种方式管理你的依赖(可以和maven和ivy仓库直接对接)...

    二、Eclipse 安装Gradle插件(强烈建议全程fan/qiang)

    1. 访问 http://dist.springsource.com/release/TOOLS/composite/e3.7/bookmarks.xml (可能要fan/qiang. 还有这个网址中的3.7是个变量,根据你的eclipse版本来确定。)。将这个xml文件保存到到本地.

    2.然后按下图操作。 步骤5是 http://dist.springsource.com/release/TOOLS/gradle 

    然后一路next。

    3. 安装后的配置 安装完以后, 是可以喝maven的插件一样,可以指定gradle装在哪里,还是使用插件自带的gradle warpper。看你自己需要。我用的默认自带的。(maven是建议指向自己安装的)

    三、Gradle构建脚本基础

    1. 基础安装 a. 需要JDK1.5+。具体步骤即是下载zip包,解压即可用。根据需要决定是否设置GRADLE_HOME环境变量和GRADLE_HOME/bin 目录是否加入系统PATH。 b. JVM参数配置。对于Gradle来说,配置JVM参数,可以通过GRADLE_OPTS和JAVA_OPTS来配置,诸如HTTP Proxy。也可以在gradle脚本的开头处设置。

    2. Eclipse的gradle插件使用 若在不联网的情况下,用eclipse的gradle的插件创建gradle工程会失败。 错误信息如下: java.net.UnknownHostException: services.gradle.org at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.net.NetworkClient.doConnect(Unknown Sourc

    3. Gradle脚本基础

    a. Everything in Gradle sits on top of two basic concepts: projects and tasks. Every Gradle build is made up of one or more projects. gradle中有两个重要概念,project和task。每一个gradle构建脚本都有多个project构成。一个project代表着你要构建的软件的一些部件。诸你要构建的要依赖外部什么。一个project可能代表一个jar lib,或者是一个web app。一个project也可能代表一个由多个工程build出来的多个jar包组装好的zip包。一个project并不一定代表要构建,也或许是去做一些事情,比如将你的应用发布到演示或者生产环境上。

    b. 每一个project也是由多个task构成的。一个task代表一些原子的构建执行的工作片段。比如编译classes,创建jar,生成javadoc,发布一些压缩包到仓库。

    下面就会涉及到Groovy的语法 具体的可以参见本博客另外一篇文章Groovy简明学习

    c. Hello World 创建一个build.gradle,写上如下代码:  

    task hello { doLast { println 'Hello World!' } }   

    gradle的 -b选项 表示指定编译脚本文件. 上面的脚本略作解释,定义了一个hello task,然后执行之。这个task等同于ant的target,但是gradle的task具有更强大的特性。

    d. 更快捷的任务定义。

    task hello << { println 'Hello world!' }

    e. 字符串方法使用

    task upper << { String someString = 'mY_nAmE' println "Original: " + someString println "Upper case: " + someString.toUpperCase() }  

    f. 迭代次数 task count << { 4.times { print "$it " } }    

    g. 任务依赖 task hello << { println 'Hello world!' }   task intro(dependsOn: hello) << { println "I'm Gradle" }  

    h. 动态任务 4.times { counter -> task "task$counter" << { println "I'm task number $counter" } }

    未完,待写  

    i. 操作已经存在的任务

  • 相关阅读:
    html2jspdf文档
    监听localstorage
    vue插件 webpack打包 style中的element样式没有打包进去
    css-loader导致vue中样式失效
    webpack vue-clii-service vite create-react-app umi对比
    react使用antd数据改变视图没更新原因
    npx
    Webpack原理—编写Loader和Plugin
    VUE Element el-input只能输入数字,限制数字长度,重写label宽度
    php--laravel --debug--mac
  • 原文地址:https://www.cnblogs.com/simoncook/p/2937939.html
Copyright © 2020-2023  润新知