uppercutbuild 0.9.0.346.20100805 → 1.0.0.0.20100806

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. data/docs/README +7 -2
  2. data/lib/build.sh +23 -0
  3. data/lib/build/UppercuT.xml +1 -1
  4. data/lib/build/analyze.step +78 -77
  5. data/lib/build/analyzers/gallio.test.step +25 -26
  6. data/lib/build/analyzers/mbunit2.test.step +25 -28
  7. data/lib/build/analyzers/moma.step +29 -31
  8. data/lib/build/analyzers/ncover.step +32 -34
  9. data/lib/build/analyzers/ndepend.step +19 -12
  10. data/lib/build/analyzers/nitriq.step +19 -22
  11. data/lib/build/analyzers/nunit.test.step +37 -37
  12. data/lib/build/analyzers/test.step +99 -98
  13. data/lib/build/compile.step +68 -50
  14. data/lib/build/customize.build +76 -75
  15. data/lib/build/customizers/item.template +50 -49
  16. data/lib/build/default.build +171 -167
  17. data/lib/build/deploymentBuilder.step +103 -102
  18. data/lib/build/environmentBuilder.step +119 -118
  19. data/lib/build/gemsBuild.step +113 -112
  20. data/lib/build/gemsPrepare.step +157 -156
  21. data/lib/build/generateBuildInfo.step +108 -105
  22. data/lib/build/ilmerge.build +183 -182
  23. data/lib/build/open.build +115 -102
  24. data/lib/build/package.step +234 -233
  25. data/lib/build/policyChecks.step +81 -80
  26. data/lib/build/updateAssemblies.build +107 -106
  27. data/lib/build/uppercut.dll +0 -0
  28. data/lib/build/uppercut.tasks.dll +0 -0
  29. data/lib/build/versionBuilder.step +149 -147
  30. data/lib/build/versioners/git.step +106 -105
  31. data/lib/build/versioners/hg.step +106 -105
  32. data/lib/build/versioners/svn.step +112 -111
  33. data/lib/build/versioners/tfs.step +104 -103
  34. data/lib/build/zip.build +134 -162
  35. data/lib/deployment/scripts/database.deploy +37 -36
  36. data/lib/open.sh +7 -0
  37. data/lib/settings/UppercuT.config +76 -73
  38. data/lib/zip.sh +9 -0
  39. metadata +9 -6
@@ -47,14 +47,19 @@ This is the best way to get to the bleeding edge of what we are doing.
47
47
 
48
48
 
49
49
  # REQUIREMENTS
50
- * .NET Framework 3.5
51
- * source control on the command line and in PATH environment variable - svn for Subversion / tf for TFS / git for Git
50
+ * .NET Framework 3.5
51
+ * source control on the command line and in PATH environment variable - svn for Subversion / tf for TFS / git for Git
52
52
 
53
53
  # DONATE
54
54
  Donations Accepted - If you enjoy using this product or it has saved you time and money in some way, please consider making a donation.
55
55
  It helps keep to the product updated, pays for site hosting, etc. https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4410250
56
56
 
57
57
  # RELEASE NOTES
58
+ =1.0.0.0=
59
+ * UppercuT now uses semantic versioning See http://SemVer.org for details. You need to add this to your config file: <property name="version.patch" value="0" overwrite="false" /> (r351)
60
+ * UppercuT now builds on Linux (patch from Svein Ackenhausen). (r350)
61
+ * Non multi targeting now works like it did before any of this multitargeting started. (r348)
62
+
58
63
  =0.9.0.346=
59
64
  * Fixed general compile issues related to multi-targeting changes from last release (r346)
60
65
  * Gems by default are now versioned with datestamp on the end (YYYYMMDD) (r342)
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+ # stty -echo
3
+
4
+ # ::Project UppercuT - http://uppercut.googlecode.com
5
+ # ::No edits to this file are required - http://uppercut.pbwiki.com
6
+
7
+ function usage
8
+ {
9
+ echo ""
10
+ echo "Usage: build.sh"
11
+ exit
12
+ }
13
+
14
+ function displayUsage
15
+ {
16
+ case $1 in
17
+ "/?"|"-?"|"?"|"/help") usage ;;
18
+ esac
19
+ }
20
+
21
+ displayUsage $1
22
+
23
+ mono ./lib/NAnt/NAnt.exe $1 /f:$(cd $(dirname "$0"); pwd)/build/default.build -D:build.config.settings=$(cd $(dirname "$0"); pwd)/Settings/UppercuT.config
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" ?>
2
2
  <uppercut>
3
- <version>0.9.0.346</version>
3
+ <version>1.0.0.352</version>
4
4
  </uppercut>
5
5
 
@@ -1,78 +1,79 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <project name="Analyzer" default="go">
3
- <!-- Project UppercuT - http://projectuppercut.org -->
4
- <!-- DO NOT EDIT THIS FILE - Add custom tasks in BuildTasks.Custom folder with file by the same name - find out more at http://uppercut.pbwiki.com -->
5
- <property name="build.config.settings" value="__NONE__" overwrite="false" />
6
- <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
7
- <property name="file.current.no_extension" value="analyze" />
8
- <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
9
- <property name="path.to.toplevel" value=".." />
10
- <property name="folder.build_scripts" value="build" overwrite="false" />
11
- <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
12
- <property name="dirs.build_scripts_custom" value="${dirs.current}\${path.to.toplevel}\${folder.build_scripts_custom}" />
13
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
14
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
15
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
16
- <property name="is.replaced" value="false" />
17
- <property name="fail.build.on.error" value="true" />
18
-
19
- <target name="go" depends="run_tasks" />
20
-
21
- <target name="run_tasks">
22
- <echo message="Running ${project::get-name()} tasks." />
23
- <call target="prepare" if="${target::exists('prepare')}" />
24
- <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
25
- <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
26
- <call target="run_normal_tasks" if="${not is.replaced}" />
27
- <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
28
- </target>
29
-
30
- <target name="run_normal_tasks"
31
- depends="run_analyzers"
32
- description="Analyzing project for quality indicators." />
33
-
34
- <target name="custom_tasks_before">
35
- <echo message="Running custom tasks if ${file.custom.step.before} exists." />
36
- <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
37
- <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
38
- <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
39
- </exec>
40
- <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
41
- <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
42
- </exec>
43
- </target>
44
-
45
- <target name="custom_tasks_replace">
46
- <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
47
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
48
- <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
49
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
50
- <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
51
- <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
52
- </exec>
53
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
54
- <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
55
- <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
56
- </exec>
57
- </target>
58
-
59
- <target name="run_analyzers">
60
- <nant buildfile="${dirs.current}\analyzers\test.step" inheritall="true" />
61
- <nant buildfile="${dirs.current}\analyzers\ncover.step" inheritall="true" failonerror="false" />
62
- <nant buildfile="${dirs.current}\analyzers\ndepend.step" inheritall="true" failonerror="false" />
63
- <nant buildfile="${dirs.current}\analyzers\nitriq.step" inheritall="true" failonerror="false" />
64
- <nant buildfile="${dirs.current}\analyzers\moma.step" inheritall="true" failonerror="false" />
65
- </target>
66
-
67
- <target name="custom_tasks_after">
68
- <echo message="Running custom tasks if ${file.custom.step.after} exists." />
69
- <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
70
- <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
71
- <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
72
- </exec>
73
- <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
74
- <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
75
- </exec>
76
- </target>
77
-
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="Analyzer" default="go">
3
+ <!-- Project UppercuT - http://projectuppercut.org -->
4
+ <!-- DO NOT EDIT THIS FILE - Add custom tasks in BuildTasks.Custom folder with file by the same name - find out more at http://uppercut.pbwiki.com -->
5
+ <property name="build.config.settings" value="__NONE__" overwrite="false" />
6
+ <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
7
+ <property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
8
+ <property name="file.current.no_extension" value="analyze" />
9
+ <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
10
+ <property name="path.to.toplevel" value=".." />
11
+ <property name="folder.build_scripts" value="build" overwrite="false" />
12
+ <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
13
+ <property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts_custom}" />
14
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
15
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
16
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
17
+ <property name="is.replaced" value="false" />
18
+ <property name="fail.build.on.error" value="true" />
19
+
20
+ <target name="go" depends="run_tasks" />
21
+
22
+ <target name="run_tasks">
23
+ <echo message="Running ${project::get-name()} tasks." />
24
+ <call target="prepare" if="${target::exists('prepare')}" />
25
+ <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
26
+ <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
27
+ <call target="run_normal_tasks" if="${not is.replaced}" />
28
+ <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
29
+ </target>
30
+
31
+ <target name="run_normal_tasks"
32
+ depends="run_analyzers"
33
+ description="Analyzing project for quality indicators." />
34
+
35
+ <target name="custom_tasks_before">
36
+ <echo message="Running custom tasks if ${file.custom.step.before} exists." />
37
+ <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
38
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
39
+ <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
40
+ </exec>
41
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
42
+ <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
43
+ </exec>
44
+ </target>
45
+
46
+ <target name="custom_tasks_replace">
47
+ <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
48
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
49
+ <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
50
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
51
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
52
+ <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
53
+ </exec>
54
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
55
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
56
+ <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
57
+ </exec>
58
+ </target>
59
+
60
+ <target name="run_analyzers">
61
+ <nant buildfile="${dirs.current}${path.separator}analyzers${path.separator}test.step" inheritall="true" />
62
+ <nant buildfile="${dirs.current}${path.separator}analyzers${path.separator}ncover.step" inheritall="true" failonerror="false" />
63
+ <nant buildfile="${dirs.current}${path.separator}analyzers${path.separator}ndepend.step" inheritall="true" failonerror="false" />
64
+ <nant buildfile="${dirs.current}${path.separator}analyzers${path.separator}nitriq.step" inheritall="true" failonerror="false" />
65
+ <nant buildfile="${dirs.current}${path.separator}analyzers${path.separator}moma.step" inheritall="true" failonerror="false" />
66
+ </target>
67
+
68
+ <target name="custom_tasks_after">
69
+ <echo message="Running custom tasks if ${file.custom.step.after} exists." />
70
+ <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
71
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
72
+ <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
73
+ </exec>
74
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
75
+ <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
76
+ </exec>
77
+ </target>
78
+
78
79
  </project>
@@ -4,25 +4,27 @@
4
4
  <!-- DO NOT EDIT THIS FILE - This follows a convention for testing with Integration tests being separated from Unit tests - find out more at http://uppercut.pbwiki.com -->
5
5
  <property name="build.config.settings" value="__NONE__" overwrite="false" />
6
6
  <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
7
+ <property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
8
+ <include buildfile="..${path.separator}csharp.functions" />
7
9
  <property name="file.current.no_extension" value="gallio.test" />
8
10
  <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
9
- <property name="path.to.toplevel" value="..\.." />
11
+ <property name="path.to.toplevel" value="..${path.separator}.." />
10
12
  <property name="folder.build_scripts" value="build" overwrite="false" />
11
13
  <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
12
- <property name="dirs.build_scripts_custom" value="${dirs.current}\${path.to.toplevel}\${folder.build_scripts_custom}\analyzers" />
14
+ <property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts_custom}${path.separator}analyzers" />
13
15
  <property name="folder.code_build" value="build_output" overwrite="false" />
14
- <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
16
+ <property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
15
17
  <property name="folder.app.drop" value="${project.name}" overwrite="false" />
16
- <property name="dirs.build.code" value="${dirs.build}\${folder.app.drop}" overwrite="false" />
18
+ <property name="dirs.build.code" value="${dirs.build}${path.separator}${folder.app.drop}" overwrite="false" />
17
19
  <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
18
- <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}\${folder.build_artifacts}" />
19
- <property name="dirs.test_results" value="${dirs.build_artifacts}\gallio" overwrite="false" />
20
+ <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}${path.separator}${folder.build_artifacts}" />
21
+ <property name="dirs.test_results" value="${dirs.build_artifacts}${path.separator}gallio" overwrite="false" />
20
22
  <property name="file.test_results" value="gallio-results" overwrite="false" />
21
23
  <property name="time.limit.in.seconds" value="240" />
22
24
 
23
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
24
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
25
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
25
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
26
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
27
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
26
28
  <property name="is.replaced" value="false" />
27
29
  <property name="fail.build.on.error" value="true" />
28
30
 
@@ -74,8 +76,8 @@
74
76
 
75
77
  <target name="load_tasks">
76
78
  <echo message="Loading Gallio Nant Tasks from Program Files." />
77
- <loadtasks assembly="C:\Program Files (x86)\Gallio\bin\Gallio.NAntTasks.dll" if="${file::exists('C:\Program Files (x86)\Gallio\bin\Gallio.NAntTasks.dll')}" />
78
- <loadtasks assembly="C:\Program Files\Gallio\bin\Gallio.NAntTasks.dll" if="${file::exists('C:\Program Files\Gallio\bin\Gallio.NAntTasks.dll')}" />
79
+ <loadtasks assembly="C:${path.separator}Program Files (x86)${path.separator}Gallio${path.separator}bin${path.separator}Gallio.NAntTasks.dll" if="${file::exists('C:${path.separator}Program Files (x86)${path.separator}Gallio${path.separator}bin${path.separator}Gallio.NAntTasks.dll')}" />
80
+ <loadtasks assembly="C:${path.separator}Program Files${path.separator}Gallio${path.separator}bin${path.separator}Gallio.NAntTasks.dll" if="${file::exists('C:${path.separator}Program Files${path.separator}Gallio${path.separator}bin${path.separator}Gallio.NAntTasks.dll')}" />
79
81
  </target>
80
82
 
81
83
  <target name="run_tests" depends="prepare,load_tasks" description="Running Unit Tests">
@@ -92,11 +94,12 @@
92
94
  filter="exclude Category:Database or Category:Integration or Category:Slow or Category:NotWorking or Categroy:Ignore or Category:database or Category:integration or Category:slow or Category:notworking or Categroy:ignore"
93
95
  >
94
96
  <files>
95
- <exclude name="${dirs.build.code}\*Database*dll" />
96
- <exclude name="${dirs.build.code}\*.Integration*dll" />
97
- <exclude name="${dirs.build.code}\TestFu.dll" />
98
- <include name="${dirs.build.code}\*Test*dll" />
99
- <include name="${dirs.build.code}\*.Spec*dll" />
97
+ <exclude name="${dirs.build.code}${path.separator}lib${path.separator}**" />
98
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}*Database*dll" />
99
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}*.Integration*dll" />
100
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}TestFu.dll" />
101
+ <include name="${dirs.build.code}${path.separator}**${path.separator}*Test*dll" />
102
+ <include name="${dirs.build.code}${path.separator}**${path.separator}*.Spec*dll" />
100
103
  </files>
101
104
  </gallio>
102
105
  </target>
@@ -114,21 +117,17 @@
114
117
  run-time-limit="${time.limit.in.seconds}"
115
118
  >
116
119
  <files>
117
- <exclude name="${dirs.build.code}\TestFu.dll" />
118
- <include name="${dirs.build.code}\*Test*dll" />
119
- <include name="${dirs.build.code}\*.Spec*dll" />
120
+ <exclude name="${dirs.build.code}${path.separator}lib${path.separator}**" />
121
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}TestFu.dll" />
122
+ <include name="${dirs.build.code}${path.separator}**${path.separator}*Test*dll" />
123
+ <include name="${dirs.build.code}${path.separator}**${path.separator}*.Spec*dll" />
120
124
  </files>
121
125
  </gallio>
122
126
  </target>
123
127
 
124
128
  <target name="open_results">
125
- <echo message="Opening results at ${path::get-full-path(dirs.test_results)}\${file.test_results}.html."/>
126
- <exec
127
- spawn="true"
128
- program="${environment::get-folder-path('ProgramFiles')}\Internet Explorer\iexplore.exe"
129
- commandline="${path::get-full-path(dirs.test_results)}\${file.test_results}.html"
130
- >
131
- </exec>
129
+ <echo message="Opening results - ${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
130
+ <results display="${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
132
131
  </target>
133
132
 
134
133
  <target name="custom_tasks_after">
@@ -4,40 +4,42 @@
4
4
  <!-- DO NOT EDIT THIS FILE - This follows a convention for testing with Integration tests being separated from Unit tests - find out more at http://uppercut.pbwiki.com -->
5
5
  <property name="build.config.settings" value="__NONE__" overwrite="false" />
6
6
  <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
7
+ <property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
8
+ <include buildfile="..${path.separator}csharp.functions" />
7
9
  <property name="file.current.no_extension" value="mbunit2.test" />
8
10
  <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
9
- <property name="path.to.toplevel" value="..\.." />
11
+ <property name="path.to.toplevel" value="..${path.separator}.." />
10
12
  <property name="folder.build_scripts" value="build" overwrite="false" />
11
13
  <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
12
- <property name="dirs.build_scripts_custom" value="${dirs.current}\${path.to.toplevel}\${folder.build_scripts_custom}\analyzers" />
14
+ <property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts_custom}${path.separator}analyzers" />
13
15
  <property name="folder.code_build" value="build_output" overwrite="false" />
14
- <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
16
+ <property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
15
17
  <property name="folder.app.drop" value="${project.name}" overwrite="false" />
16
- <property name="dirs.build.code" value="${dirs.build}\${folder.app.drop}" overwrite="false" />
18
+ <property name="dirs.build.code" value="${dirs.build}${path.separator}${folder.app.drop}" overwrite="false" />
17
19
  <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
18
- <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}\${folder.build_artifacts}" />
19
- <property name="dirs.test_results" value="${dirs.build_artifacts}\mbunit2" overwrite="false" />
20
+ <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}${path.separator}${folder.build_artifacts}" />
21
+ <property name="dirs.test_results" value="${dirs.build_artifacts}${path.separator}mbunit2" overwrite="false" />
20
22
  <property name="file.test_results" value="mbunit-results" overwrite="false" />
21
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
22
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
23
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
23
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
24
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
25
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
24
26
  <property name="is.replaced" value="false" />
25
27
  <property name="fail.build.on.error" value="true" />
26
28
 
27
- <assemblyfileset id="assemblies.assemblyfileset.testing" basedir="${dirs.build.code}\" >
28
- <exclude name="lib\**" />
29
- <exclude name="**\*Database*dll" />
30
- <exclude name="**\*.Integration*dll" />
31
- <exclude name="**\TestFu.dll" />
32
- <include name="**\*Test*dll" />
33
- <include name="**\*.Spec*dll" />
29
+ <assemblyfileset id="assemblies.assemblyfileset.testing" basedir="${dirs.build.code}${path.separator}" >
30
+ <exclude name="lib${path.separator}**" />
31
+ <exclude name="**${path.separator}*Database*dll" />
32
+ <exclude name="**${path.separator}*.Integration*dll" />
33
+ <exclude name="**${path.separator}TestFu.dll" />
34
+ <include name="**${path.separator}*Test*dll" />
35
+ <include name="**${path.separator}*.Spec*dll" />
34
36
  </assemblyfileset>
35
37
 
36
- <assemblyfileset id="assemblies.assemblyfileset.testing.all" basedir="${dirs.build.code}\" >
37
- <exclude name="lib\**" />
38
- <exclude name="**\TestFu.dll" />
39
- <include name="**\*Test*dll" />
40
- <include name="**\*.Spec*dll" />
38
+ <assemblyfileset id="assemblies.assemblyfileset.testing.all" basedir="${dirs.build.code}${path.separator}" >
39
+ <exclude name="lib${path.separator}**" />
40
+ <exclude name="**${path.separator}TestFu.dll" />
41
+ <include name="**${path.separator}*Test*dll" />
42
+ <include name="**${path.separator}*.Spec*dll" />
41
43
  </assemblyfileset>
42
44
 
43
45
  <target name="go" depends="run_tasks" />
@@ -125,13 +127,8 @@
125
127
  </target>
126
128
 
127
129
  <target name="open_results">
128
- <echo message="Opening results at ${path::get-full-path(dirs.test_results)}\${file.test_results}.html."/>
129
- <exec
130
- spawn="true"
131
- program="${environment::get-folder-path('ProgramFiles')}\Internet Explorer\iexplore.exe"
132
- commandline="${path::get-full-path(dirs.test_results)}\${file.test_results}.html"
133
- >
134
- </exec>
130
+ <echo message="Opening results - ${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
131
+ <results display="${path::get-full-path(dirs.test_results) + path.separator + file.test_results + '.html'}" />
135
132
  </target>
136
133
 
137
134
  <target name="custom_tasks_after">
@@ -4,30 +4,32 @@
4
4
  <!-- DO NOT EDIT THIS FILE - Mono Migration Analyzer - find out more at http://uppercut.pbwiki.com -->
5
5
  <property name="build.config.settings" value="__NONE__" overwrite="false" />
6
6
  <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
7
+ <property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
8
+ <include buildfile="..${path.separator}csharp.functions" />
7
9
  <property name="file.current.no_extension" value="moma" />
8
10
  <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
9
- <property name="path.to.toplevel" value="..\.." />
11
+ <property name="path.to.toplevel" value="..${path.separator}.." />
10
12
  <property name="folder.build_scripts" value="build" overwrite="false" />
11
13
  <property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
12
- <property name="dirs.build_scripts_custom" value="${dirs.current}\${path.to.toplevel}\${folder.build_scripts_custom}\analyzers" />
14
+ <property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts_custom}${path.separator}analyzers" />
13
15
  <property name="folder.code_build" value="build_output" overwrite="false" />
14
- <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
16
+ <property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
15
17
  <property name="folder.app.drop" value="${project.name}" overwrite="false" />
16
- <property name="dirs.build.code" value="${dirs.build}\${folder.app.drop}" overwrite="false" />
18
+ <property name="dirs.build.code" value="${dirs.build}${path.separator}${folder.app.drop}" overwrite="false" />
17
19
  <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
18
- <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}\${folder.build_artifacts}" />
20
+ <property name="dirs.build_artifacts" value="${path::get-full-path(dirs.build)}${path.separator}${folder.build_artifacts}" />
19
21
  <property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
20
22
  <property name="folder.references" value="lib" overwrite="false" />
21
- <property name="dirs.lib" value="${dirs.current}\${path.to.toplevel}\${folder.references}" overwrite="false" />
22
- <property name="dirs.moma_results" value="${path::get-full-path(dirs.build_artifacts)}\monoMigrationAnalyzer" />
23
- <property name="app.moma" value="${path::get-full-path(dirs.lib)}\MoMA\MoMA.exe" overwrite="false" />
23
+ <property name="dirs.lib" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.references}" overwrite="false" />
24
+ <property name="dirs.moma_results" value="${path::get-full-path(dirs.build_artifacts)}${path.separator}monoMigrationAnalyzer" />
25
+ <property name="app.moma" value="${path::get-full-path(dirs.lib)}${path.separator}MoMA${path.separator}MoMA.exe" overwrite="false" />
24
26
  <property name="file.moma_results" value="${project.name}.MoMAReport.html" />
25
27
  <property name="file.moma.submit_results" value="${project.name}.MoMAReport.xml" />
26
28
  <property name="file.moma_log" value="${project.name}.moma.log" />
27
- <property name="args.moma" value="--nogui --out &quot;${dirs.moma_results}\${file.moma_results}&quot;" />
28
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
29
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
30
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
29
+ <property name="args.moma" value="--nogui --out &quot;${dirs.moma_results}${path.separator}${file.moma_results}&quot;" />
30
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
31
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
32
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
31
33
  <property name="is.replaced" value="false" />
32
34
  <property name="fail.build.on.error" value="false" />
33
35
 
@@ -84,21 +86,22 @@
84
86
  <foreach item="File" property="dll.filename">
85
87
  <in>
86
88
  <items>
87
- <exclude name="${dirs.build.code}\NUnit*.dll" />
88
- <exclude name="${dirs.build.code}\MbUnit*.dll" />
89
- <exclude name="${dirs.build.code}\TestFu.dll" />
90
- <exclude name="${dirs.build.code}\QuickGraph*.dll" />
91
- <exclude name="${dirs.build.code}\Refly*.dll" />
92
- <exclude name="${dirs.build.code}\Rhino.Mocks*.dll" />
93
- <exclude name="${dirs.build.code}\*bdd*.dll" />
94
- <exclude name="${dirs.build.code}\*Test*dll" />
95
- <exclude name="${dirs.build.code}\*Spec*dll" />
96
- <include name="${dirs.build.code}\*.dll" />
97
- <include name="${dirs.build.code}\*.exe" />
89
+ <exclude name="${dirs.build.code}${path.separator}lib${path.separator}**" />
90
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}NUnit*.dll" />
91
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}MbUnit*.dll" />
92
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}TestFu.dll" />
93
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}QuickGraph*.dll" />
94
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}Refly*.dll" />
95
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}Rhino.Mocks*.dll" />
96
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}*bdd*.dll" />
97
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}*Test*dll" />
98
+ <exclude name="${dirs.build.code}${path.separator}**${path.separator}*Spec*dll" />
99
+ <include name="${dirs.build.code}${path.separator}**${path.separator}*.dll" />
100
+ <include name="${dirs.build.code}${path.separator}**${path.separator}*.exe" />
98
101
  </items>
99
102
  </in>
100
103
  <do>
101
- <property name="dll.names" value="${dll.names + ' ' + path::get-file-name(dll.filename)}" />
104
+ <property name="dll.names" value="${dll.names + ' ' + string::replace(string::replace(dll.filename,path::get-full-path(dirs.build.code) + '\',''),'\',path.separator) + ''}" />
102
105
  </do>
103
106
  </foreach>
104
107
 
@@ -120,13 +123,8 @@
120
123
  </target>
121
124
 
122
125
  <target name="open_results">
123
- <echo message="Opening results at ${path::get-full-path(dirs.moma_results)}\${file.moma_results}."/>
124
- <exec
125
- spawn="true"
126
- program="${environment::get-folder-path('ProgramFiles')}\Internet Explorer\iexplore.exe"
127
- commandline="${path::get-full-path(dirs.moma_results)}\${file.moma_results}"
128
- >
129
- </exec>
126
+ <echo message="Opening results - ${path::get-full-path(dirs.moma_results) + path.separator + file.moma_results}."/>
127
+ <results display="${path::get-full-path(dirs.moma_results) + path.separator + file.moma_results}" />
130
128
  </target>
131
129
 
132
130
  <target name="custom_tasks_after">