Как сохранить версию манифеста плагина и версию 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