Gradle:汇编特定配置的输出

时间:2014-08-26 10:37:00

标签: gradle

对于一个项目,我有一个自定义配置,它应该只是扩展默认配置,包括java源和依赖关系。

这就是目前的样子:

configurations {
    // Tools inherits everything from default and adds on
    toolsCompile.extendsFrom(compile)
}

sourceSets {    
    main {
      java {
        srcDirs = ['src']
      }
    }
    tools {
      java {
        // Tools extends on the core sources
        srcDirs = sourceSets.main.java.srcDirs + ['src-tools']
      }
    }
}

dependencies {
    compile libs.a
    compile libs.b
    compile libs.c

    // Tools adds on the dependencies of the default configuration
    toolsCompile libs.d
    toolsCompile libs.e
}

我知道我也可以使用子项目。在尝试之后,我放弃了它,因为我无法与Eclipse集成插件一起正常工作(从命令行使用时它可以正常工作)。

我对上述解决方案有几个问题:

  1. 我延伸tools.java.srcDirs的方式是否正确?有更优雅的方式吗? 编辑:显然它不正确,因为gradle eclipse会为.classpath生成一个src重复条目。请帮帮忙?
  2. 在我创建tools配置后,我知道我可以将其用作来自其他项目的依赖项,例如compile project(path: ':myproject', configuration: 'tools')。如果我想要为assemble配置获取tools任务的输出,我需要添加什么?我必须为此做一个明确的任务吗?任务toolsClasses是自动创建的,但不是toolsAssembletoolsBuild

0 个答案:

没有答案