Оптимизация параметров обновления в одной задаче, чтобы последующие задачи могли использовать их
Мне нужно бежать grunt-bump
который поднимает номер версии в package.json
затем беги grunt-xmlpoke
и обновите файл конфигурации с новым номером версии.
Итак, я попробовал пару вещей. Внутри grunt.initConfig
Я запускаю Bump, затем я запускаю xmlpoke.
1) xmlpoke берет grunt.file.readJSON('package.json').version
или же
2) после удара я запускаю пользовательскую задачу, которая добавляет новую версию в опцию grunt, и xmlpoke принимает значение grunt.options("versionNumber")
В обеих этих версиях результат xml является предварительной версией. Таким образом, xmlpoke получает свои значения до запуска задач и использует их при вызове своей задачи. Но мне нужно принять значение, которое является результатом предыдущего задания.
Есть какой-либо способ сделать это?
1 ответ
Хорошо, я понял, несколько очевидное решение.
Используя grunt-bump, вы можете обновить package.config, вы также можете обновить package.config, который часто читается в переменную pkg в начале initConfig. поэтому в настройке задачи bump вы указываете
{
updateConfigs:['pkg']
}
Тогда в xmlpoke я могу сделать
{ xpath:'myxpath', value:'blablabla/<%=pkg.version%>'}
и это работает. То, что я делал раньше, было
{ xpath:'myxpath', value:'blablabla/' + grunt.options.versionNumber}
где я установил номер версии в предыдущем задании после удара. Или же
{ xpath:'myxpath', value:'blablabla/'+ grunt.file.readJSON('package.json').version}
ни один из них не работал. Я полагаю, что я только начинал использовать смарт для своего блага, так как <% =%> - более распространенный и типичный способ доступа к параметрам из initConfig.
Во всяком случае, у вас есть это. Или у меня это есть.