使用nebula facet插件扩展项目

作者:

对于一般的Gradle项目而言,主要的代码有两块,一块是main,一块是test。

但是很多时候我们需要的不只是main和test,比如一个小项目,如何随项目一起附带一个简单的demo。

放在main里面自然不合适,放在test中感觉也很普通的单元测试会混淆。这种时候就希望能够在main和test之外再扩展一个demo出来。

Netflix的Gradle插件就可以完成这个工作

apply plugin: 'nebula.facet'

然后在配置中添加

facets {
    demo
}

这样我们就拥有了一个名为demo的块,目录为src/demo。然后编译任务名称为 demoClasses。

这样我们就可以很轻松的新建一个跑demo的任务

task demo(dependsOn: demoClasses, type: JavaExec) {
    main = "net.mwplay.cocostudio.ui.Runner"
    classpath = sourceSets.demo.runtimeClasspath
    standardInput = System.in
    workingDir = "$projectDir/src/demo/resources"
    ignoreExitValue = true
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注