Я работаю с проектом, подобным проекту описанным здесь. Таким образом, он имеет несколько модулей в родительском 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, или я использовал его не очень хорошо.