Как сохранить версию манифеста плагина и версию pom в синхронизации в Maven с Tycho
Я использую Maven с Tycho для создания плагина eclipse. Tycho генерирует файл pom.xml для Maven, проверяя файл манифеста плагина. Теперь и файл манифеста, и файл pom имеют версию плагина, и их необходимо синхронизировать вручную. Это связано с тем, что я сделал некоторую настройку в сгенерированном файле pom и не могу перезаписывать его каждый раз, когда меняю версию в манифесте.
Мой вопрос в том, есть ли способ автоматически синхронизировать эти версии с помощью Tycho?
Ответы
Ответ 1
Кажется, вы можете обновлять версии с помощью tycho-versions-plugin (здесь используется tycho 0.14.0):
mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=NEW_VERSION-SNAPSHOT
Это обновляет POM, MANIFEST и feature.xml
Ответ 2
Теперь вам нужно синхронизировать их вручную. Существует открытая проблема - TYCHO-214: процедуры и лучшие методы выпуска OSGi - которые должны охватывать это. В настоящее время он нацелен на 0.9.0 - следующую версию.
Ответ 3
У нас была аналогичная ситуация. Мы устали менять версию в манифесте и в pom.xml. Но изменение версии с помощью maven было не лучшим решением, потому что каждый раз при выполнении специальной команды maven мы не решали.
Но я нашел Tychoplugin, который мы встроили в сборку.
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-versions-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>versions</id>
<phase>validate</phase>
<goals>
<goal>update-pom</goal>
</goals>
</execution>
</executions>
</plugin>
Этот плагин обновляет версию в pom.xml с помощью версии Manifest every Build автоматически.
Дополнительная информация на https://www.eclipse.org/tycho/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html
Ответ 4
Это довольно удобно использовать плагин Version Tiger для Eclipse.
Этот плагин добавляет контекстное меню для затмения, которое позволяет одновременно обновлять версии OSGI и pom.
Версия Tiger можно скачать здесь: https://github.com/inventage/version-tiger