gradle - 使用 Gradle 编译 Ceylon 示例时出错

标签 gradle plugins ceylon

Ceylon 1.3.1 刚刚发布,其中一项新功能是与 Java 项目/库更好的集成。决定将其中一个示例与 ceylon-gradle 插件 ( https://github.com/DiegoCoronel/ceylon-spring-boot ) 一起进行旋转 ( https://github.com/renatoathaydes/ceylon-gradle-plugin )。

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

settings.gradle

include 'gateway'
include 'discovery'
include 'foo'
include 'bar'
include 'foobar'

build.gradle

plugins {
    id 'com.athaydes.ceylon' version '1.3.0' apply false
}

subprojects { subprj ->
    subprj.apply plugin: 'com.athaydes.ceylon'

    repositories {
        mavenCentral()
    }

    ceylon {
        module = subprj.name
    }
}

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

$ 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.

使用 Gradle 3.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插件does not support yet新功能 --全导出-maven-依赖项 ...我现在创建了这个问题;),因此为了使您的项目正常工作,您可能需要使用这些更改每个 subproject/.ceylon/config选项:

[compiler]
source=source
resource=resource

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

它将禁用新的 ceylon 功能并使用 ceylon gradle 插件功能和生成的 overrides.xml 文件

关于gradle - 使用 Gradle 编译 Ceylon 示例时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40750544/

相关文章:

maven - Gradle子项目和allproject对每个项目重复吗?

gradle - Spring Boot + Jetty 9 + Jersey 2.11不支持异步

java - 转换异常 : Multiple dex files define Lcom/google/android/gms/internal/zzcaw;

javascript - 如何使用适用于 iOS 的 phonegap 插件将数组作为参数传递给函数

ceylon - 实现 Sumable 时遇到问题

gradle - Gradle任务层次

html - HTML 网站上使用的 Wordpress 革命 slider

c++ - C++中插件的“Best fit”动态类型匹配

java - ceylon 目录的 Jimfs 路径

ceylon - 递增整数