uppercutbuild 1.3.0.0 → 1.4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/docs/README +20 -2
  2. data/docs/Samples/CC.NET/server/ccnet.config +8 -2
  3. data/lib/build.bat +1 -3
  4. data/lib/build/Castle.Core.dll +0 -0
  5. data/lib/build/Castle.DynamicProxy2.dll +0 -0
  6. data/lib/build/Castle.MicroKernel.dll +0 -0
  7. data/lib/build/Castle.Windsor.dll +0 -0
  8. data/lib/build/UppercuT.xml +1 -2
  9. data/lib/build/analyze.step +9 -44
  10. data/lib/build/analyzers/gallio.test.step +13 -49
  11. data/lib/build/analyzers/mbunit2.test.step +12 -48
  12. data/lib/build/analyzers/metrics.step +106 -0
  13. data/lib/build/analyzers/moma.step +13 -49
  14. data/lib/build/analyzers/ncover.step +14 -50
  15. data/lib/build/analyzers/ndepend.step +12 -47
  16. data/lib/build/analyzers/nitriq.step +13 -49
  17. data/lib/build/analyzers/nunit.test.step +18 -54
  18. data/lib/build/analyzers/storevil.test.step +17 -53
  19. data/lib/build/analyzers/test.step +16 -44
  20. data/lib/build/analyzers/xunit.test.step +13 -49
  21. data/lib/build/compile.step +94 -63
  22. data/lib/build/customize.build +8 -5
  23. data/lib/build/customizers/item.template +2 -1
  24. data/lib/build/default.build +27 -64
  25. data/lib/build/deploymentBuilder.step +60 -60
  26. data/lib/build/environmentBuilder.step +43 -61
  27. data/lib/build/gemsBuild.step +8 -44
  28. data/lib/build/gemsPrepare.step +17 -54
  29. data/lib/build/generateBuildInfo.step +9 -45
  30. data/lib/build/ilmerge.build +14 -60
  31. data/lib/build/nugetBuild.step +12 -45
  32. data/lib/build/nugetPrepare.step +28 -55
  33. data/lib/build/obfuscate.step +12 -45
  34. data/lib/build/open.build +28 -58
  35. data/lib/build/package.step +41 -63
  36. data/lib/build/policyChecks.step +8 -44
  37. data/lib/build/uc.exe +0 -0
  38. data/lib/build/uc.exe.config +3 -0
  39. data/lib/build/updateAssemblies.build +11 -57
  40. data/lib/build/uppercut.dll +0 -0
  41. data/lib/build/uppercut.tasks.dll +0 -0
  42. data/lib/build/versionBuilder.step +12 -44
  43. data/lib/build/versioners/git.step +8 -45
  44. data/lib/build/versioners/hg.step +8 -45
  45. data/lib/build/versioners/svn.step +8 -45
  46. data/lib/build/versioners/tfs.step +7 -43
  47. data/lib/build/zip.build +17 -63
  48. data/lib/lib/NAnt/NAnt.CompressionTasks.dll +0 -0
  49. data/lib/lib/NAnt/NAnt.Contrib.Tasks.dll +0 -0
  50. data/lib/lib/NAnt/NAnt.Core.dll +0 -0
  51. data/lib/lib/NAnt/NAnt.DotNetTasks.dll +0 -0
  52. data/lib/lib/NAnt/NAnt.MSNetTasks.dll +0 -0
  53. data/lib/lib/NAnt/NAnt.NUnit.dll +0 -0
  54. data/lib/lib/NAnt/NAnt.NUnit1Tasks.dll +0 -0
  55. data/lib/lib/NAnt/NAnt.NUnit2Tasks.dll +0 -0
  56. data/lib/lib/NAnt/NAnt.SourceControlTasks.dll +0 -0
  57. data/lib/lib/NAnt/NAnt.VSNetTasks.dll +0 -0
  58. data/lib/lib/NAnt/NAnt.VisualCppTasks.dll +0 -0
  59. data/lib/lib/NAnt/NAnt.Win32Tasks.dll +0 -0
  60. data/lib/lib/NAnt/NAnt.exe +0 -0
  61. data/lib/lib/NAnt/NAnt.exe.config +333 -136
  62. data/lib/lib/NAnt/NDoc.Documenter.NAnt.dll +0 -0
  63. data/lib/lib/NAnt/SLiNgshoT.Core.dll +0 -0
  64. data/lib/lib/NAnt/SLiNgshoT.exe +0 -0
  65. data/lib/lib/NAnt/extensions/common/2.0/NAnt.MSBuild.dll +0 -0
  66. data/lib/lib/NuGet/NuGet.exe +0 -0
  67. data/lib/open.bat +1 -1
  68. data/lib/settings/LOCAL.settings +3 -1
  69. data/lib/settings/UppercuT.config +10 -7
  70. data/lib/test.bat +2 -2
  71. data/lib/zip.bat +2 -2
  72. metadata +42 -89
  73. data/lib/lib/NAnt/MSITaskErrors.mst +0 -0
  74. data/lib/lib/NAnt/MSITaskTemplate.msi +0 -0
  75. data/lib/lib/NAnt/MSMTaskErrors.mst +0 -0
  76. data/lib/lib/NAnt/MSMTaskTemplate.msm +0 -0
  77. data/lib/lib/NAnt/NDepend.Build.NAntTasks.dll +0 -0
  78. data/lib/lib/NAnt/extensions/common/2.0/NAnt.MSBuild.xml +0 -36
  79. data/lib/lib/NAnt/lib/mono/1.0/NDoc.Core.dll +0 -0
  80. data/lib/lib/NAnt/lib/mono/1.0/NDoc.Documenter.Msdn.dll +0 -0
  81. data/lib/lib/NAnt/lib/mono/1.0/NDoc.ExtendedUI.dll +0 -0
  82. data/lib/lib/NAnt/lib/mono/1.0/nunit.core.dll +0 -0
  83. data/lib/lib/NAnt/lib/mono/1.0/nunit.framework.dll +0 -0
  84. data/lib/lib/NAnt/lib/mono/1.0/nunit.util.dll +0 -0
  85. data/lib/lib/NAnt/lib/mono/2.0/NDoc.Core.dll +0 -0
  86. data/lib/lib/NAnt/lib/mono/2.0/NDoc.Documenter.Msdn.dll +0 -0
  87. data/lib/lib/NAnt/lib/mono/2.0/NDoc.ExtendedUI.dll +0 -0
  88. data/lib/lib/NAnt/lib/mono/2.0/nunit.core.dll +0 -0
  89. data/lib/lib/NAnt/lib/mono/2.0/nunit.framework.dll +0 -0
  90. data/lib/lib/NAnt/lib/mono/2.0/nunit.util.dll +0 -0
  91. data/lib/lib/NAnt/lib/net/1.1/NDoc.Core.dll +0 -0
  92. data/lib/lib/NAnt/lib/net/1.1/NDoc.Documenter.Msdn.dll +0 -0
  93. data/lib/lib/NAnt/lib/net/1.1/NDoc.ExtendedUI.dll +0 -0
  94. data/lib/lib/NAnt/lib/net/1.1/nunit.core.dll +0 -0
  95. data/lib/lib/NAnt/lib/net/1.1/nunit.framework.dll +0 -0
  96. data/lib/lib/NAnt/lib/net/1.1/nunit.util.dll +0 -0
  97. data/lib/lib/NAnt/lib/net/2.0/NDoc.Core.dll +0 -0
  98. data/lib/lib/NAnt/lib/net/2.0/NDoc.Documenter.Msdn.dll +0 -0
  99. data/lib/lib/NAnt/lib/net/2.0/NDoc.ExtendedUI.dll +0 -0
  100. data/lib/lib/NAnt/lib/net/2.0/nunit.core.dll +0 -0
  101. data/lib/lib/NAnt/lib/net/2.0/nunit.framework.dll +0 -0
  102. data/lib/lib/NAnt/lib/net/2.0/nunit.util.dll +0 -0
@@ -29,56 +29,31 @@
29
29
  <property name="app.storevil.console" value="${path::get-full-path(dirs.lib)}${path.separator}StorEvil${path.separator}StorEvil.exe" overwrite="false" />
30
30
  <property name="dlls.test" value="" />
31
31
  <property name="tests.ran" value="false" />
32
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
33
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
34
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
35
32
  <property name="is.replaced" value="false" />
36
33
  <property name="fail.build.on.error" value="true" />
37
34
 
38
- <target name="go" depends="run_tasks" />
35
+ <target name="go" depends="run_tasks" if="${file::exists(app.storevil.console)}" />
39
36
 
40
37
  <target name="run_all_tests" depends="prepare, set_storevil_failure_mode, get_spec_dlls_all, run_tests, generate_report" description="Like go but runs all tests" />
41
38
 
42
- <target name="run_tasks">
43
- <echo message="Running ${project::get-name()} tasks." />
39
+ <target name="run_tasks" if="${file::exists(app.storevil.console)}" >
40
+ <echo level="Warning" message="" />
41
+ <echo level="Warning" message="====================" />
42
+ <echo level="Warning" message="${project::get-name()}" />
43
+ <echo level="Warning" message="====================" />
44
44
  <call target="prepare" if="${target::exists('prepare')}" />
45
- <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
46
- <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
45
+ <customExtension extends="${project::get-buildfile-path()}" type="pre" failonerror="${fail.build.on.error}" />
46
+ <customExtension extends="${project::get-buildfile-path()}" type="replace" failonerror="${fail.build.on.error}" />
47
47
  <call target="run_normal_tasks" if="${not is.replaced}" />
48
- <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
48
+ <customExtension extends="${project::get-buildfile-path()}" type="post" failonerror="${fail.build.on.error}" />
49
49
  </target>
50
50
 
51
51
  <target name="run_normal_tasks"
52
52
  depends="set_storevil_failure_mode, get_spec_dlls, run_tests, generate_report"
53
53
  description="Testing with StorEvil." />
54
54
 
55
- <target name="custom_tasks_before">
56
- <echo message="Running custom tasks if ${file.custom.step.before} exists." />
57
- <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
58
- <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
59
- <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
60
- </exec>
61
- <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
62
- <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
63
- </exec>
64
- </target>
65
-
66
- <target name="custom_tasks_replace">
67
- <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
68
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
69
- <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
70
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
71
- <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
72
- <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
73
- </exec>
74
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
75
- <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
76
- <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
77
- </exec>
78
- </target>
79
-
80
55
  <target name="prepare">
81
- <echo message="Removing and adding ${dirs.test_results}."/>
56
+ <echo level="Warning" message="Removing and adding ${dirs.test_results}."/>
82
57
  <delete dir="${dirs.test_results}" failonerror="false" />
83
58
  <mkdir dir="${dirs.test_results}" />
84
59
  </target>
@@ -88,7 +63,7 @@
88
63
  </target>
89
64
 
90
65
  <target name="get_spec_dlls">
91
- <echo message="Getting spec dlls based on name in directory ${path::get-full-path(dirs.build.code)}." />
66
+ <echo level="Warning" message="Getting spec dlls based on name in directory ${path::get-full-path(dirs.build.code)}." />
92
67
  <property name="dll.names" value="" />
93
68
  <foreach item="File" property="dll.filename">
94
69
  <in>
@@ -102,13 +77,13 @@
102
77
  </foreach>
103
78
 
104
79
  <property name="dlls.test" value="${dll.names}" />
105
- <echo message="Running StorEvil against these spec dlls - ${dlls.test}." />
80
+ <echo level="Warning" message="Running StorEvil against these spec dlls - ${dlls.test}." />
106
81
 
107
82
  <property name="args.test_runner" value="${dlls.test} ${test.args} ${test.args.exclude}" />
108
83
  </target>
109
84
 
110
85
  <target name="get_spec_dlls_all">
111
- <echo message="Getting all spec dlls (including integration tests) based on name in directory ${path::get-full-path(dirs.build.code)}." />
86
+ <echo level="Warning" message="Getting all spec dlls (including integration tests) based on name in directory ${path::get-full-path(dirs.build.code)}." />
112
87
  <property name="dll.names" value="" />
113
88
  <foreach item="File" property="dll.filename">
114
89
  <in>
@@ -122,7 +97,7 @@
122
97
  </foreach>
123
98
 
124
99
  <property name="dlls.test" value="${dll.names}" />
125
- <echo message="Running StoreEvil against these spec dlls - ${dlls.test}." />
100
+ <echo level="Warning" message="Running StoreEvil against these spec dlls - ${dlls.test}." />
126
101
 
127
102
  <property name="args.test_runner" value="${dlls.test} ${test.args}" />
128
103
  </target>
@@ -130,7 +105,7 @@
130
105
  <target name="run_tests" depends="prepare" description="Running Unit Tests">
131
106
 
132
107
  <if test="${dlls.test !=''}">
133
- <echo message="Running tests using StorEvil and putting results in ${dirs.test_results}."/>
108
+ <echo level="Warning" message="Running tests using StorEvil and putting results in ${dirs.test_results}."/>
134
109
  <exec
135
110
  program="${app.storevil.console}"
136
111
  workingdir="${dirs.build.code}"
@@ -140,7 +115,7 @@
140
115
  <property name="tests.ran" value="true" />
141
116
  </if>
142
117
  <if test="${dlls.test ==''}">
143
- <echo message="No test dlls to run against" />
118
+ <echo level="Warning" message="No test dlls to run against" />
144
119
  </if>
145
120
 
146
121
  </target>
@@ -156,19 +131,8 @@
156
131
  </target>
157
132
 
158
133
  <target name="open_results">
159
- <echo message="Opening results - ${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
134
+ <echo level="Warning" message="Opening results - ${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
160
135
  <results display="${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
161
136
  </target>
162
137
 
163
- <target name="custom_tasks_after">
164
- <echo message="Running custom tasks if ${file.custom.step.after} exists." />
165
- <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
166
- <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
167
- <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
168
- </exec>
169
- <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
170
- <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
171
- </exec>
172
- </target>
173
-
174
138
  </project>
@@ -16,52 +16,35 @@
16
16
  <property name="folder.app.drop" value="${project.name}" overwrite="false" />
17
17
  <property name="dirs.build.code" value="${dirs.build}${path.separator}${folder.app.drop}" overwrite="false" />
18
18
  <property name="test.framework" value="mbunit" overwrite="false" />
19
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
20
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
21
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
22
19
  <property name="is.replaced" value="false" />
23
20
  <property name="fail.build.on.error" value="true" />
21
+ <property name="app.ruby" value="C:\Ruby\bin\ruby.exe" overwrite="false" />
22
+ <property name="app.powershell" value="%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe" overwrite="false" />
24
23
 
25
- <target name="go" depends="run_tasks" />
24
+ <target name="go" depends="load_uppercut_assemblies, run_tasks" />
25
+
26
+ <property name="file.uppercut.assembly" value="uppercut.tasks.dll" />
27
+ <property name="path.uppercut.assembly" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts}${path.separator}${file.uppercut.assembly}" />
28
+ <target name="load_uppercut_assemblies">
29
+ <loadtasks assembly="${path.uppercut.assembly}" if="${file::exists(path.uppercut.assembly)}" />
30
+ </target>
26
31
 
27
32
  <target name="run_tasks">
28
- <echo message="Running ${project::get-name()} tasks." />
33
+ <echo level="Warning" message="" />
34
+ <echo level="Warning" message="====================" />
35
+ <echo level="Warning" message="${project::get-name()}" />
36
+ <echo level="Warning" message="====================" />
29
37
  <call target="prepare" if="${target::exists('prepare')}" />
30
- <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
31
- <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
38
+ <customExtension extends="${project::get-buildfile-path()}" type="pre" failonerror="${fail.build.on.error}" />
39
+ <customExtension extends="${project::get-buildfile-path()}" type="replace" failonerror="${fail.build.on.error}" />
32
40
  <call target="run_normal_tasks" if="${not is.replaced}" />
33
- <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
41
+ <customExtension extends="${project::get-buildfile-path()}" type="post" failonerror="${fail.build.on.error}" />
34
42
  </target>
35
43
 
36
44
  <target name="run_normal_tasks"
37
45
  depends="run_tests"
38
46
  description="Testing project for quality." />
39
47
 
40
- <target name="custom_tasks_before">
41
- <echo message="Running custom tasks if ${file.custom.step.before} exists." />
42
- <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
43
- <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
44
- <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
45
- </exec>
46
- <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
47
- <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
48
- </exec>
49
- </target>
50
-
51
- <target name="custom_tasks_replace">
52
- <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
53
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
54
- <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
55
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
56
- <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
57
- <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
58
- </exec>
59
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
60
- <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
61
- <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
62
- </exec>
63
- </target>
64
-
65
48
  <target name="run_tests">
66
49
  <nant buildfile="${dirs.current}${path.separator}mbunit2.test.step" inheritall="true" if="${test.framework=='mbunit2'}" />
67
50
  <nant buildfile="${dirs.current}${path.separator}gallio.test.step" inheritall="true" if="${test.framework=='gallio'}" />
@@ -89,15 +72,4 @@
89
72
  <property name="nant.onfailure" value="fail" />
90
73
  </target>
91
74
 
92
- <target name="custom_tasks_after">
93
- <echo message="Running custom tasks if ${file.custom.step.after} exists." />
94
- <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
95
- <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
96
- <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
97
- </exec>
98
- <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
99
- <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
100
- </exec>
101
- </target>
102
-
103
75
  </project>
@@ -35,62 +35,37 @@
35
35
  <property name="tests.ran" value="false" />
36
36
  <property name="tests.run_all" value="false" />
37
37
 
38
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
39
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
40
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
41
38
  <property name="is.replaced" value="false" />
42
39
  <property name="fail.build.on.error" value="true" />
43
40
 
44
- <target name="go" depends="run_tasks" />
41
+ <target name="go" depends="run_tasks" if="${file::exists(app.xunit.console)}" />
45
42
 
46
43
  <target name="run_all_tests" depends="prepare, set_run_all_flag, run_tests, generate_report" description="Like go but runs all tests" />
47
44
 
48
- <target name="run_tasks">
49
- <echo message="Running ${project::get-name()} tasks." />
45
+ <target name="run_tasks" if="${file::exists(app.xunit.console)}" >
46
+ <echo level="Warning" message="" />
47
+ <echo level="Warning" message="====================" />
48
+ <echo level="Warning" message="${project::get-name()}" />
49
+ <echo level="Warning" message="====================" />
50
50
  <call target="prepare" if="${target::exists('prepare')}" />
51
- <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
52
- <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
51
+ <customExtension extends="${project::get-buildfile-path()}" type="pre" failonerror="${fail.build.on.error}" />
52
+ <customExtension extends="${project::get-buildfile-path()}" type="replace" failonerror="${fail.build.on.error}" />
53
53
  <call target="run_normal_tasks" if="${not is.replaced}" />
54
- <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
54
+ <customExtension extends="${project::get-buildfile-path()}" type="post" failonerror="${fail.build.on.error}" />
55
55
  </target>
56
56
 
57
57
  <target name="run_normal_tasks"
58
58
  depends="run_tests, generate_report"
59
59
  description="Testing with NUnit." />
60
60
 
61
- <target name="custom_tasks_before">
62
- <echo message="Running custom tasks if ${file.custom.step.before} exists." />
63
- <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
64
- <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
65
- <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
66
- </exec>
67
- <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
68
- <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
69
- </exec>
70
- </target>
71
-
72
- <target name="custom_tasks_replace">
73
- <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
74
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
75
- <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
76
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
77
- <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
78
- <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
79
- </exec>
80
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
81
- <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
82
- <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
83
- </exec>
84
- </target>
85
-
86
61
  <target name="prepare">
87
- <echo message="Removing and adding ${dirs.test_results}."/>
62
+ <echo level="Warning" message="Removing and adding ${dirs.test_results}."/>
88
63
  <delete dir="${dirs.test_results}" failonerror="false" />
89
64
  <mkdir dir="${dirs.test_results}" />
90
65
  </target>
91
66
 
92
67
  <target name="set_run_all_flag">
93
- <echo message="Running ALL test assemblies including integration and database tests with xUnit." />
68
+ <echo level="Warning" message="Running ALL test assemblies including integration and database tests with xUnit." />
94
69
  <property name="tests.run_all" value="true" />
95
70
  </target>
96
71
 
@@ -112,7 +87,7 @@
112
87
  <property name="dll.name" value="${string::replace(string::replace(dll.filename,path::get-full-path(dirs.build.code) + '\',''),'\',path.separator)}" />
113
88
  <property name="test.args" value="${xunit.separator}xml &quot;${dirs.test_results}${path.separator}${dll.name}-results.xml&quot; ${xunit.separator}html &quot;${dirs.test_results}${path.separator}${dll.name}-results.html&quot; ${xunit.separator}nunit &quot;${dirs.test_results}${path.separator}${dll.name}-nresults.xml&quot; " />
114
89
  <property name="args.test_runner" value="${dll.name} ${test.args} " />
115
- <echo message="Running tests using xUnit with args '${args.test_runner}' and putting results in ${dirs.test_results}."/>
90
+ <echo level="Warning" message="Running tests using xUnit with args '${args.test_runner}' and putting results in ${dirs.test_results}."/>
116
91
  <exec
117
92
  program="${app.xunit.console}"
118
93
  workingdir="${dirs.build.code}"
@@ -136,19 +111,8 @@
136
111
  </target>
137
112
 
138
113
  <target name="open_results">
139
- <echo message="Opening results - ${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
114
+ <echo level="Warning" message="Opening results - ${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
140
115
  <results display="${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
141
116
  </target>
142
117
 
143
- <target name="custom_tasks_after">
144
- <echo message="Running custom tasks if ${file.custom.step.after} exists." />
145
- <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
146
- <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
147
- <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
148
- </exec>
149
- <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
150
- <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
151
- </exec>
152
- </target>
153
-
154
118
  </project>
@@ -20,6 +20,12 @@
20
20
  <property name="dirs.db" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.database}" />
21
21
  <property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
22
22
  <property name="folder.app.drop" value="${project.name}" overwrite="false" />
23
+ <property name="folder.references" value="lib" overwrite="false" />
24
+ <property name="dirs.lib" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.references}" overwrite="false" />
25
+ <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
26
+ <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}${path.separator}${folder.build_artifacts}" />
27
+ <property name="dirs.build_results" value="${dirs.build_artifacts}${path.separator}compile" overwrite="false" />
28
+ <property name="msbuild.logger" value="ThoughtWorks.CruiseControl.MSBuild.XmlLogger,&quot;${dirs.lib}${path.separator}NAnt${path.separator}ThoughtWorks.CruiseControl.MSBuild.dll&quot;" />
23
29
  <property name="path_to_solution" value="." overwrite="false" />
24
30
  <property name="microsoft.framework" value="net-3.5" overwrite="false" />
25
31
  <property name="msbuild.configuration" value="Release" overwrite="false" />
@@ -42,48 +48,41 @@
42
48
  <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
43
49
  <property name="is.replaced" value="false" />
44
50
  <property name="fail.build.on.error" value="true" />
51
+ <property name="app.ruby" value="C:\Ruby\bin\ruby.exe" overwrite="false" />
52
+ <property name="app.powershell" value="%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe" overwrite="false" />
45
53
 
46
- <target name="go" depends="run_tasks" />
54
+ <target name="go" depends="load_uppercut_assemblies, run_tasks" />
55
+
56
+ <property name="file.uppercut.assembly" value="uppercut.tasks.dll" />
57
+ <property name="path.uppercut.assembly" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts}${path.separator}${file.uppercut.assembly}" />
58
+ <target name="load_uppercut_assemblies">
59
+ <loadtasks assembly="${path.uppercut.assembly}" if="${file::exists(path.uppercut.assembly)}" />
60
+ </target>
47
61
 
48
- <target name="run_tasks">
49
- <echo message="Running ${project::get-name()} tasks." />
62
+ <target name="run_tasks">
63
+ <echo level="Warning" message="" />
64
+ <echo level="Warning" message="====================" />
65
+ <echo level="Warning" message="${project::get-name()}" />
66
+ <echo level="Warning" message="====================" />
50
67
  <call target="prepare" if="${target::exists('prepare')}" />
51
68
  <call target="check_for_multitargeting" if="${target::exists('check_for_multitargeting')}" />
52
- <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
53
- <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
69
+ <customExtension extends="${project::get-buildfile-path()}" type="pre" failonerror="${fail.build.on.error}" />
70
+ <customExtension extends="${project::get-buildfile-path()}" type="replace" failonerror="${fail.build.on.error}" />
54
71
  <call target="run_normal_tasks" if="${not is.replaced}" />
55
- <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
72
+ <customExtension extends="${project::get-buildfile-path()}" type="post" failonerror="${fail.build.on.error}" />
73
+ <call target="set_file_attributes_to_normal" />
74
+ </target>
75
+
76
+ <target name="prepare">
77
+ <echo message="Removing and adding ${dirs.build_results}."/>
78
+ <delete dir="${dirs.build_results}" failonerror="false" />
79
+ <mkdir dir="${dirs.build_results}" />
56
80
  </target>
57
81
 
58
82
  <target name="run_normal_tasks"
59
83
  depends="error_check, build_code, copy_documentation, copy_db"
60
84
  description="Compiling project." />
61
85
 
62
- <target name="custom_tasks_before">
63
- <echo message="Running custom tasks if ${file.custom.step.before} exists." />
64
- <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
65
- <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
66
- <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
67
- </exec>
68
- <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
69
- <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
70
- </exec>
71
- </target>
72
-
73
- <target name="custom_tasks_replace">
74
- <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
75
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
76
- <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
77
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
78
- <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
79
- <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
80
- </exec>
81
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
82
- <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
83
- <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
84
- </exec>
85
- </target>
86
-
87
86
  <target name="error_check">
88
87
  <fail message="You must fill out the project.name, repository.path, and company.name settings in the settings${path.separator}UppercuT.config file. Please do that and retry the build."
89
88
  if="${project.name=='__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__'}" />
@@ -91,19 +90,19 @@
91
90
 
92
91
  <target name="check_for_multitargeting">
93
92
  <if test="${string::contains(microsoft.framework,',')}">
94
- <echo message="You want to multi target, eh? You passed a comma into the framework: ${microsoft.framework}" />
93
+ <echo level="Warning" message="You want to multi target, eh? You passed a comma into the framework: ${microsoft.framework}" />
95
94
  <property name="framework.multitargeting" value="true" />
96
95
  <property name="framework.multitargeting.delimiter" value="," />
97
96
  </if>
98
97
  <if test="${string::contains(microsoft.framework,';')}">
99
- <echo message="You want to multi target, eh? You passed a semicolon into the framework: ${microsoft.framework}" />
98
+ <echo level="Warning" message="You want to multi target, eh? You passed a semicolon into the framework: ${microsoft.framework}" />
100
99
  <property name="framework.multitargeting" value="true" />
101
100
  <property name="framework.multitargeting.delimiter" value=";" />
102
101
  </if>
103
102
  </target>
104
103
 
105
104
  <target name="build_code" depends="" description="Building Library">
106
- <echo message="Compiling ${solution.path}."/>
105
+ <echo level="Warning" message="Compiling ${solution.path}."/>
107
106
  <call target="build_dotNET_code" if="${microsoft.framework !='vb6'}" />
108
107
  <call target="build_vb6_code" if="${microsoft.framework =='vb6'}" />
109
108
  </target>
@@ -124,17 +123,17 @@
124
123
  </target>
125
124
 
126
125
  <target name="build_dotNet_code_framework">
127
- <echo message="Building on ${framework::get-version(microsoft.framework.specific)}" />
126
+ <echo level="Warning" message="Building on ${framework::get-version(microsoft.framework.specific)}" />
128
127
  <property name="nant.settings.currentframework" value="${string::trim(microsoft.framework.specific)}" />
129
128
  <mkdir dir="${msbuild.outputpath}" />
130
129
  <if test="${platform::is-unix()}">
131
130
  <!-- Do clean and build in two steps since xbuild has a bug with using OutputPath and Rebuild together Bug #628525 at Novell -->
132
- <echo message="Cleaning build..." />
131
+ <echo level="Warning" message="Cleaning build..." />
133
132
  <exec program="${app.xbuild}"
134
133
  basedir="/usr/bin"
135
134
  workingdir="${dirs.build}"
136
135
  commandline="${solution.path} /nologo /property:OutputPath='${msbuild.outputpath}' /property:Configuration=${msbuild.configuration} /verbosity:minimal /noconsolelogger /target:Clean" />
137
- <echo message="Building..." />
136
+ <echo level="Warning" message="Building..." />
138
137
  <exec program="${app.xbuild}"
139
138
  basedir="/usr/bin"
140
139
  workingdir="${dirs.build}"
@@ -146,47 +145,65 @@
146
145
  <if test="${framework.multitargeting}">
147
146
  <if test="${framework::get-family(microsoft.framework.specific) == 'mono'}" >
148
147
  <!-- Do clean and build in two steps since xbuild has a bug with using OutputPath and Rebuild together Bug #628525 at Novell -->
149
- <echo message="Cleaning build..." />
148
+ <echo level="Warning" message="Cleaning build..." />
150
149
  <exec program="${app.xbuild}"
151
150
  basedir="${dirs.build.windows.mono}"
152
151
  workingdir="${dirs.build.windows.mono}"
153
152
  commandline="${solution.path.windows.mono} /nologo /property:OutputPath='${msbuild.outputpath}' /property:Configuration=${msbuild.configuration} /verbosity:minimal /noconsolelogger /target:Clean" />
154
- <echo message='Building...by running this command ${app.xbuild} ${solution.path.windows.mono} /nologo /property:OutputPath="${msbuild.outputpath.windows.mono}" /property:Configuration=${msbuild.configuration} /verbosity:minimal' />
153
+ <echo level="Warning" message='Building...by running this command ${app.xbuild} ${solution.path.windows.mono} /nologo /property:OutputPath="${msbuild.outputpath.windows.mono}" /property:Configuration=${msbuild.configuration} /verbosity:minimal' />
155
154
  <exec program="${app.xbuild}"
156
155
  basedir="${dirs.build.windows.mono}"
157
156
  workingdir="${dirs.build.windows.mono}"
158
157
  commandline='${solution.path.windows.mono} /nologo /property:OutputPath="${msbuild.outputpath.windows.mono}" /property:Configuration=${msbuild.configuration} /verbosity:minimal' />
159
158
  </if>
160
159
  <if test="${framework::get-family(microsoft.framework.specific) != 'mono'}" >
161
- <msbuild project="${solution.path}" verbosity="minimal">
160
+ <msbuild project="${solution.path}" verbosity="minimal" if="${microsoft.framework.specific != 'net-1.0' and microsoft.framework.specific != 'net-1.1'}">
162
161
  <property name="Configuration" value="${msbuild.configuration}" />
163
162
  <property name="OutputPath" value="${msbuild.outputpath}" />
164
163
  <property name="Platform" value="${msbuild.platform}" />
165
164
  <property name="TargetFrameworkVersion" value="v${framework::get-version(microsoft.framework.specific)}" />
166
165
  <property name="ToolsVersion" value="${framework::get-version(microsoft.framework.specific)}" />
166
+ <!--property name="Logger" value="${msbuild.logger};&quot;${dirs.build_results}${path.separator}msbuild-${microsoft.framework.specific}-results.xml&quot;" /-->
167
+ <arg line="/l:${msbuild.logger};&quot;${dirs.build_results}${path.separator}msbuild-${microsoft.framework.specific}-results.xml&quot;" />
167
168
  </msbuild>
169
+ <solution
170
+ configuration="${msbuild.configuration}"
171
+ solutionfile="${solution.path}"
172
+ outputdir="${msbuild.outputpath}"
173
+ platform="${msbuild.platform}"
174
+ if="${microsoft.framework.specific == 'net-1.0' or microsoft.framework.specific == 'net-1.1'}"
175
+ />
168
176
  </if>
169
177
  </if>
170
178
  <if test="${not framework.multitargeting}">
171
179
  <if test="${framework::get-family(microsoft.framework.specific) == 'mono'}" >
172
180
  <!-- Do clean and build in two steps since xbuild has a bug with using OutputPath and Rebuild together Bug #628525 at Novell -->
173
- <echo message="Cleaning build..." />
181
+ <echo level="Warning" message="Cleaning build..." />
174
182
  <exec program="${app.xbuild}"
175
183
  basedir="${dirs.build.windows.mono}"
176
184
  workingdir="${dirs.build.windows.mono}"
177
185
  commandline="${solution.path.windows.mono} /nologo /property:OutputPath='${msbuild.outputpath}' /property:Configuration=${msbuild.configuration} /verbosity:minimal /noconsolelogger /target:Clean" />
178
- <echo message='Building without multitargeting by running this command ${app.xbuild} ${solution.path.windows.mono} /nologo /property:OutputPath="${msbuild.outputpath.windows.mono}" /property:Configuration=${msbuild.configuration} /verbosity:minimal' />
186
+ <echo level="Warning" message='Building without multitargeting by running this command ${app.xbuild} ${solution.path.windows.mono} /nologo /property:OutputPath="${msbuild.outputpath.windows.mono}" /property:Configuration=${msbuild.configuration} /verbosity:minimal' />
179
187
  <exec program="${app.xbuild}"
180
188
  basedir="${dirs.build.windows.mono}"
181
189
  workingdir="${dirs.build.windows.mono}"
182
190
  commandline='${solution.path.windows.mono} /nologo /property:OutputPath="${msbuild.outputpath.windows.mono}" /property:Configuration=${msbuild.configuration} /verbosity:minimal' />
183
191
  </if>
184
192
  <if test="${framework::get-family(microsoft.framework.specific) != 'mono'}" >
185
- <msbuild project="${solution.path}" verbosity="minimal">
193
+ <msbuild project="${solution.path}" verbosity="minimal" if="${microsoft.framework.specific != 'net-1.0' and microsoft.framework.specific != 'net-1.1'}">
186
194
  <property name="Configuration" value="${msbuild.configuration}" />
187
195
  <property name="OutputPath" value="${msbuild.outputpath}" />
188
196
  <property name="Platform" value="${msbuild.platform}" />
197
+ <!--property name="Logger" value="${msbuild.logger};&quot;${dirs.build_results}${path.separator}msbuild-${microsoft.framework.specific}-results.xml&quot;" /-->
198
+ <arg line="/l:${msbuild.logger};&quot;${dirs.build_results}${path.separator}msbuild-${microsoft.framework.specific}-results.xml&quot;" />
189
199
  </msbuild>
200
+ <solution
201
+ configuration="${msbuild.configuration}"
202
+ solutionfile="${solution.path}"
203
+ outputdir="${msbuild.outputpath}"
204
+ platform="${msbuild.platform}"
205
+ if="${microsoft.framework.specific == 'net-1.0' or microsoft.framework.specific == 'net-1.1'}"
206
+ />
190
207
  </if>
191
208
  </if>
192
209
  </if>
@@ -194,45 +211,61 @@
194
211
  <if test="${framework.multitargeting}">
195
212
  <if test="${framework::get-family(microsoft.framework.specific) == 'mono'}" >
196
213
  <!-- Do clean and build in two steps since xbuild has a bug with using OutputPath and Rebuild together Bug #628525 at Novell -->
197
- <echo message="Cleaning build..." />
214
+ <echo level="Warning" message="Cleaning build..." />
198
215
  <exec program="${app.xbuild}"
199
216
  basedir="${dirs.build}"
200
217
  workingdir="${dirs.build}"
201
218
  commandline="${solution.path} /nologo /property:Configuration=${msbuild.configuration} /verbosity:minimal /noconsolelogger /target:Clean" />
202
- <echo message="Building..." />
219
+ <echo level="Warning" message="Building..." />
203
220
  <exec program="${app.xbuild}"
204
221
  basedir="${dirs.build}"
205
222
  workingdir="${dirs.build}"
206
223
  commandline="${solution.path} /nologo /property:Configuration=${msbuild.configuration} /verbosity:minimal" />
207
224
  </if>
208
225
  <if test="${framework::get-family(microsoft.framework.specific) != 'mono'}" >
209
- <msbuild project="${solution.path}" verbosity="minimal">
226
+ <msbuild project="${solution.path}" verbosity="minimal" if="${microsoft.framework.specific != 'net-1.0' and microsoft.framework.specific != 'net-1.1'}">
210
227
  <property name="Configuration" value="${msbuild.configuration}" />
211
228
  <property name="Platform" value="${msbuild.platform}" />
212
229
  <property name="TargetFrameworkVersion" value="v${framework::get-version(microsoft.framework.specific)}" />
213
230
  <property name="ToolsVersion" value="${framework::get-version(microsoft.framework.specific)}" />
231
+ <!--property name="Logger" value="${msbuild.logger};&quot;${dirs.build_results}${path.separator}msbuild-${microsoft.framework.specific}-results.xml&quot;" /-->
232
+ <arg line="/l:${msbuild.logger};&quot;${dirs.build_results}${path.separator}msbuild-${microsoft.framework.specific}-results.xml&quot;" />
214
233
  </msbuild>
234
+ <solution
235
+ configuration="${msbuild.configuration}"
236
+ solutionfile="${solution.path}"
237
+ platform="${msbuild.platform}"
238
+ if="${microsoft.framework.specific == 'net-1.0' or microsoft.framework.specific == 'net-1.1'}"
239
+ />
215
240
  </if>
216
241
  </if>
217
242
  <if test="${not framework.multitargeting}">
218
243
  <if test="${framework::get-family(microsoft.framework.specific) == 'mono'}" >
219
244
  <!-- Do clean and build in two steps since xbuild has a bug with using OutputPath and Rebuild together Bug #628525 at Novell -->
220
- <echo message="Cleaning build..." />
245
+ <echo level="Warning" message="Cleaning build..." />
221
246
  <exec program="${app.xbuild}"
222
247
  basedir="${dirs.build.windows.mono}"
223
248
  workingdir="${dirs.build.windows.mono}"
224
249
  commandline="${solution.path.windows.mono} /nologo /property:Configuration=${msbuild.configuration} /verbosity:minimal /noconsolelogger /target:Clean" />
225
- <echo message="Building...by running this command ${app.xbuild} ${solution.path.windows.mono} /nologo /property:Configuration=${msbuild.configuration} /verbosity:minimal" />
250
+ <echo level="Warning" message="Building...by running this command ${app.xbuild} ${solution.path.windows.mono} /nologo /property:Configuration=${msbuild.configuration} /verbosity:minimal" />
226
251
  <exec program="${app.xbuild}"
227
252
  basedir="${dirs.build.windows.mono}"
228
253
  workingdir="${dirs.build.windows.mono}"
229
254
  commandline="${solution.path.windows.mono} /nologo /property:Configuration=${msbuild.configuration} /verbosity:minimal" />
230
255
  </if>
231
256
  <if test="${framework::get-family(microsoft.framework.specific) != 'mono'}" >
232
- <msbuild project="${solution.path}" verbosity="minimal">
257
+ <msbuild project="${solution.path}" verbosity="minimal" if="${microsoft.framework.specific != 'net-1.0' and microsoft.framework.specific != 'net-1.1'}">
233
258
  <property name="Configuration" value="${msbuild.configuration}" />
234
259
  <property name="Platform" value="${msbuild.platform}" />
260
+ <!--property name="Logger" value="${msbuild.logger};&quot;${dirs.build_results}${path.separator}msbuild-${microsoft.framework.specific}-results.xml&quot;" /-->
261
+ <arg line="/l:${msbuild.logger};&quot;${dirs.build_results}${path.separator}msbuild-${microsoft.framework.specific}-results.xml&quot;" />
235
262
  </msbuild>
263
+ <solution
264
+ configuration="${msbuild.configuration}"
265
+ solutionfile="${solution.path}"
266
+ platform="${msbuild.platform}"
267
+ if="${microsoft.framework.specific == 'net-1.0' or microsoft.framework.specific == 'net-1.1'}"
268
+ />
236
269
  </if>
237
270
  </if>
238
271
  </if>
@@ -244,7 +277,7 @@
244
277
  </target>
245
278
 
246
279
  <target name="copy_documentation">
247
- <echo message="Building documentation files to ${dirs.build}${path.separator}${folder.documentation}."/>
280
+ <echo level="Warning" message="Building documentation files to ${dirs.build}${path.separator}${folder.documentation}."/>
248
281
  <copy todir="${dirs.build}${path.separator}${folder.documentation}">
249
282
  <fileset basedir="${dirs.docs}">
250
283
  <include name="**/*.*" />
@@ -253,7 +286,7 @@
253
286
  </target>
254
287
 
255
288
  <target name="copy_db">
256
- <echo message="Building database files to ${dirs.build}${path.separator}${folder.database}."/>
289
+ <echo level="Warning" message="Building database files to ${dirs.build}${path.separator}${folder.database}."/>
257
290
  <copy todir="${dirs.build}${path.separator}${folder.database}">
258
291
  <fileset basedir="${dirs.db}">
259
292
  <include name="**/*.*" />
@@ -261,15 +294,13 @@
261
294
  </copy>
262
295
  </target>
263
296
 
264
- <target name="custom_tasks_after">
265
- <echo message="Running custom tasks if ${file.custom.step.after} exists." />
266
- <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
267
- <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
268
- <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
269
- </exec>
270
- <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
271
- <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
272
- </exec>
273
- </target>
274
-
275
- </project>
297
+ <target name="set_file_attributes_to_normal">
298
+ <echo level="Warning" message="Removing read only attributes that some source control things put on files in '${dirs.build}'." />
299
+ <attrib normal="true">
300
+ <fileset basedir="${dirs.build}">
301
+ <include name="**/*" />
302
+ </fileset>
303
+ </attrib>
304
+ </target>
305
+
306
+ </project>