Python是解决这个问题的合适工具吗?(构建脚本)
目前我在用一个Windows批处理文件来构建我的软件。这个批处理文件会做一些事情,比如运行MSBuild、复制文件、创建ZIP文件、运行一些测试、包括子版本号等等。
但是问题是,批处理文件实在不好用。所以我想换成更好的东西。我打算用Python重新写我的构建脚本。这是个聪明的选择吗?那那些构建系统,比如Ant、SCons、Maven、Rake等等,使用它们会不会更好呢?
注意:我并不打算替换我的Visual Studio解决方案/项目文件。我只是想把创建软件发布所需的其他所有步骤都脚本化。
编辑:我有很好的理由要放弃批处理,这不是我问题的重点。我想知道(比如说)SCons相比普通的Python脚本能给我带来什么好处。
12 个回答
7
既然你提到了Python和SCons,我觉得你可以选择SCons。毕竟它是用Python写的。而且,以上提到的任何选项都比自己手动写的构建脚本要好。
9
批处理文件并不是坏东西——它们其实已经从早期简单得不能再简单的命令行时代发展了很久。现在的命令语言可以表达很多东西,只是需要你花点时间去学习。
除非你的构建脚本真的有个无法解决的问题(如果真是这样,那你应该问这个问题,而不是模糊地问“有什么更好的替代方案吗?”:-)),我的建议是继续使用你现在的东西。
如果只是感觉它有点“邪恶”,那并不是我去浪费时间“修复”一些并没有坏的东西的理由。除非换成新东西有明显的好处,否则这都是浪费时间(“不那么邪恶”我觉得并不是一个明显的好处)。
16
对于一个用Python编写的工具,我觉得Paver比SCons更容易管理,也更灵活。与SCons不同,Paver是为了处理那些不需要编译程序的各种任务而设计的,这些任务通常与管理和分发软件项目有关。