我试图使用grunt-version
来破坏我的PHP WordPress插件项目的版本。很长一段时间我都尝试过,但都失败了。
在我的插件文件example.php
中,我有一个表示项目版本的PHP变量:
public $version = '0.3.4';
我需要匹配字符串,以便我也可以在这里碰撞版本。
我试过了:
prefix: 'public\s\$version\s='
从regex101.com开始,它完全匹配字符串。版本号部分完全由grunt插件处理。
但是grunt version::patch
说:
文件中找不到图案
路径:example.php
模式:/(publics$versions=s)([0-9a-zA-Z\-_\+\.]+)/g
所以我将模式修改为:
prefix: 'public/\s\$version/\s=/\s'
但它没有匹配:
模式:
/(public\/s$version\/s=\/s)([0-9a-zA-Z\-_\+\.]+)/g
尽管如此,以下模式在同一个文件中正常工作:
prefix: 'Version:\\s+'
在插件标题中很好地提升版本:
版本:0.3.4
所以我试过了:
prefix: 'public \$version =\\s+'
但没有运气:
模式:
/(public $version =\s+)([0-9a-zA-Z\-_\+\.]+)/g
仅供参考,我的Gruntfile声明如下:
version: {
pluginVersion: {
options: {
prefix: 'Version:\\s+'
},
src: [
'example.php'
]
},
pluginVariable: {
options: {
prefix: 'public \$version =\\s+'
},
src: [
'example.php'
]
},
packageJson: {
src: [
'package.json'
]
}
},
毋庸置疑,默认模式('[^\\-]version[\'"]?\\s*[:=]\\s*[\'"]'
)也在改变一些不需要的版本。像:
public $ wp_version =' 0.3.0';
答案 0 :(得分:1)
答案 1 :(得分:0)
对于那些希望与style.css和/或插件文件一起使用的人:
<rewrite>
<rules>
<rule name="Sitemap Re-direct" enabled="true" stopProcessing="true">
<match url="sitemap.xml" />
<action type="Rewrite" url="sitemap" appendQueryString="false"/>
</rule>
<rule name="RewriteToSearch">
<match url="^search/property.php?id=([0-9]+)" />
<action type="Rewrite" url="https://search.sourced.co/property/{R:1}/" />
</rule>
</rules>
</rewrite>
确保您注册了任务(按照文档)
version: {
project: {
options: {
release: 'patch',
prefix: '\\s*([^\\w][\'"]?[v|V]{1}ersion[\'"]?\\s*[:=]\\s*[\'"]?)'
},
src: ['package.json', 'style.css']
}
}
然后您可以像这样运行任务
grunt.loadNpmTasks('grunt-version');