Я работаю над проектом, похожим на проект, описанный здесь. Итак, у него есть несколько модулей в родительском файле pom.xml:
<modules>
<module>../de.vogella.tycho.plugin</module>
<module>../de.vogella.tycho.feature</module>
<module>../de.vogella.tycho.p2updatesite</module>
</modules>
Эти модули имеют общий номер версии, например. 1.0.0-SNAPSHOT
или без -SNAPSHOT
. Файл feature.xml должен содержать тот же номер версии:
<feature
id="com.my.feature"
label="My plugin feature"
version="1.0.0">
и:
<plugin
id="com.my.plugin"
download-size="0"
install-size="0"
version="1.0.0"
unpack="false"/>
Файлы category.xml (в проектах сайта обновлений p2) и MANIFEST.MF (в проектах плагинов) должны содержать одно и то же значение.
Возникает вопрос: как автоматизировать процесс обновления номера версии во всех этих файлах с помощью Maven?
Я попытался решить эту проблему, используя maven-release-plugin и maven-versions-plugin. Первый плагин делает много неиспользуемых действий (например, делает много коммитов CVS, которые я не использую в этом проекте). Второй плагин вносит изменения только в файлы pom.xml и не изменяет feature.xml, category.xml и MANIFEST.MF, или я использовал его не так хорошо.