затем используйте команду update-versions, чтобы вставить в него "-SNAPSHOT" и опубликовать sh (я не публикую sh его обратно в ветку, так как я действительно не хочу сохраните «-SNAPSHOT».
Не суждение, но использование версии без снимка в pom как для снимка, так и для выпуска чревато ошибками. Снимок означает «в разработчике, будьте осторожны». Выпуск означает «совсем стабильный, go ". В случае сомнений или отката к определенной версии c разработчики должны быть уверены в том, к чему относится фиксация. Здесь это размыто.
В идеале мой цели> следующие:
иметь возможность публиковать sh что-то как SNAPSHOT должным образом (возможно, без использования maven-exe c)?
Двумя способами:
- сохраните версию артефакта как
-SNAPSHOT
в вашем pom. xml и обновите ее, удалив -SNAPSHOT
и пометив / развернув ее, когда вы хотите рассматривать ее как выпуск. - оставьте версию артефакта no
-SNAPSHOT
(пока я не советую) и используйте удобную для maven-ci функцию / plugin , чтобы установить версию динамически.
Ваши свойства pom могут выглядеть как версия, определенная как:
<version>${revision}${sha1}${changelist}</version>
<properties>
<revision>1.0.0</revision>
<changelist></changelist>
<sha1/>
</properties>
И вы также должны объявить flatten-maven-plugin
как оставьте pom. xml расходным материалом для других проектов (как в случае с библиотеками).
Наконец, вы можете выполнить цель развертывания для pu sh вашего снимка в удаленном репозитории maven:
mvn -Dchangelist=-SNAPSHOT clean deploy
иметь возможность обновлять мою версию постепенно, чтобы пользователям не приходилось постоянно обновлять свою версию? Этот процесс, конечно, должен гарантировать, что я не буду sh что-то освоить, что может иметь неправильную версию (которая затем не удалась при развертывании).
Вы можете положиться на плагины maven и сценарий для достижения этого. Например, для автоматического увеличения второго di git версии, которая не имеет префикса моментального снимка, как в вашем случае, в системе linux вы можете сделать:
// get the current pom version and store it into a variable
version=$(mvn -q -U -Dexpression=project.version -DforceStdout maven-help-plugin:evaluate)
// increment the second digit of the version and overwrite the variable
version=$(echo ${version} | awk -F'.' '{print $1"."$2+1"."$3}' | sed s/[.]$//)
// update the pom with the new version
mvn -U versions:set -DnewVersion=${version}
Он работает как для версии с 3 цифрами, но также и с 2 цифрами благодаря sed.