一、声明dependency
在build.gradle文件编辑以下代码:
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
以上代码表明:
(1) compile group:需要依赖Hibernate core 3.6.7.Final来编辑项目的源码,在编译时系统会自动将hibernate的依赖加入进来
(2)testCompile group:测试代码需要junit4以上的版本来编译
二、常用的依赖
(1)compile:编译生产代码的依赖环境,即src/main/下
(2)runtime:生产代码运行时的依赖(包含编译生产代码时的依赖)
(3)testCompile:编译测试代码的依赖环境,即src/test下
(4)testRuntime:测试代码运行时的依赖(包含编译测试代码时的依赖)
三、依赖的配置
通常情况下有两种配置:
(1)使用 “group:name
:version
”形式来定义dependencies ,如
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}
(2) 使用缩略形式,如:
dependencies {
compile 'org.hibernate:hibernate-core:3.6.7.Final'
}
四、如何将相关jar包添加到classpath?
可以通过buildscript{}中添加依赖的方式,将相关jar包加入到classpath中,如:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath group: 'commons-codec', name: 'commons-codec', version: '1.2'
}
}
就将commons-codec-1.2.jar加入到classpath中了
五、如何定义task 任务?
六、gradle plugin的本质?plugin是什么?可要用它来做什么?
gradle的plugin其实就是一个实现了Plugin接口的一个普通类,这个类必须要实现apply方法来执行相关的操作。如:在org.gradle.api.plugins包下,定义个JavaPlugin类
public class JavaPlugin implements Plugin<Project> {
public static final String PROCESS_RESOURCES_TASK_NAME = "processResources";
public static final String CLASSES_TASK_NAME = "classes";
public static final String COMPILE_JAVA_TASK_NAME = "compileJava";
public static final String PROCESS_TEST_RESOURCES_TASK_NAME = "processTestResources";
public static final String TEST_CLASSES_TASK_NAME = "testClasses";
public static final String COMPILE_TEST_JAVA_TASK_NAME = "compileTestJava";
public static final String TEST_TASK_NAME = "test";
public static final String JAR_TASK_NAME = "jar";
public static final String JAVADOC_TASK_NAME = "javadoc";
public static final String COMPILE_CONFIGURATION_NAME = "compile";
public static final String RUNTIME_CONFIGURATION_NAME = "runtime";
public static final String TEST_RUNTIME_CONFIGURATION_NAME = "testRuntime";
public static final String TEST_COMPILE_CONFIGURATION_NAME = "testCompile";
public void apply(Project project) {
project.getPlugins().apply(JavaBasePlugin.class);
JavaPluginConvention javaConvention = project.getConvention().getPlugin(JavaPluginConvention.class);
project.getConvention().getPlugins().put("embeddedJavaProject", new EmbeddableJavaProjectImpl(javaConvention));
configureSourceSets(javaConvention);
configureConfigurations(project);
configureJavaDoc(javaConvention);
configureTest(project, javaConvention);
configureArchives(project, javaConvention);
configureBuild(project);
}
}
在定义类后需要对这个plugin类进行相关配置,只有配置之后才能被以“apply plugin:‘java’”形式使用。
首先需要在src\META-INF\目录下建立一个gradle-plugins文件夹,然后在该文件夹下建立一个名为“插件名.properties”文件,如java.properties,文件的内容为定义的plugin类的实现路径,具体内容如下:
implementation-class=org.gradle.api.plugins.JavaPlugin
通过以上配置,我们就可以在build.gradle中明目张胆的使用:
apply plugin: 'java'
以后有机会将会详细来剖析 javaplugin这一gradle base plugin
plugin通常可以用来做以下事情:
Add tasks to the project (e.g. compile, test)
Pre-configure added tasks with useful defaults.
Add dependency configurations to the project
Add new properties and methods to existing type via extensions.
七、编写plugin的方法
通常有三种方法:
(1)在buildscript中编写plugin,这样编写的plugin只能用在当前项目中,不能被重用
(2)buildsrc中编写plugin。在“rootProjectDir/buildSrc/src/main/groovy ”目录中用groovy编写plugin,
在buildSrc目录下编写 build.gradle文件来对这个plugin进行说明
(3)独立的项目。将plugin写成一个独立的项目,然后发布成一个jar包供多个项目来使用。这个jar包中也可以包含多个task任务。
分享到:
相关推荐
Gradle官方文档中文翻译 gradle-user-guide
实战Gradle_中文完整版.pdf
google推出了全新的Android Studio集成开发环境,其中Android项目的结构与Eclipse的Android项目结构有很大的区别,原因就在于两开发环境使用的构建工具不同...对应Android项目的Gradle插件就是Android Gradle Plugin。
gradle官方中文文档,翻译的一般般,凑合看吧
gradle in action 中文版高清pdf 带书签gradle in action 中文版高清pdf 带书签gradle in action 中文版高清pdf 带书签
gradle 是最新出的一个项目构建工具,这个是官方文档的中文译本
gradle中文文档
Gradle中文版是一个基于JVM的非常实用的构建工具。Gradle中文版操作十分便捷,可以帮助用户快速进行一系列操作,非常好用。Gradle中文版界面清晰明了,运行也十分稳定,有良好的扩展性,是用户开发构建的好帮手。
gradle使用手册中文版
Gradle for Android(中文版)介绍Gradle工具在Android构建中的使用,帮助Android开发者全面深入的了解Gradle工具的使用
gradle 用户手册中文版
Gradle for Android 中文版。
网上唯一的《Gradle Beyond the Basics》中文版。
Gradle中文文档by无线学院 欢迎加入Gradle中文社区,本文档由无线学院院长自娱老师组织翻译,感谢雷亚、刘学美、徐俏、朱俊峰、陈立元等对本文档翻译的贡献。 本文档为Gradle使用手册V2.5,欢迎指正,也欢迎加入...
gradle for android 中文版
实战Gradle_中文完整版 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置
《实战Gradle》(Gradle in Action)全方位地讲解了Gradle 工具相关的知识,包括Gradle 的基本知识、自动化构建的基本概念和最佳实践,以实际案例的方式解释如何使用Gradle 进行软件项目构建。除了基础知识外,由于...
实战Gradle_中文高清完整版, 实战Gradle_中文高清完整版, 实战Gradle_中文高清完整版
Gradle for Android 中文版 一本简单讲解关于Android中关于Gradle相关的书籍,是快速掌握和理解Gradle的有效辅助书籍。
gradle 实战 中文高清完整版PDF;是中文版的高清文档,可查阅。 积分本来要免费的,可惜没有免费项。选择了最小的,大家下载吧,