Gradle & Groovy

https://github.com/udacity/ud867

1.

Gradle is a project automation tool that builds upon the concepts of Apache Ant and Apache Mavenand introduces a Groovy-based domain-specific language (DSL) instead of the more traditional XMLform of declaring the project configuration. Gradle uses a directed acyclic graph ("DAG") to determine the order in which tasks can be run.

Gradle was designed for multi-project builds which can grow to be quite large, and supports incremental builds by intelligently determining which parts of the build tree are up-to-date, so that any task dependent upon those parts will not need to be re-executed.

The initial plugins are primarily focused around JavaGroovy and Scala development and deployment, but more languages and project workflows are on the roadmap.

2.

Groovy is an object-oriented programming language for the Java platform. It is a dynamic languagewith features similar to those of PythonRubyPerl, and Smalltalk. It can be used as a scripting language for the Java Platform, is dynamically compiled to Java Virtual Machine (JVM) bytecode, and interoperates with other Java code and libraries. Groovy uses a Java-like curly-bracket syntax. Most Java code is also syntactically valid Groovy, although semantics may be different.

3. how to run gradle

(1) create a file called "build.gradle", this is the default file that gradle will execute

(2)run command

this command will execute the "build.gradle" file without execute any task in this file.

gradlew

this command will execute the task called "hello" in the "build.gradle" file

gradlew hello
时间: 2024-10-23 22:49:36

Gradle & Groovy的相关文章

Gradle+Groovy基础篇

在Java项目中,有两个主要的构建系统:Gradle和Maven.构建系统主要管理潜在的复杂依赖关系并正确编译项目.还可以将已编译的项目以及所有资源和源文件打包到.war或.jar文件中.对于简单的构建,Maven和Gradle之间的选择几乎是个人喜好之一,或者也许是公司CTO或技术经理的偏好.他们俩都是非常好的构建工具.但是,对于更复杂的项目,Gradle比Maven更胜一筹. Gradle构建的利与弊 个人喜欢Gradle:我讨厌XML,复杂的Java/Groovy项目,如果没有Gradle

android build.gradle(groovy)

一.build.Gradle 这个 build.Gradle 文件来自 drakeet 大神的 Meizi 项目我直接在代码上加注释,参照着注释看代码就行,是不是发现有很多代码平时都没看见过. 1 //Model都有各自的build.gradle,这里声明该Model作为主项目,常见的还有另一个取值: 2 //apply plugin: 'com.android.library' 声明该Model作为库使用,当然还有其他取值,后面博客会介绍 3 apply plugin: 'com.androi

看懂Gradle脚本(3)- Groovy AST转换

延续上一篇文章 上篇文章末尾有一段脚本,定义了一个Task: task 'myTask' { doLast { println 'hello world!' } } 我们已经知道,这段脚本其实是调用Project的task方法,并且传入两个参数:一个是Task的名字,另外一个是闭包,用来配置Task(在这段脚本中,给Task添加了一个Action). Task名的引号去哪儿了? 但是Gradle官方推荐的写法,是像下面这样定义Task: task myTask { // <-- doLast {

Gradle源码入门学习之十-- Listener &amp; Dispatch

new ListenerBroadcast<OutputEventListener>(OutputEventListener.class); -> public ListenerBroadcast(Class<T> type) { this.type = type; broadcast = new BroadcastDispatch<T>(type); source = new ProxyDispatchAdapter<T>(broadcast, ty

Gradle源码入门四

接三 如果我们运行gradle hello  (hello 是一个task) 代码会走到org.gradle.launcher.cli.RunBuildAction,  这个类的run()函数 public void run() { executer.execute( new ExecuteBuildAction(startParameter), new DefaultBuildCancellationToken(), new DefaultBuildActionParameters(clien

Gradle源码入门九-settings的include是如何工作的

先上call stack script.run()  in org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory 本代码中,script=settings_ani2pwefx3gv..... ->org.gradle.groovy.scripts.BasicScript.methodMissing(String name, Object params)  //name = 'include' params='sub_proje

build.gradle代码

Android Studio 这么强大的工具,就算我们不懂 gradle, groovy, 也照样能借助AS对 Android 项目进行编译.调试.运行.打包等操作.build.gradle 这个文件接触这么久了,基本的项目配置也基本很熟悉了,毕竟每次自动创建的 build.gradle 里的代码就那么几项配置,看一下那些英文单词也基本猜到是什么配置. 但是,不知道你们会不会跟我一样,在 github 上 clone 大神的项目后,总会发现他们的 build.gradle 里多了很多平常没看见过

3.Groovy基础语法介绍

1.变量申明 访问修饰符 def:相当于局部变量 ext:相当于全局变量 申明变量: // groovy是一种规则非常松的语言,所有语句后面不用写分号, // 而且类型不用写也是可以的 def int x = 1 def x = 1 2.字符串 Groovy 提供了多种表示 String 字面量的方法,在 Groovy 中字符串可以用单引号('),双引号(“)或三引号(”“”)括起来.由双引号括起来的字符串可以对$符号进行转义,由三重引号括起来的字符串可以跨越多行. def xx = 'i ha

[转]Haroopad Markdown 编辑器代码语法高亮支持

代码语法高亮 书写格式为: ` ` ` language_key if (condition){ return true } ` ` ` 在 ` ` ` (三个反引号)之间的是代码,其中language_key的值,请参考 支持的语言和缩写标记 例如,将language_key用JavaScript替换,效果如下: if (condition){ return true } 支持的语言和缩写标记 Language language_key 1C 1c ActionScript actionscr