`
ahua186186
  • 浏览: 554574 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Gradle学习系列

 
阅读更多
http://www.gradle.org/docs/current/javadoc/org/gradle/api/tasks/Copy.html
http://www.gradle.org/docs/current/dsl/org.gradle.api.tasks.Copy.html
http://www.cnblogs.com/CloudTeng/p/3417762.html
http://www.blogjava.net/wldandan/archive/2012/06/27/381605.html


学习记录:
/**gradle include two parts [part1:project,	part2:task] */

/*****************调用Project的task()方法创建Task  start*************/
task hello << {
    println "the current task name is $name"
    println "hello world"
}
/*****************调用Project的task()方法创建Task  end*************/

/*****************通过TaskContainer的create()方法创建Task start*****************/

tasks.create(name: 'hello4') << {
   println 'hello4'
}
/*****************通过TaskContainer的create()方法创建Task end*****************/
/*****************声明Task之间的依赖关系 start*********************/
task hello5(dependsOn:hello4) << {
    println 'hello5'
}

task hello6 << {
   println 'hello6'
}

hello6.dependsOn hello5

/*****************声明Task之间的依赖关系 end*********************/
/*****************配置Task属性start ******************/
//定义Task的时候对Property进行配置

task hello7 << {
   description = "this is hello7" 
   println description
}

//调用Task的configure()方法完成Property的设置

task hello9 << {
   println description
}

hello9.configure {
   description = "this is hello9"
}

/*****************配置Task属性end*****************/
/***************通过定义输入输出实现增量构建 start*******************/
task combineFileContentIncremental {
   def sources = fileTree('sourceDir')
   def destination = file('destination.txt')

   inputs.dir sources
   outputs.file destination

   doLast {
      destination.withPrintWriter { writer ->
         sources.each {source ->
            writer.println source.text
         }
      }
   }
}
/***************通过定义输入输出实现增量构建 end*******************/
/*****************自定义Property start*********************/
//在build.gradle文件中向Project添加额外的Property时,我们并不能直接定义,而是应该通过ext来定义

ext {
   property2 = "this is property2"
}

/*****************自定义Property end*********************/
/*****************重新设置main的目录结构start***************/
sourceSets {
   main {
      java {
         srcDir 'java-sources'
      }
      resources {
         srcDir 'resources'
      }
   }
}
/*****************重新设置main的目录结构end***************/
/****************创建新的source set start****************/
sourceSets {
   api
}
/****************创建新的source set end****************/
/******************一部分项目配置start******************/
configure(allprojects.findAll { it.name.startsWith('sub') }) {
   subTask << {
      println 'this is a sub project'
   }
}
/******************一部分项目配置end******************/
/******************单个配置start******************/
project(':sub-project1') {
   task forProject1 << {
      println 'for project 1'
   }
}
/******************单个配置end******************/
subprojects {
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'war'

    repositories {
       mavenCentral()
    }

    dependencies {
     /****************直接依赖本地jar包start********************/
     	//单文件依赖
     
		//compile files('libs/ojdbc14-10.2.0.1.0.jar')
	
    	//某个文件夹下面全部依赖
    	
     	compile fileTree(dir: 'libs', includes: ['*.jar'])
     	runtime fileTree(dir: 'libs', includes: ['*.jar'])
    	
       /****************直接依赖本地jar包end********************/
       /****************依赖于Project start*******************/
       dependencies {
   			compile project(':ProjectB')
		}	
 	  /****************依赖于Project end**********************/
 
        testCompile 'junit:junit:4.8.2'
    }

    version = '1.0'

    jar {
        manifest.attributes provider: 'my cool company'
    }
}
分享到:
评论

相关推荐

    gradle-4.1.zip

    整理的gradle4.1系列的zip包方便下载,在官网下载的太慢,这样放在这里下载起来更快些,仅供学习使用,不作为商业用途

    gradle-5.4.zip

    整理的gradle5.4系列的zip包方便下载,在官网下载的太慢,这样放在这里下载起来更快些,仅供学习使用,不作为商业用途

    gradle-5.1.zip

    整理的gradle5.1系列的zip包方便下载,在官网下载的太慢,这样放在这里下载起来更快些,仅供学习使用,不作为商业用途

    Android Studio使用教程(四):Gradle基础

    其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了很多,所以暂且结合Stduio 1.0正式版与最新的Gradle语法来详细讲解下,小伙伴们直接跟我一步步来学习吧。 什么是Gradle? Gradle是一...

    Android Gradle 项目样例.zip

    此外,我们还提供了一系列练习题,旨在巩固所学知识,检验学习成果。这些练习题既有基础题,也有难度较高的挑战题,适合不同层次的学习者进行练习。 三、Android开发工具集 在Android开发过程中,选择合适的工具...

    GradleforAndroid系列:为什么Gradle这么火

    AndroidStudio占领市场后,构建工具Gradle的地位无人能比,我们有必要学习、使用它来为我们创造价值。在深入学习Gradle之前,我们有必要了解下它为什么这么流行。Android应用程序的构建过程非常复杂,如图所示:...

    拥抱AndroidStudio(二):AndroidStudio与Gradle深入

    本文为“拥抱AndroidStudio”...考虑到传统教育方式的不足之处,笔者在组织本系列文章的时候是先讲入门实例,进而学习Gradle和Groovy基础原理,最后学习进阶实例。上篇文章介绍了从ADT迁移到AndroidStudio,相信经过很

    AndroidAdvancedLearning:Android进阶学习(原始码分析,经验技术,感悟等)

    Android进阶学习 Android进阶学习(原始码分析,经验技术,感悟等) 原始码分析 技术框架 经验 命令 Gradle 手把手系列 快速上手系列 Android基础 Java基础 运营 感悟

    cicd-pipeline-train-schedule-gradle:用于Gradle练习的Train Schedule示例应用程序

    它旨在用作一系列动手学习活动的示例应用程序。运行应用无需在本地运行该应用程序即可完成学习活动,但是如果您愿意,则需要在本地安装npm。 首先安装npm依赖项: npm install然后,您可以使用以下命令运行该应用...

    leetcode中国-JakePrim:杰克普里姆

    偶尔搞搞Java后台技术,横向扩展不断学习中.... :high_voltage: 格言: 勤思考 - 多动手 - 善总结 - 能坚持 - 认真生活 - 快乐工作 - 关心于人 - 用心于事 - 静心于己 联系我 个人微信:XY_stars 公众号:JakePrim,...

    xmljava系统源码-XTCLint:实现Android自定义Lint实践(CustomLintRules&LintPlugin)

    这个是基于当时Gradle2.x系列写出来的自定义Lint实践总结,过去大半年了,现在将它搬到CSDN博客分享给大家一起学习学习。如果要在Gradle3.x系列使用该自定义规定的话,部分代码都得修改成最新的语法,因此此篇博客的...

    基于Java的JavaFX多功能调试与转换工具设计源码

    主要文件类型包括535个Java源文件、147个Markdown文档、144个Properties文件、129个PNG图片文件、112个JavaScript文件、86个FXML文件、76个Gradle文件、74个gitignore文件、74个XML文件、69个GIF图片文件。...

    Android开发之关于项目

    本系列文章会根据项目的进度进行相关介绍,其会分为多个模块,每个模块互不依赖,各个模块都是单独的学习内容,如sqlite学习模块,contacts联系人模块等。 新建项目 相信大部分童鞋都可以自定义项目了,那么在此,我...

    blog_demos:CSDN博客专家程序员欣宸的github,这里有五百多篇原创文章的详细分类和汇总,以及对应的源码,内容涉及Java、Docker、Kubernetes、DevOPS等方面

    关于作者 ...前腾讯、前阿里员工,从事Java后台工作; 对Docker和Kubernetes充满热爱;...《JUnit5学习》系列旨在通过实战提升SpringBoot环境下的单元测试技能,一共八篇文章,链接如下: jetcd学习特

    android-training:【Android 修炼手册】

    如果想从零开始学习 Android 开发,那么这系列内容是不合适的内容大纲Gradle 篇 -- 从使用到深入理解常用技术篇 -- 开发进阶必备Git 篇 -- 从使用到深入理解Git 使用Git 原理浅析常用开源库篇 -- 从使用到深入理解...

    2024年IDEA新手使用教程:详解,让你轻松上手!

    内容涵盖IDEA的下载安装、创建新项目、编写和运行代码、使用版本控制、使用Maven或Gradle、配置数据库、调试代码、使用插件、使用Terminal、使用Live Templates、代码自动完成、代码重构、代码片段、性能监控、云端...

    最新SpringBoot项目基于vue的地方美食分享网站.zip

    后端采用SpringBoot框架,它简化了企业级Java应用的开发过程,通过提供一系列自动配置的模板,减少了项目搭建的复杂性。集成了如Spring Security、JWT等安全框架,保障了用户数据的安全性。同时,SpringBoot与...

    springboot170图书电子商务网站的设计与实现.zip

    "springboot170图书电子商务网站的设计与实现.zip" 是一个压缩文件,通常包含了一系列与使用Spring Boot框架设计和实现一个图书电子商务网站相关的资源。虽然我无法访问该压缩包的具体内容,但可以提供一个一般性的...

    阿里巴巴面试题leetcode-student_books:我的学习书库

    系列课程总结) Axure RP 指南 - v1.1.pdf Docker —— 从入门到实践 - v1.0 Git 教程 - v1.0.pdf (感觉 也挺好可以查看) GitHub 使用手册 - 基础篇 Gradle 实战中文版 - v1.0 Hibernate 教程 - v1.0.pdf IntelliJ ...

    阿里巴巴面试题leetcode-java_wiki:维基百科

    #学习内容源于 程序猿提高篇。 PDF的质量都很高,建议打印出来看 环装 或者胶装 AngularJS 中文版 - v1.0 (推荐) Java 程序员眼中的 Linux - v1.0 Learning-Linux (慕课网 linux 系列课程总结) Axure RP 指南 - v1.1...

Global site tag (gtag.js) - Google Analytics