我这里有300行长的NAnt文件,这是一个非常混乱.我想知道是否有任何样式指南用于编写NAnt脚本以及这样做的最佳实践.
有小费吗?
我不知道任何已发布的风格指南,但我当然可以分享我的经验.您可以使用许多在其他编程环境中使用的相同技术,例如使代码模块化并将其拆分为多个文件.在我设置的环境中,每个项目的布局如下:"[ProjectName]\Common"包含一个链接到几乎所有项目的公共构建文件.我还有一组存储在文件中的常见subversion目标."Common"子目录实际上是一个svn:external,因此它会自动在多个项目中保持同步.在Common.build文件中,有许多环境属性,以及一些可重用的文件集,一些可重用的目标,以及每个项目"StartUp"目标使用的"StartUp"目标.
"[ProjectName]\Project.build"包含所有项目的特定属性和文件集,其中一些覆盖了Common.build中的设置.此文件还包含一个"StartUp"目标,该目标设置一些运行时设置,如程序集版本信息和任何相关路径.它还执行Common.build的"Startup"目标.该文件包含Common.build文件.
"[ProjectName] [AssemblyName] .build"包含特定于单个程序集的所有设置和目标.该文件包含Project.build,后者又包含Common.build.
这种层次结构在我们的情况下运行良好,我们在连续集成服务器上构建了一个trunk版本和产品的几个分支版本.就目前而言,构建主干版本的脚本和任何一个分支的脚本之间的唯一区别只是少数几行.