假设我有一个包含多个文件的项目(例如.html
,.js
,.css
,.cs
等)。这些文件以grunt
发行,这会从我的输入build/
文件创建一个src/
文件夹。
在此过程中,它不包含我所有的src
文件,并且还更改了某些文件的名称(例如,更改为.min.js
和.min.css
)。
在任务中使用src
参数指定输入文件的列表,并使用ext
参数重命名。
太酷了,有关要包含在版本中的文件的所有信息都在grunt
文件中。
但是是否可以自动检查输入文件是否也添加到git中?
几个月后要发布数百个版本,然后弄清楚我忘了在第一个版本的git中添加一个重要文件,这会非常令人沮丧。
这意味着snapshots
中存储的所有先前git
都不完整。
我知道一些自动化的Jenkins
测试会有所帮助,但是这些测试可能应该包含另一个独立创建的文件列表。这将是一个很好的第二次检查,但情况并不会更简单。
Grunt知道发行所需的有关源文件的所有信息,并且可以在发行期间进行许多检查。
如果grunt可以在运行任务之前执行git status
,并且可以在应用任务之前应用source filter
来检查git中文件的存在,那就很好了。
创建艰巨的任务或执行git命令行也是一种解决方案,但是我担心我需要为此解决方案再次列出所有src
列表和ext
参数
注意:对于开发,我也使用Windows和Linux。
答案 0 :(得分:1)
我创建了一个脚本,该脚本对我来说很重要。 但是,我不是Windows脚本专家,所以我不得不将其分为两部分。
第一行必须在PowerShell中执行,其他行可以从标准cmd窗口开始。
REM PowerShell:
REM grunt -v | findstr /R '^Reading' | %{$_ -replace '^Reading','@git status -s'} | %{$_ -replace '...OK$',''} | Out-File git_check.bat ASCII
git_check.bat
del git_check.bat
临时批处理脚本git_check.bat的示例输出:
w:\Project>git_check.bat
?? src/js/output_SUSPEND.js
?? src/js/3rdparty/lz-string.js
?? src/img/ajax-loader.gif
有人有一个简单的单脚本解决方案吗?