内容简介:所讨论的这个问题是有问题的,因为它假设项目:Libraries / MovedLibrary在当前项目之前被评估(不执行),可能不是这样.如果没有,另一个项目的源代码集将不会被配置. (甚至没有sourceSets属性,因为java-base插件还没有被应用)一般来说,最好不要涉及其他项目的项目模式,特别是如果他们不是当前项目的孩子.在项目A使用项目B的测试代码的情况下,推荐的解决方案是使项目B公开测试Jar(通过工件{}块),然后由项目A消耗.如果你想保持现状,你可以使用gradle.projectsE
我有一个很好的毕业生配置,建立一切都很好.但是,我的多项目构建项目之一源自于其他项目,所以我很乐意将其转移到另一个git repo并配置子模块来处理它.
首先,我将Project及其资源移至子文件夹/ MovedProject.改变了一些线程在gradle配置后,工作正常.但是后来我决定为这个项目编写一个新的build.gradle,并将其中的所有配置从主文件中移出.
这就是一切都停止工作的地方.当我尝试调用任何任务时,它总是结束
在项目’:库/ MovedProject’上找不到属性’sourceSets’.负责的是:
dependencies { ... if (noEclipseTask) { testCompile project(':Libraries/MovedLibrary').sourceSets.test.output } }
我用于运行测试,其中我使用其他项目的类.如果我删除该行,则只有在到达使用MovedProject的项目的compileTestJava任务时,构建才会失败.如果我删除该行并调用gradle:库/ MovedLibrary:属性我可以看到:
... sourceCompatibility: 1.7 sourceSets: [source set main, source set test] standardOutputCapture: org.gradle.logging.internal.DefaultLoggingManager@1e263938 ...
而gradle:图书馆/ MovedLibrary:构建正确.
目前我已经做了如下所有设置:
>目录:
> / SomeMainProject1
> / SomeMainProject2
> / SomeMainProject3
> /库
> / MovedProject
> build.gradle
>依赖
> project.gradle
> tasks.gradle
> / Builder
>依赖
> project.gradle
> tasks.gradle
> build.gradle
> settings.gradle
> settings.gradle
include Libraries/MovedProject, SomeMainProject1, SomeMainProject2, SomeMainProject3
> MovedProject的sourceSets在Libraries / MovedProject / project.gradle中定义:
sourceSets { main { java { srcDir 'src' srcDir 'resources' } resources { srcDir 'resources' } } test { java { srcDir 'test/unit' } } }
使用sourceSets.test.output的依赖关系存储在Builder / dependancies.gradle中,并为需要MovedProject的每个项目设置运行测试:
project(':SomeMainProject1') { dependencies { ... if (noEclipseTask) { testCompile project(':Libraries/net.jsdpu').sourceSets.test.output } } }
什么是最简单的方法来摆脱这个错误,并使当前目录结构的gradle构建项目?我想了解为什么毕业生看不到这个财产.
所讨论的这个问题是有问题的,因为它假设项目:Libraries / MovedLibrary在当前项目之前被评估(不执行),可能不是这样.如果没有,另一个项目的源代码集将不会被配置. (甚至没有sourceSets属性,因为java-base插件还没有被应用)
一般来说,最好不要涉及其他项目的项目模式,特别是如果他们不是当前项目的孩子.在项目A使用项目B的测试代码的情况下,推荐的解决方案是使项目B公开测试Jar(通过工件{}块),然后由项目A消耗.
如果你想保持现状,你可以使用gradle.projectsEvaluated {}或project.evaluationDependsOn()来解决问题.有关更多信息,请参阅 Gradle Build Language Reference .
代码日志版权声明:
翻译自:http://stackoverflow.com/questions/15347364/gradle-multiproject-gives-could-not-find-property-sourcesets-on-project-erro
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 写不写注释? Elixir 给出另外一个答案
- php – 为什么$variable = 0759给出61?
- Tor被曝多个0 day漏洞,官方给出回应!
- 算法 – 给出一个单词,打印其索引,可以相应地增加单词
- 有人说Julia比Python好,还给出了5个理由
- 强化学习如何提升ICU抢救效率?普林斯顿大学给出答案
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
企业IT架构转型之道:阿里巴巴中台战略思想与架构实战
钟华 / 机械工业出版社 / 2017-4-1 / 79
在当今整个中国社会都处于互联网转型的浪潮中,不管是政府职能单位、业务规模庞大的央企,还是面临最激烈竞争的零售行业都处于一个重要的转折点,这个转折对企业业务模式带来了冲击,当然也给企业的信息中心部门带来了挑战:如何构建IT系统架构更好地满足互联网时代下企业业务发展的需要。阿里巴巴的共享服务理念以及企业级互联网架构建设的思路,给这些企业带来了不少新的思路,这也是我最终决定写这本书的最主要原因。本书从阿......一起来看看 《企业IT架构转型之道:阿里巴巴中台战略思想与架构实战》 这本书的介绍吧!
在线进制转换器
各进制数互转换器
XML、JSON 在线转换
在线XML、JSON转换工具