首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将参数传递给gradle中的编译器和javadoc

将参数传递给gradle中的编译器和javadoc
EN

Stack Overflow用户
提问于 2012-09-24 02:06:40
回答 1查看 8.2K关注 0票数 7

我正在尝试提供Gradle作为现有项目的替代构建系统。该项目使用了sun.misc.Unsafe,这会导致类似下面这样的警告:

代码语言:javascript
代码运行次数:0
运行
复制
warning: Unsafe is internal proprietary API and may be removed in a future release
import sun.misc.Unsafe; 

要取消此警告,-XDignore.symbol.file将作为参数传递给当前ant脚本中的javac和javadoc。

为了在Gradle中抑制这些警告,我不得不求助于我觉得“肮脏”的黑客,我对这些黑客不太适应。

代码语言:javascript
代码运行次数:0
运行
复制
apply plugin: 'java'

compileJava {
    // I only managed to get this working when I forked 
    // and passed 'javac' as an executable
    options.compilerArgs << '-XDignore.symbol.file'
    options.fork = true
    options.forkOptions.executable = 'javac'
}


javadoc {
    // These get ignored
    // options.addStringOption('XDignore.symbol.file', null)
    // options.addStringOption('XDignore.symbol.file')

    // This one fails the build - I am assuming it's trying to parse ''
    // options.addStringOption('XDignore.symbol.file')

    // This works, but it's an ugly hack
    options.addStringOption('XDignore.symbol.file', '-quiet')
}

当然,肯定有一种我不知道的更优雅的方式来实现这一点。

下面( https://gist.github.com/3772416 )是一个更完整的示例,其中包含一个附带的ant脚本和一个导致问题的示例类。

谢谢

我运行的是Gradle 1.1

代码语言:javascript
代码运行次数:0
运行
复制
------------------------------------------------------------
Gradle 1.1
------------------------------------------------------------

Gradle build time: Tuesday, 31 July 2012 13:24:32 o'clock UTC
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.8.4 compiled on May 22 2012
Ivy: 2.2.0
JVM: 1.7.0_07 (Oracle Corporation 23.3-b01)
OS: Linux 3.2.0-30-generic amd64

目前看来,这是一个合理的机会来压制这些特别的警告。请参见- http://forums.gradle.org/gradle/topics/passing_arguments_to_compiler_and_javadoc?rfm=1

EN

回答 1

Stack Overflow用户

发布于 2012-09-24 02:44:53

关于Javadoc,以下方法可能会起作用:

代码语言:javascript
代码运行次数:0
运行
复制
javadoc.options.jflags "-XDignore.symbol.file"

关于Java编译,如果最近的Gradle版本(例如1.2)仍然需要options.fork = trueoptions.forkOptions.executable = 'javac',那将是一件很好的事情。如果是,请将问题提交到http://forums.gradle.org

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12554829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档