Java插件,因为它提供了编译Java源代码,运行单元测试,创建Javadoc和创建JAR文件的任务
任务
任务 | 功能 |
---|---|
jar | 组装包含主类的jar归档文件 |
clean | 删除 build 目录以及所有构建完成的文件 |
build | 编译并执行单元测试,并且将 src/main/* 下面 class 和资源文件打包 |
代码目录
apply plugin: 'java'
sourceSets {
main {
java {
srcDir 'src'
}
}
test {
java {
srcDir 'test'
}
}
}
仓库
Gradle 是在一个被称之为仓库的地方找寻所需的外部依赖。仓库即是一个按 group,name 和 version 规则进行存储的一些文件,支持maven、ivy仓库.Gradle 会按照顺序从各个库里寻找所需的依赖文件,并且一旦找到第一个便停止搜索.
repositories {
jcenter()
mavenLocal()
mavenCentral()
maven {
url "http://repo.mycompany.com/maven2"
}
ivy {
url "http://repo.mycompany.com/repo"
}
ivy {
// URL can refer to a local directory
url "../local-repo"
}
}
mavenCentral: maven中心仓库
mavenLocal: maven本地仓库
maven: maven远程仓库
ivy:ivy 远程仓库或指向本地目录
依赖
dependencies {
compile 'commons-cli:commons-cli:1.4'
compile 'commons-logging:commons-logging:1.2'
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
compile 'org.hibernate:hibernate-core:3.6.7.Final'
testCompile 'junit:junit:4.12'
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'org.mockito:mockito-core:2.23.0'
testCompile 'com.github.stefanbirkner:system-rules:1.17.0'
}
|名称|范围| |—|—| |compile|编译范围依赖在所有的 classpath 中可用,同时它们也会被打包| |runtime|runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要| |testCompile|测试期编译需要的附加依赖| |testRuntime|测试运行期需要|
不同的插件提供了不同的标准配置,你甚至也可以定义属于自己的配置项
Java版本
version = 0.1.1
sourceCompatibility = 1.8
发布
uploadArchives {
repositories {
flatDir {
dirs 'repos'
}
}
ivy {
credentials {
username "username"
password "pw"
}
url "http://repo.mycompany.com"
}
mavenDeployer {
repository(url: "file://localhost/tmp/myRepo/")
}
}
repositories: 发布到本地目录
ivy: 发布到ivy仓库
mavenDeployer: 发布到maven仓库,主要需要使用maven插件