uppercutbuild 0.9.0.346.20100805 → 1.0.0.0.20100806

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,103 +1,104 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <project name="DeploymentBuilder" default="go">
3
- <!-- Project UppercuT - http://projectuppercut.org -->
4
- <!-- DO NOT EDIT THIS FILE - This follows a convention to find configurations, apply environment specifics and save them - 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="deploymentBuilder" />
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="folder.code_build" value="build_output" overwrite="false" />
14
- <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
15
- <property name="folder.code_drop" value="code_drop" overwrite="false" />
16
- <property name="dirs.drop" value="${dirs.current}\${path.to.toplevel}\${folder.code_drop}" overwrite="false" />
17
- <property name="folder.deployment" value="deployment" overwrite="false" />
18
- <property name="dirs.deployment" value="${dirs.drop}\${folder.deployment}" overwrite="false" />
19
- <property name="folder.settings" value="settings" overwrite="false" />
20
- <property name="dirs.deployment.settings" value="${dirs.drop}\${folder.settings}" overwrite="false" />
21
- <property name="dirs.deployment.templates" value="${dirs.current}\${path.to.toplevel}\${folder.deployment}\templates" overwrite="false" />
22
- <property name="folder.deployment.settings.templates" value="${dirs.current}\${path.to.toplevel}\${folder.deployment}\Settings" overwrite="false" />
23
- <property name="dirs.deployment.settings.templates" value="${dirs.drop}\${folder.deployment}\Settings" overwrite="false" />
24
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
25
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
26
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
27
- <property name="is.replaced" value="false" />
28
- <property name="fail.build.on.error" value="false" />
29
-
30
- <target name="go" depends="run_tasks" />
31
-
32
- <target name="run_tasks">
33
- <echo message="Running ${project::get-name()} tasks." />
34
- <call target="prepare" if="${target::exists('prepare')}" />
35
- <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
36
- <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
37
- <call target="run_normal_tasks" if="${not is.replaced}" />
38
- <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
39
- </target>
40
-
41
- <target name="run_normal_tasks"
42
- depends="build_deployments, build_deployments_settings"
43
- description="Deployment File Builder"
44
- if="${directory::exists(dirs.deployment.templates)}" />
45
-
46
- <target name="custom_tasks_before">
47
- <echo message="Running custom tasks if ${file.custom.step.before} exists." />
48
- <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
49
- <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
50
- <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
51
- </exec>
52
- <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
53
- <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
54
- </exec>
55
- </target>
56
-
57
- <target name="custom_tasks_replace">
58
- <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
59
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
60
- <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
61
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
62
- <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
63
- <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
64
- </exec>
65
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
66
- <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
67
- <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
68
- </exec>
69
- </target>
70
-
71
- <target name="build_deployments" if="${directory::exists(dirs.deployment.templates)}" >
72
- <buildTemplateFiles
73
- settingsFilesDirectory="${dirs.deployment.settings}"
74
- templatesDirectory="${dirs.deployment.templates}"
75
- destinationDirectory="${dirs.deployment}"
76
- templateExtension=".BAT"
77
- keepExtension="true"
78
- useEnvironmentSubdirectory="false"
79
- />
80
- </target>
81
-
82
- <target name="build_deployments_settings" if="${directory::exists(folder.deployment.settings.templates)}" >
83
- <buildTemplateFiles
84
- settingsFilesDirectory="${dirs.deployment.settings}"
85
- templatesDirectory="${folder.deployment.settings.templates}"
86
- destinationDirectory="${dirs.deployment.settings.templates}"
87
- templateExtension=".BAT"
88
- keepExtension="true"
89
- />
90
- </target>
91
-
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
-
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="DeploymentBuilder" default="go">
3
+ <!-- Project UppercuT - http://projectuppercut.org -->
4
+ <!-- DO NOT EDIT THIS FILE - This follows a convention to find configurations, apply environment specifics and save them - 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="deploymentBuilder" />
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="folder.code_build" value="build_output" overwrite="false" />
15
+ <property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
16
+ <property name="folder.code_drop" value="code_drop" overwrite="false" />
17
+ <property name="dirs.drop" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_drop}" overwrite="false" />
18
+ <property name="folder.deployment" value="deployment" overwrite="false" />
19
+ <property name="dirs.deployment" value="${dirs.drop}${path.separator}${folder.deployment}" overwrite="false" />
20
+ <property name="folder.settings" value="settings" overwrite="false" />
21
+ <property name="dirs.deployment.settings" value="${dirs.drop}${path.separator}${folder.settings}" overwrite="false" />
22
+ <property name="dirs.deployment.templates" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.deployment}${path.separator}templates" overwrite="false" />
23
+ <property name="folder.deployment.settings.templates" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.deployment}${path.separator}Settings" overwrite="false" />
24
+ <property name="dirs.deployment.settings.templates" value="${dirs.drop}${path.separator}${folder.deployment}${path.separator}Settings" overwrite="false" />
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" />
28
+ <property name="is.replaced" value="false" />
29
+ <property name="fail.build.on.error" value="false" />
30
+
31
+ <target name="go" depends="run_tasks" />
32
+
33
+ <target name="run_tasks">
34
+ <echo message="Running ${project::get-name()} tasks." />
35
+ <call target="prepare" if="${target::exists('prepare')}" />
36
+ <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
37
+ <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
38
+ <call target="run_normal_tasks" if="${not is.replaced}" />
39
+ <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
40
+ </target>
41
+
42
+ <target name="run_normal_tasks"
43
+ depends="build_deployments, build_deployments_settings"
44
+ description="Deployment File Builder"
45
+ if="${directory::exists(dirs.deployment.templates)}" />
46
+
47
+ <target name="custom_tasks_before">
48
+ <echo message="Running custom tasks if ${file.custom.step.before} exists." />
49
+ <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
50
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
51
+ <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
52
+ </exec>
53
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
54
+ <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
55
+ </exec>
56
+ </target>
57
+
58
+ <target name="custom_tasks_replace">
59
+ <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
60
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
61
+ <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
62
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
63
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
64
+ <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
65
+ </exec>
66
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
67
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
68
+ <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
69
+ </exec>
70
+ </target>
71
+
72
+ <target name="build_deployments" if="${directory::exists(dirs.deployment.templates)}" >
73
+ <buildTemplateFiles
74
+ settingsFilesDirectory="${dirs.deployment.settings}"
75
+ templatesDirectory="${dirs.deployment.templates}"
76
+ destinationDirectory="${dirs.deployment}"
77
+ templateExtension=".BAT"
78
+ keepExtension="true"
79
+ useEnvironmentSubdirectory="false"
80
+ />
81
+ </target>
82
+
83
+ <target name="build_deployments_settings" if="${directory::exists(folder.deployment.settings.templates)}" >
84
+ <buildTemplateFiles
85
+ settingsFilesDirectory="${dirs.deployment.settings}"
86
+ templatesDirectory="${folder.deployment.settings.templates}"
87
+ destinationDirectory="${dirs.deployment.settings.templates}"
88
+ templateExtension=".BAT"
89
+ keepExtension="true"
90
+ />
91
+ </target>
92
+
93
+ <target name="custom_tasks_after">
94
+ <echo message="Running custom tasks if ${file.custom.step.after} exists." />
95
+ <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
96
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
97
+ <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
98
+ </exec>
99
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
100
+ <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
101
+ </exec>
102
+ </target>
103
+
103
104
  </project>
@@ -1,119 +1,120 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <project name="EnvironmentBuilder" default="go">
3
- <!-- Project UppercuT - http://projectuppercut.org -->
4
- <!-- DO NOT EDIT THIS FILE - This follows a convention to find configurations, apply environment specifics and save them - 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="environmentBuilder" />
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="folder.code_build" value="build_output" overwrite="false" />
14
- <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
15
- <property name="folder.code_drop" value="code_drop" overwrite="false" />
16
- <property name="dirs.drop" value="${dirs.current}\${path.to.toplevel}\${folder.code_drop}" overwrite="false" />
17
- <property name="folder.environment_files" value="environment.files" overwrite="false" />
18
- <property name="dirs.build.environmentfiles" value="${dirs.build}\${folder.environment_files}" overwrite="false" />
19
- <property name="folder.settings" value="settings" overwrite="false" />
20
- <property name="dirs.environments.settings" value="${dirs.current}\${path.to.toplevel}\${folder.settings}" overwrite="false" />
21
- <property name="folder.app.drop" value="${project.name}" overwrite="false" />
22
- <property name="folder.database" value="__DATABASE_FOLDER_NAME__" overwrite="false" />
23
- <property name="folder.documentation" value="docs" overwrite="false" />
24
- <property name="dirs.build.code" value="${dirs.build}\${folder.app.drop}" overwrite="false" />
25
- <property name="dirs.build.database" value="${dirs.build}\${folder.database}" overwrite="false" />
26
- <property name="dirs.build.docs" value="${dirs.build}\${folder.documentation}" overwrite="false" />
27
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
28
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
29
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
30
- <property name="is.replaced" value="false" />
31
- <property name="fail.build.on.error" value="true" />
32
-
33
- <target name="go" depends="run_tasks" />
34
-
35
- <target name="run_tasks">
36
- <echo message="Running ${project::get-name()} tasks." />
37
- <call target="prepare" if="${target::exists('prepare')}" />
38
- <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
39
- <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
40
- <call target="run_normal_tasks" if="${not is.replaced}" />
41
- <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
42
- </target>
43
-
44
- <target name="run_normal_tasks"
45
- depends="build_code_environment_files, build_database_environment_files, build_doc_environment_files, build_other_documentation_files"
46
- description="Building Environment Files." />
47
-
48
- <target name="custom_tasks_before">
49
- <echo message="Running custom tasks if ${file.custom.step.before} exists." />
50
- <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
51
- <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
52
- <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
53
- </exec>
54
- <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
55
- <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
56
- </exec>
57
- </target>
58
-
59
- <target name="custom_tasks_replace">
60
- <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
61
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
62
- <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
63
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
64
- <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
65
- <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
66
- </exec>
67
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
68
- <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
69
- <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
70
- </exec>
71
- </target>
72
-
73
- <target name="build_code_environment_files" if="${directory::exists(dirs.environments.settings)}" >
74
- <buildTemplateFiles
75
- settingsFilesDirectory="${dirs.environments.settings}"
76
- templatesDirectory="${dirs.build.code}"
77
- destinationDirectory="${dirs.build.environmentfiles}"
78
- useEnvironmentSubdirectory="true"
79
- />
80
- </target>
81
-
82
- <target name="build_database_environment_files" if="${directory::exists(dirs.environments.settings)}" >
83
- <buildTemplateFiles
84
- settingsFilesDirectory="${dirs.environments.settings}"
85
- templatesDirectory="${dirs.build.database}"
86
- destinationDirectory="${dirs.build.database}"
87
- />
88
- </target>
89
-
90
- <target name="build_doc_environment_files" if="${directory::exists(dirs.environments.settings)}" >
91
- <buildTemplateFiles
92
- settingsFilesDirectory="${dirs.environments.settings}"
93
- templatesDirectory="${dirs.build.docs}"
94
- destinationDirectory="${dirs.build.docs}"
95
- templateExtension=".xml"
96
- keepExtension="true"
97
- />
98
- </target>
99
-
100
- <target name="build_other_documentation_files" if="${directory::exists(dirs.environments.settings)}" >
101
- <buildTemplateFiles
102
- settingsFilesDirectory="${dirs.environments.settings}"
103
- templatesDirectory="${dirs.build.docs}"
104
- destinationDirectory="${dirs.build.docs}"
105
- />
106
- </target>
107
-
108
- <target name="custom_tasks_after">
109
- <echo message="Running custom tasks if ${file.custom.step.after} exists." />
110
- <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
111
- <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
112
- <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
113
- </exec>
114
- <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
115
- <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
116
- </exec>
117
- </target>
118
-
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="EnvironmentBuilder" default="go">
3
+ <!-- Project UppercuT - http://projectuppercut.org -->
4
+ <!-- DO NOT EDIT THIS FILE - This follows a convention to find configurations, apply environment specifics and save them - 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="environmentBuilder" />
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="folder.code_build" value="build_output" overwrite="false" />
15
+ <property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
16
+ <property name="folder.code_drop" value="code_drop" overwrite="false" />
17
+ <property name="dirs.drop" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_drop}" overwrite="false" />
18
+ <property name="folder.environment_files" value="environment.files" overwrite="false" />
19
+ <property name="dirs.build.environmentfiles" value="${dirs.build}${path.separator}${folder.environment_files}" overwrite="false" />
20
+ <property name="folder.settings" value="settings" overwrite="false" />
21
+ <property name="dirs.environments.settings" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.settings}" overwrite="false" />
22
+ <property name="folder.app.drop" value="${project.name}" overwrite="false" />
23
+ <property name="folder.database" value="__DATABASE_FOLDER_NAME__" overwrite="false" />
24
+ <property name="folder.documentation" value="docs" overwrite="false" />
25
+ <property name="dirs.build.code" value="${dirs.build}${path.separator}${folder.app.drop}" overwrite="false" />
26
+ <property name="dirs.build.database" value="${dirs.build}${path.separator}${folder.database}" overwrite="false" />
27
+ <property name="dirs.build.docs" value="${dirs.build}${path.separator}${folder.documentation}" overwrite="false" />
28
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
29
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
30
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
31
+ <property name="is.replaced" value="false" />
32
+ <property name="fail.build.on.error" value="true" />
33
+
34
+ <target name="go" depends="run_tasks" />
35
+
36
+ <target name="run_tasks">
37
+ <echo message="Running ${project::get-name()} tasks." />
38
+ <call target="prepare" if="${target::exists('prepare')}" />
39
+ <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
40
+ <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
41
+ <call target="run_normal_tasks" if="${not is.replaced}" />
42
+ <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
43
+ </target>
44
+
45
+ <target name="run_normal_tasks"
46
+ depends="build_code_environment_files, build_database_environment_files, build_doc_environment_files, build_other_documentation_files"
47
+ description="Building Environment Files." />
48
+
49
+ <target name="custom_tasks_before">
50
+ <echo message="Running custom tasks if ${file.custom.step.before} exists." />
51
+ <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
52
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
53
+ <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
54
+ </exec>
55
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
56
+ <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
57
+ </exec>
58
+ </target>
59
+
60
+ <target name="custom_tasks_replace">
61
+ <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
62
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
63
+ <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
64
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
65
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
66
+ <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
67
+ </exec>
68
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
69
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
70
+ <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
71
+ </exec>
72
+ </target>
73
+
74
+ <target name="build_code_environment_files" if="${directory::exists(dirs.environments.settings)}" >
75
+ <buildTemplateFiles
76
+ settingsFilesDirectory="${dirs.environments.settings}"
77
+ templatesDirectory="${dirs.build.code}"
78
+ destinationDirectory="${dirs.build.environmentfiles}"
79
+ useEnvironmentSubdirectory="true"
80
+ />
81
+ </target>
82
+
83
+ <target name="build_database_environment_files" if="${directory::exists(dirs.environments.settings)}" >
84
+ <buildTemplateFiles
85
+ settingsFilesDirectory="${dirs.environments.settings}"
86
+ templatesDirectory="${dirs.build.database}"
87
+ destinationDirectory="${dirs.build.database}"
88
+ />
89
+ </target>
90
+
91
+ <target name="build_doc_environment_files" if="${directory::exists(dirs.environments.settings)}" >
92
+ <buildTemplateFiles
93
+ settingsFilesDirectory="${dirs.environments.settings}"
94
+ templatesDirectory="${dirs.build.docs}"
95
+ destinationDirectory="${dirs.build.docs}"
96
+ templateExtension=".xml"
97
+ keepExtension="true"
98
+ />
99
+ </target>
100
+
101
+ <target name="build_other_documentation_files" if="${directory::exists(dirs.environments.settings)}" >
102
+ <buildTemplateFiles
103
+ settingsFilesDirectory="${dirs.environments.settings}"
104
+ templatesDirectory="${dirs.build.docs}"
105
+ destinationDirectory="${dirs.build.docs}"
106
+ />
107
+ </target>
108
+
109
+ <target name="custom_tasks_after">
110
+ <echo message="Running custom tasks if ${file.custom.step.after} exists." />
111
+ <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
112
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
113
+ <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
114
+ </exec>
115
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
116
+ <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
117
+ </exec>
118
+ </target>
119
+
119
120
  </project>
@@ -1,113 +1,114 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <project name="GemsBuild" 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="gemsBuild" />
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="folder.code_build" value="build_output" overwrite="false" />
14
- <property name="dirs.build" value="${dirs.current}\${path.to.toplevel}\${folder.code_build}" />
15
- <property name="folder.code_drop" value="code_drop" overwrite="false" />
16
- <property name="dirs.drop" value="${dirs.current}\${path.to.toplevel}\${folder.code_drop}" overwrite="false" />
17
- <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
18
- <property name="folder.app.drop" value="${project.name}" overwrite="false" />
19
- <property name="folder.database" value="__DATABASE_FOLDER_NAME__" overwrite="false" />
20
- <property name="folder.reports" value="${project.name}.Reports" overwrite="false" />
21
- <property name="folder.file_server" value="file.server" overwrite="false" />
22
- <property name="folder.environment_files" value="environment.files" overwrite="false" />
23
- <property name="folder.deployment" value="deployment" overwrite="false" />
24
- <property name="folder.settings" value="settings" overwrite="false" />
25
- <property name="folder.documentation" value="docs" overwrite="false" />
26
- <property name="folder.gems" value="gems" overwrite="false" />
27
- <property name="dirs.gems" value="${path.to.toplevel}\${folder.gems}" overwrite="false" />
28
- <property name="dirs.drop.gems" value="${dirs.drop}\${folder.gems}" overwrite="false" />
29
- <property name="folder.gems.exists" value="${directory::exists(dirs.gems)}" />
30
- <property name="version.major" value="1" overwrite="false" />
31
- <property name="version.minor" value="0" overwrite="false" />
32
- <property name="version.build" value="0" overwrite="false" />
33
- <property name="version.revision" value="0" overwrite="false" />
34
- <property name="assembly.version.full" value="${version.major}.${version.minor}.${version.build}.${version.revision}" />
35
- <property name="file.gems.version" value="${dirs.drop.gems}\VERSION" />
36
-
37
-
38
- <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
39
- <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
40
- <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
41
- <property name="is.replaced" value="false" />
42
- <property name="fail.build.on.error" value="true" />
43
-
44
- <target name="go" depends="run_tasks" if="${folder.gems.exists}" />
45
-
46
- <target name="run_tasks" if="${folder.gems.exists}">
47
- <echo message="Running ${project::get-name()} tasks." />
48
- <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
49
- <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
50
- <call target="run_normal_tasks" if="${not is.replaced}" />
51
- <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
52
- </target>
53
-
54
- <target name="run_normal_tasks"
55
- depends="build_gem"
56
- description="Building gems." />
57
-
58
- <target name="custom_tasks_before">
59
- <echo message="Running custom tasks if ${file.custom.step.before} exists." />
60
- <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
61
- <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
62
- <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
63
- </exec>
64
- <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
65
- <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
66
- </exec>
67
- </target>
68
-
69
- <target name="custom_tasks_replace">
70
- <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
71
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
72
- <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
73
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
74
- <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
75
- <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
76
- </exec>
77
- <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
78
- <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
79
- <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
80
- </exec>
81
- </target>
82
-
83
- <target name="build_gem">
84
- <echo message="Finding and building all gems in ${dirs.drop.gems}."/>
85
- <foreach item="File" property="spec.file">
86
- <in>
87
- <items>
88
- <include name="${dirs.drop.gems}\*.gemspec" />
89
- </items>
90
- </in>
91
- <do>
92
- <exec
93
- program="cmd"
94
- workingdir="${dirs.drop.gems}"
95
- failonerror="false">
96
- <arg value="/c gem build ${spec.file}" />
97
- </exec>
98
- </do>
99
- </foreach>
100
- </target>
101
-
102
- <target name="custom_tasks_after">
103
- <echo message="Running custom tasks if ${file.custom.step.after} exists." />
104
- <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
105
- <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
106
- <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
107
- </exec>
108
- <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
109
- <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
110
- </exec>
111
- </target>
112
-
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="GemsBuild" 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="gemsBuild" />
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="folder.code_build" value="build_output" overwrite="false" />
15
+ <property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
16
+ <property name="folder.code_drop" value="code_drop" overwrite="false" />
17
+ <property name="dirs.drop" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_drop}" overwrite="false" />
18
+ <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
19
+ <property name="folder.app.drop" value="${project.name}" overwrite="false" />
20
+ <property name="folder.database" value="__DATABASE_FOLDER_NAME__" overwrite="false" />
21
+ <property name="folder.reports" value="${project.name}.Reports" overwrite="false" />
22
+ <property name="folder.file_server" value="file.server" overwrite="false" />
23
+ <property name="folder.environment_files" value="environment.files" overwrite="false" />
24
+ <property name="folder.deployment" value="deployment" overwrite="false" />
25
+ <property name="folder.settings" value="settings" overwrite="false" />
26
+ <property name="folder.documentation" value="docs" overwrite="false" />
27
+ <property name="folder.gems" value="gems" overwrite="false" />
28
+ <property name="dirs.gems" value="${path.to.toplevel}${path.separator}${folder.gems}" overwrite="false" />
29
+ <property name="dirs.drop.gems" value="${dirs.drop}${path.separator}${folder.gems}" overwrite="false" />
30
+ <property name="folder.gems.exists" value="${directory::exists(dirs.gems)}" />
31
+ <property name="version.major" value="1" overwrite="false" />
32
+ <property name="version.minor" value="0" overwrite="false" />
33
+ <property name="version.build" value="0" overwrite="false" />
34
+ <property name="version.revision" value="0" overwrite="false" />
35
+ <property name="assembly.version.full" value="${version.major}.${version.minor}.${version.build}.${version.revision}" />
36
+ <property name="file.gems.version" value="${dirs.drop.gems}${path.separator}VERSION" />
37
+
38
+
39
+ <property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
40
+ <property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
41
+ <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
42
+ <property name="is.replaced" value="false" />
43
+ <property name="fail.build.on.error" value="true" />
44
+
45
+ <target name="go" depends="run_tasks" if="${folder.gems.exists}" />
46
+
47
+ <target name="run_tasks" if="${folder.gems.exists}">
48
+ <echo message="Running ${project::get-name()} tasks." />
49
+ <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
50
+ <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
51
+ <call target="run_normal_tasks" if="${not is.replaced}" />
52
+ <call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
53
+ </target>
54
+
55
+ <target name="run_normal_tasks"
56
+ depends="build_gem"
57
+ description="Building gems." />
58
+
59
+ <target name="custom_tasks_before">
60
+ <echo message="Running custom tasks if ${file.custom.step.before} exists." />
61
+ <nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
62
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
63
+ <arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
64
+ </exec>
65
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
66
+ <arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
67
+ </exec>
68
+ </target>
69
+
70
+ <target name="custom_tasks_replace">
71
+ <echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
72
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
73
+ <nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
74
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
75
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
76
+ <arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
77
+ </exec>
78
+ <property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
79
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
80
+ <arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
81
+ </exec>
82
+ </target>
83
+
84
+ <target name="build_gem">
85
+ <echo message="Finding and building all gems in ${dirs.drop.gems}."/>
86
+ <foreach item="File" property="spec.file">
87
+ <in>
88
+ <items>
89
+ <include name="${dirs.drop.gems}${path.separator}*.gemspec" />
90
+ </items>
91
+ </in>
92
+ <do>
93
+ <exec
94
+ program="cmd"
95
+ workingdir="${dirs.drop.gems}"
96
+ failonerror="false">
97
+ <arg value="/c gem build ${spec.file}" />
98
+ </exec>
99
+ </do>
100
+ </foreach>
101
+ </target>
102
+
103
+ <target name="custom_tasks_after">
104
+ <echo message="Running custom tasks if ${file.custom.step.after} exists." />
105
+ <nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
106
+ <exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
107
+ <arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
108
+ </exec>
109
+ <exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
110
+ <arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
111
+ </exec>
112
+ </target>
113
+
113
114
  </project>