2014-11-08 59 views
6

我想包括在BuildConfig自定义字段使用此功能包含生成日期:摇篮不产生与引号的字符串

def getDate() { 
    def date = new Date() 
    def formattedDate = date.format('yyyyMMddHHmmss') 
    return formattedDate 
} 

然后,在defaultConfig我把:

buildConfigField "String", "BUILD_NUMBER", getDate() 

问题是,由Gradle生成的字段是:

public static final String BUILD_NUMBER = 20141108114911; 

其中抛出“整数太大”,但我d不想要整数,我想要一个字符串!

我想明确地更换defString,试图getDate().toStringgetDate() as String"${getDate()}",仍然没有引号包围我的字符串。我也试图把像一个字符“ - ”中日中间,它剧照不会生成报价,使得:

public static final String BUILD_NUMBER = 20141108-114911; 

显然不作出任何意义......

我出的想法,对Groovy不够熟悉,所以不确定是否有另一种(工作)方式来“强制”一个字符串。

回答

19

您需要添加转义引号:

buildConfigField "String", "BUILD_NUMBER", "\"${new Date().format('yyyyMMddHHmmss')}\"" 
+0

或只是把混合引号:' ' “BuildID”'' – 2016-06-26 22:04:02