`
johnnywww
  • 浏览: 20419 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Delphi7 Want编译配置文件编写

 
阅读更多

最近在学习TDD开发,一直用Delphi7开发程序(各位大侠不要笑话我),配合DUNIT开发(推荐用DUNITWizard插件,支持生成test程序在Console和GUI下运行),通过网上查找内容,发现这篇网页PDF文档介绍的内容比较适用我,下载Want(下载0.3.3,最新2.02支持的脚本xml,是一种Script语言),WANT是像ant的构建工具,基本上语法与ant一致,但是增加了dcc,dunit几个与delphi有关的命令。自己研究下,编写了一个支持我项目中的配置文件build.xml。我的目录结构和上面网页的类似,不过约有调整。

Project

— |–src(应用程序源码)

|–test(测试程序源码)

|–scratch(中间文件)

|–dcu(生成的编译文件)
|–deploy(执行代码和构建文件build.xml)
|–doc(文档)
|–lib(开发库)
|–want

配置文件如下:

  1. <projectname="testcommonprj"basedir="."default="compile">
  2. <propertyname="src.dir"value="${basedir}/src"/>
  3. <propertyname="test.dir"value="${basedir}/test"/>
  4. <propertyname="deploy.dir"value="${basedir}/deploy"/>
  5. <propertyname="dcu.dir"value="${basedir}/scratch/dcu"/>
  6. <propertyname="delphi"value="D:/ProgramFiles/Borland/Delphi7"/>
  7. <propertyname="components"value="E:/Source/Delphi/Component"/>
  8. <propertyname="test.app"value="testcommonprjstructTests"/>
  9. <propertyname="main.app"value="testcommonprjstruct"/>
  10. <propertyname="mainexe.name"value="${deploy}/${main.app}.exe"/>
  11. <propertyname="maintestexe.name"value="${deploy}/${test.app}.exe"/>
  12. <patternsetid="componentsdir">
  13. <includename="${components}/dunit_v9.2.0/src"/>
  14. </patternset>
  15. <patternsetid="main.src">
  16. <includename="${src.dir}/view"/>
  17. <includename="${src.dir}/common"/>
  18. </patternset>
  19. <patternsetid="test.src"refid="main.src">
  20. <includename="${test.dir}/**"/>
  21. </patternset>
  22. <targetname="clean">
  23. <echomessage="deletedcu"/>
  24. <deletedir="${dcu.dir}">
  25. <includename="**"/>
  26. </delete>
  27. <echomessage="deleteexe"/>
  28. <deletedir="${deploy.dir}">
  29. <includename="*.exe"/>
  30. </delete>
  31. </target>
  32. <targetname="prepare">
  33. <mkdirdir="${dcu.dir}"></mkdir>
  34. <mkdirdir="${deploy.dir}"></mkdir>
  35. </target>
  36. <targetname="compile"depends="clean,compiletest,compileapp">
  37. </target>
  38. <targetname="compileapp">
  39. <echomessage="build${main.app}"/>
  40. <dccbasedir="${src.dir}"source="${main.app}.dpr">
  41. <buildvalue="True"/>
  42. <exeoutputpath="${deploy.dir}"/>
  43. <dcuoutputpath="${dcu.dir}"/>
  44. <warningsvalue="True"/>
  45. <mapvalue="none"/>
  46. <consolevalue="False"/>
  47. <unitPathrefid="main.src"/>
  48. <resourcePathrefid="main.src"/>
  49. </dcc>
  50. </target>
  51. <targetname="compiletest">
  52. <echomessage="build${test.app}"/>
  53. <dccbasedir="${test.dir}"source="${test.app}.dpr">
  54. <buildvalue="True"/>
  55. <exeoutputpath="${deploy.dir}"/>
  56. <dcuoutputpath="${dcu.dir}"/>
  57. <warningsvalue="True"/>
  58. <mapvalue="none"/>
  59. <consolevalue="True"/>
  60. <unitPathrefid="test.src"/>
  61. <includepathrefid="componentsdir"/>
  62. <resourcePathrefid="test.src"/>
  63. </dcc>
  64. </target>
  65. <targetname="runtest"depends="clean,compiletest">
  66. <echomessage="runtest${maintestexe.name}"/>
  67. <execexecutable="${maintestexe.name}"/>
  68. </target>
  69. <targetname="runmain"depends="clean,compileapp">
  70. <echomessage="runtest${mainexe.name}"/>
  71. <execexecutable="${mainexe.name}"/>
  72. </target>
  73. </project>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics