Gradle не генерирует строку с кавычками

Я пытаюсь включить настраиваемое поле в 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;

который бросает "Integer слишком большой", но я не хочу целое число, я хочу строку!

я попытался явно заменить def С String, судим getDate().toString, getDate() as String и "${getDate()}", и все еще нет цитаты, чтобы окружить моя Струна. Я также попытался поместить символ типа " - " в середине даты, он все еще не генерирует кавычки, делая:

public static final String BUILD_NUMBER = 20141108-114911;

явно не имеет никакого смысла...

Я вне идеи здесь, не будучи достаточно знакомым с Groovy и поэтому не уверен, есть ли другой (рабочий) способ "принудить" строку.

1 ответов


вам нужно добавить экранированные кавычки:

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