grovvy学习之源集Sourcesets
定义
源集表示一组用于编译执行的源文件,一个源集有一个相关联的编译类路径和运行时类路径。
默认源集是main和test目录,也可添加其他的源集,在sourcesets熟悉中新增源集,并设置该源集的属性
作用意义
javaPlugin就是利用源集来管理java源代码目录的,并且该插件默认提供了两个源集就是main和test。
- main目录包含项目源代码,用于编译成jar文件
- test目录包含单元测试代码,用于编译后使用junit或testng执行
可设置属性
在build.gradle中设置sourcesets闭包(可查看之前的闭包文章,加深映像),并添加源集,在源集中设置该源集的信息
属性表格,最后三行展示的是java目录的设置,同理和java同级的resource目录也有这三个属性可以设置。
示例:
sourcesets{
//默认的main和test两个源集,未指定编译的java,resource文件夹时默认为当前文件下
main{
}
test{
}
// 新增一个名字叫beiyang 的源集,之后在src目录下面创建包的时候就会提示创建beiyang/java和 beiyang/resource这两个文件了;如果想要指定编译java的自定义文件夹,通过java.srcdirs即可指定;也可设置输出后的class存放位置参考上面属性
beiyang{
}
}
动态添加源集
上面是自定义的源集,那么自带的源集maintest是什么时候被添加的呢?我们创建工程的时候也没有看见sourcesets闭包是吧?
答案是插件中帮我们创建了源集,看下图代码即可理解。插件内部可以动态添加源集(下图代码为groovy插件帮我们添加的源集),因此我们也可以实现不用手动定义sourceSets闭包属性采用插件动态添加源集
如何检验添加成功
源集添加成功后,我们在src目录下面创建包的时候as会提示我们要添加的对应的java和resource包,非常银杏化
源集添加依赖
在dependcies属性中设置需要为源集引入的依赖,默认为main,如果想要指定源集添加依赖,则在引入依赖关键字的前缀添加源集名称即可,例如testcompile.....
标签:插件,java,Gradle,添加,源集,之源集,test,SourceSets,main From: https://blog.51cto.com/u_14689064/5785695