使用Gradle编译锡兰示例时出错

使用Gradle编译锡兰示例时出错,gradle,plugins,ceylon,Gradle,Plugins,Ceylon,Ceylon 1.3.1刚刚发布,其中一个新项目是更好地与Java项目/库集成。决定将其中一个样本与ceylon gradle插件()一起旋转() 据我所知,将此项目转换为多项目Gradle构建只需添加两个具有以下配置的文件 格雷德尔酒店 格雷德尔先生 不幸的是,构建任何模块都会导致错误,例如 $ gradle :gateway:compileCeylon :gateway:resolveCeylonDependencies :gateway:createDependenciesPoms :g

Ceylon 1.3.1刚刚发布,其中一个新项目是更好地与Java项目/库集成。决定将其中一个样本与ceylon gradle插件()一起旋转()

据我所知,将此项目转换为多项目Gradle构建只需添加两个具有以下配置的文件

格雷德尔酒店

格雷德尔先生

不幸的是,构建任何模块都会导致错误,例如

$ gradle :gateway:compileCeylon

:gateway:resolveCeylonDependencies
:gateway:createDependenciesPoms
:gateway:createMavenRepo
:gateway:generateOverridesFile
:gateway:createModuleDescriptors
:gateway:importJars
:gateway:compileCeylon
source/gateway/module.ceylon:3: error: Pre-resolving of module failed: Could not find module: antlr/2.7.7
        import ceylon.interop.java "1.3.0";
        ^
ceylon compile: There was 1 error
:gateway:compileCeylon FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':gateway:compileCeylon'.
> Ceylon process exited with code 1. See output for details.
这是使用Gradle3.2实现的

------------------------------------------------------------
Gradle 3.2
------------------------------------------------------------

Build time:   2016-11-14 12:32:59 UTC
Revision:     5d11ba7bc3d79aa2fbe7c30a022766f4532bbe0f

Groovy:       2.4.7
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_112 (Oracle Corporation 25.112-b16)
OS:           Mac OS X 10.10.5 x86_64
尝试在
ceylon
配置上设置附加属性,如插件文档中所述,例如

ceylon {
    flatClasspath = false
    importJars = true
    forceImports = true
}

然而,错误依然存在。任何关于我可能缺少的东西的建议都将不胜感激。

这是因为ceylon gradle插件提供了新功能--完全导出maven依赖项。。。我现在创造了这个问题;),因此,要使项目正常工作,您可能需要使用以下选项更改每个子项目

[compiler]
source=source
resource=resource

[defaults]
encoding=UTF-8
overrides=build/overrides.xml
flatclasspath=true
fullyexportmavendependencies=false

它将禁用新的ceylon功能,并使用ceylon gradle插件功能和生成的overrides.xml文件。在我看来,这是Gradle插件的一个问题,默认情况下,它做的太多了。在这种情况下——出于完全合理的历史原因——它正在尝试做锡兰1.3.1已经做过的事情。谢谢!建议的修复使构建更进一步。模块
discovery
gateway
构建没有问题,但是
foo
bar
foobar
会因重复的模块导入而失败。我认为这是由于自动生成
overrides.xml
而不是使用提供的,请参阅source/bar/module.ceylon:2:错误:源代码导入了模块“org.springframework.data:spring data commons”的两个不同版本:版本“1.12.4.RELEASE”和版本“1.12.5.RELEASE”模块“1.0.0”{是的,但有一个问题,可能会在下一个版本中修复,如果您选择gradle或ceylon方式处理dependenciesHi,一切都将是透明的!抱歉,我还没有时间更新ceylon插件以使用ceylon 1.3.1!很快就会得到修复!
ceylon {
    flatClasspath = false
    importJars = true
    forceImports = true
}
[compiler]
source=source
resource=resource

[defaults]
encoding=UTF-8
overrides=build/overrides.xml
flatclasspath=true
fullyexportmavendependencies=false