2014-01-22 3 views
6

У меня есть Gradle проект, который строит военный файл, и включает в себя манифест:Gradle войны манифеста номер версии неправильно для выпуска сборки

war { 
    archiveName 'archive.war' 
    manifest { 
     attributes("Implementation-Title": project.name, "Implementation-Version": version, "Implementation-Timestamp": new Date()) 
    } 
} 

Это нормально, но если я запускаю сборку выпуска (с использованием Gradle -release плагин https://github.com/townsfolk/gradle-release), который обновляет версию проекта, тогда файл войны создается со старым номером версии, а не с новым.

Возможно, я ошибаюсь, но подозреваю, что это происходит, потому что код манифеста работает на этапе конфигурации, а не на этапе исполнения. Каков наилучший способ исправить это?

+1

Я бы связаться с автором плагина. –

ответ

8

Обнаружив раздел манифеста в «doFirst», он зафиксировал его. Использование «doLast» привело к созданию пустого файла манифеста.

Рабочий код:

war { 
    doFirst { 
     manifest { 
      attributes("Implementation-Title": project.name, "Implementation-Version": version, "Implementation-Timestamp": new Date()) 
     } 
    } 
    archiveName 'infoserverws.war' 
} 
+0

Спасибо за ответ. Я застрял в той же проблеме с манифестом в файле jar. – anorakgirl

Смежные вопросы