default.build 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <project name="migratori-contrib" default="build" xmlns="http://nant.sf.net/release/0.85/nant.xsd">
  3. <property name="version" value="0.8"/>
  4. <property name="defines" value="DOTNET2" if="${framework::get-target-framework() == 'net-2.0' or framework::get-target-framework() == 'net-3.5'}" />
  5. <property name="defines" value="MONO2" if="${framework::get-target-framework() == 'mono-2.0'}" />
  6. <property name="debug" value="true" />
  7. <!-- Paths to various parts of the build -->
  8. <property name="dir.bin" value="build" />
  9. <property name="dir.zip" value="${dir.bin}/zip" />
  10. <property name="dir.src" value="."/>
  11. <property name="dir.config" value="${dir.src}/config" />
  12. <property name="dir.websrc" value="Migrator.Web" />
  13. <property name="dir.web" value="build/web" />
  14. <property name="dir.webbin" value="${dir.web}/bin" />
  15. <property name="dir.migrator" value="../build" />
  16. <property name="dir.lib" value="../lib" />
  17. <property name="dir.tools.ncover" value="${dir.lib}/NCover" />
  18. <property name="dir.tools.nunit" value="${dir.lib}/NUnit" />
  19. <property name="dir.lib.postgre" value="${dir.lib}/Npgsql/${framework::get-target-framework()}" />
  20. <!-- Test related properties -->
  21. <!-- To exclude tests, provide a comma separated set of exclude categories in your local.properties e.g. Oracle,SqlServer,Postgre -->
  22. <property name="tests.exclude" value=""/>
  23. <property name="tests.app.config" value="${dir.config}/app.config"/>
  24. <!-- Overrideable. Add your own values to a file called local.properties to have them override any above properties -->
  25. <include buildfile="local.properties" failonerror="false"/>
  26. <!-- load the NCover NAnt tasks -->
  27. <loadtasks assembly="${dir.tools.ncover}/Explorer/NCoverExplorer.NAntTasks.dll" />
  28. <target name="build" description="Builds all contribs" depends="prepare, build-migrator-web"/>
  29. <target name="build-migrator-web" description="Builds Migrator.Web">
  30. <csc target="library" output="${dir.webbin}/Migrator.Web.dll" define="${defines}" debug="${debug}">
  31. <sources>
  32. <include name="${dir.config}/AssemblyInfo.cs" />
  33. <include name="${dir.websrc}/**/*.cs" />
  34. </sources>
  35. <references>
  36. <include name="System.dll" />
  37. <include name="${dir.migrator}/Migrator.Framework.dll" />
  38. <include name="${dir.migrator}/Migrator.dll" />
  39. <include name="${dir.migrator}/Migrator.Providers.dll" />
  40. </references>
  41. </csc>
  42. <copy todir="${dir.web}">
  43. <fileset basedir="${dir.websrc}">
  44. <include name="**/*.aspx"/>
  45. <include name="**/*.config"/>
  46. </fileset>
  47. </copy>
  48. <copy todir="${dir.webbin}">
  49. <fileset basedir="${dir.migrator}">
  50. <include name="Migrator*.dll"/>
  51. <exclude name="*Test*"/>
  52. </fileset>
  53. </copy>
  54. </target>
  55. <target name="rebuild" description="Rebuilds the app from scratch" depends="clean, build" />
  56. <target name="prepare">
  57. <mkdir dir="${dir.webbin}" />
  58. <fileset id="SharedLibs">
  59. <include name="${dir.lib}/NAnt.Core.dll" />
  60. <include name="${dir.lib}/log4net.dll" />
  61. <include name="${dir.lib}/MySql.Data.dll" />
  62. <include name="${dir.lib}/System.Data.SQLite.DLL" />
  63. <include name="${dir.lib.postgre}/Npgsql.dll" />
  64. <include name="${dir.lib.postgre}/Mono.Security.dll" />
  65. <include name="${dir.lib}/Oracle.DataAccess.dll" />
  66. <include name="${dir.lib}/System.Data.SqlServerCe.dll" />
  67. </fileset>
  68. <copy todir="${dir.webbin}" flatten="true">
  69. <fileset refid="SharedLibs"/>
  70. </copy>
  71. </target>
  72. <target name="clean" description="Sweep it yeah!">
  73. <delete dir="${dir.bin}"/>
  74. <delete dir="${dir.results}"/>
  75. </target>
  76. <target name="zip" description="Creates a zip file of each contrib including examples, source and docs" depends="build">
  77. <mkdir dir="${dir.zip}" />
  78. <!-- for the web frontend -->
  79. <property name="zipcontainer" value="${dir.zip}/migratordotnet-webfe-${version}"/>
  80. <mkdir dir="${zipcontainer}" />
  81. <copy todir="${zipcontainer}">
  82. <fileset basedir="${dir.web}">
  83. <include name="**/*" />
  84. </fileset>
  85. </copy>
  86. <!-- now zip up all the contribs -->
  87. <zip zipfile="migratordotnet-contribs-${version}.zip">
  88. <fileset basedir="${dir.zip}">
  89. <include name="**/*" />
  90. </fileset>
  91. </zip>
  92. <!-- and clean up -->
  93. <delete dir="${dir.zip}"/>
  94. </target>
  95. </project>