uppercutbuild 0.9.0.321 → 0.9.0.325

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/lib/CREDITS +13 -0
  2. data/lib/ConfigBuilder.doc +0 -0
  3. data/lib/CustomTasks.doc +0 -0
  4. data/lib/DeploymentBuilder.doc +0 -0
  5. data/lib/GettingStarted.doc +0 -0
  6. data/lib/IntegrateUppercuTWithCruiseControl.NET.doc +0 -0
  7. data/lib/IntegrateUppercuTWithHudson.doc +0 -0
  8. data/lib/IntegrateUppercuTWithTeamCity.doc +0 -0
  9. data/lib/LICENSE +174 -0
  10. data/lib/NOTICE +9 -0
  11. data/lib/README +103 -0
  12. data/lib/Samples/CC.NET/ReadMe.txt +2 -0
  13. data/lib/Samples/CC.NET/server/ccnet.config +64 -0
  14. data/lib/Samples/CC.NET/webdashboard/dashboard.config +72 -0
  15. data/lib/Samples/CC.NET/webdashboard/image.ashx +109 -0
  16. data/lib/Samples/CC.NET/webdashboard/xsl/ndependreport-ccnet.v2.xsl +1161 -0
  17. data/lib/Samples/CustomizingBuildSamples/BDDDoc/bdddoc.bat +39 -0
  18. data/lib/Samples/CustomizingBuildSamples/BDDDoc/build.custom/bdddoc.build +52 -0
  19. data/lib/Samples/CustomizingBuildSamples/CustomCompiling/compile.replace.step +134 -0
  20. data/lib/Samples/CustomizingBuildSamples/ILMerge/build.custom/ilmerge.internalize.ignore.txt +2 -0
  21. data/lib/Samples/CustomizingBuildSamples/ILMerge/build.custom/ilmerge.pre.build +31 -0
  22. data/lib/Samples/CustomizingBuildSamples/ILMerge/build/ilmerge.build +108 -0
  23. data/lib/Samples/CustomizingBuildSamples/ILMerge/ilmerge.bat +36 -0
  24. data/lib/Samples/CustomizingBuildSamples/MonoMigrationAnalyzer/moma.bat +37 -0
  25. data/lib/Samples/CustomizingBuildSamples/NCover/ncover.bat +37 -0
  26. data/lib/Samples/CustomizingBuildSamples/WiX/build.custom/default.post.build +13 -0
  27. data/lib/Samples/CustomizingBuildSamples/WiX/build.custom/wix.build +104 -0
  28. data/lib/Samples/CustomizingBuildSamples/Zip/build.custom/zip.post.build +54 -0
  29. data/lib/Samples/CustomizingBuildSamples/Zip/build.custom/zip.pre.build +23 -0
  30. data/lib/Samples/scripts/SVN/ReadMe.txt +5 -0
  31. data/lib/Samples/scripts/SVN/branch.bat +30 -0
  32. data/lib/Samples/scripts/SVN/branchWithCheckout.bat +31 -0
  33. data/lib/Samples/scripts/SVN/checkoutBranch.bat +28 -0
  34. data/lib/Samples/scripts/SVN/checkoutTrunk.bat +28 -0
  35. data/lib/Samples/scripts/SVN/commit.bat +23 -0
  36. data/lib/UppercuT.dot +0 -0
  37. data/lib/UppercuTPresentation.pptx +0 -0
  38. data/lib/UppercuTSteps.pptx +0 -0
  39. data/lib/VersionBuilder.doc +0 -0
  40. data/lib/build/UppercuT.xml +1 -1
  41. data/lib/build/default.build +2 -0
  42. data/lib/build/gemsBuild.step +113 -0
  43. data/lib/build/gemsPrepare.step +144 -0
  44. data/lib/build/uppercut.dll +0 -0
  45. data/lib/build/uppercut.tasks.dll +0 -0
  46. data/lib/gems/__RENAME__.gemspec.remove +18 -0
  47. data/lib/logo/UppercuT.ico +0 -0
  48. data/lib/logo/UppercuT_Logo.jpg +0 -0
  49. data/lib/logo/UppercuT_Logo_Small.jpg +0 -0
  50. data/lib/logo/UppercuT_logo.png +0 -0
  51. data/lib/logo/UppercuT_logo_small.gif +0 -0
  52. data/lib/logo/UppercuT_logo_small.png +0 -0
  53. metadata +52 -4
@@ -0,0 +1,37 @@
1
+ @echo off
2
+
3
+ ::Project UppercuT - http://uppercut.googlecode.com
4
+ ::No edits to this file are required - http://uppercut.pbwiki.com
5
+
6
+ if '%2' NEQ '' goto usage
7
+ if '%3' NEQ '' goto usage
8
+ if '%1' == '/?' goto usage
9
+ if '%1' == '-?' goto usage
10
+ if '%1' == '?' goto usage
11
+ if '%1' == '/help' goto usage
12
+
13
+ SET DIR=%~d0%~p0%
14
+ SET NANT="%DIR%lib\Nant\nant.exe"
15
+ SET build.config.settings="%DIR%settings\UppercuT.config"
16
+
17
+ %NANT% /f:.\build\compile.step -D:build.config.settings=%build.config.settings%
18
+
19
+ if %ERRORLEVEL% NEQ 0 goto errors
20
+
21
+ %NANT% /f:.\build\analyzers\ncover.step %1 -D:build.config.settings=%build.config.settings%
22
+
23
+
24
+ if %ERRORLEVEL% NEQ 0 goto errors
25
+
26
+ goto finish
27
+
28
+ :usage
29
+ echo.
30
+ echo Usage: ncover.bat
31
+ echo.
32
+ goto finish
33
+
34
+ :errors
35
+ EXIT /B %ERRORLEVEL%
36
+
37
+ :finish
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="CustomMasterBuildFile" default="go">
3
+ <property name="build.config.settings" value="__NONE__" overwrite="false" />
4
+ <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
5
+ <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
6
+
7
+ <target name="go" depends="build_custom" description="Building" />
8
+
9
+ <target name="build_custom">
10
+ <nant buildfile="${dirs.current}\wix.build" inheritall="true" failonerror="false" />
11
+ </target>
12
+
13
+ </project>
@@ -0,0 +1,104 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="Windows Installer Creator" default="go">
3
+ <!-- Project UppercuT - http://uppercut.googlecode.com -->
4
+ <!-- DO NOT EDIT THIS FILE - 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="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
8
+ <property name="company.name" value="__COMPANY_NAME__" overwrite="false" />
9
+ <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
10
+ <property name="folder.code_build" value="build_output" overwrite="false" />
11
+ <property name="dirs.build" value="${dirs.current}\..\${folder.code_build}" />
12
+ <property name="folder.code_drop" value="code_drop" overwrite="false" />
13
+ <property name="dirs.drop" value="${dirs.current}\..\${folder.code_drop}" overwrite="false" />
14
+ <property name="folder.app.drop" value="app" overwrite="false" />
15
+ <property name="dirs.wix" value="${dirs.current}\..\lib\tools\WiX" overwrite="false" />
16
+ <property name="dirs.installer" value="${dirs.drop}\Installer" overwrite="false" />
17
+ <property name="dirs.source.installer" value="${dirs.build}\..\Installer" overwrite="false" />
18
+ <property name="dirs.source.installer.fullpath" value="${path::get-full-path(dirs.source.installer)}" />
19
+ <property name="version.major" value="1" overwrite="false" />
20
+ <property name="version.minor" value="0" overwrite="false" />
21
+ <property name="version.revision" value="0" overwrite="false" />
22
+ <property name="version.build" value="0" overwrite="false" />
23
+ <property name="app.version" value="${version.major}.${version.minor}.${version.build}.${version.revision}" />
24
+ <property name="app.version" value="0.1.0.0" if="${app.version=='0.0.0.0'}" />
25
+ <property name="file.license" value="${dirs.source.installer.fullpath}\License.rtf" overwrite="false" />
26
+ <property name="wix.product.upgrade.guid" value="8CBF92F6-2A81-4C4D-AEE4-377265C5DF04" overwrite="false" />
27
+ <property name="app.paraffin" value="Paraffin.exe" />
28
+
29
+ <target name="go" depends="cleanup, load_wix, run_paraffin, wix_compile, wix_linker, cleanup_wix_artifacts" description="Creating the MSI file." if="${directory::exists(dirs.wix)}" />
30
+
31
+ <target name="cleanup">
32
+ <echo message="Removing ${dirs.installer}."/>
33
+ <delete dir="${dirs.installer}" failonerror="false" />
34
+ <mkdir dir="${dirs.installer}" failonerror="false" />
35
+ </target>
36
+
37
+ <target name="load_wix" if="${directory::exists(dirs.wix)}">
38
+ <property name="wix.dir" value="${path::get-full-path(dirs.wix)}" readonly="true" />
39
+ <loadtasks assembly="${wix.dir}\Microsoft.Tools.WindowsInstallerXml.NAntTasks.dll" />
40
+ </target>
41
+
42
+ <target name="run_paraffin" if="${file::exists(wix.dir + '\' + app.paraffin)}" failonerror="false">
43
+ <echo message="Running paraffin to create file fragments."/>
44
+ <exec program="${wix.dir}\${app.paraffin}">
45
+ <arg line="-dir ${dirs.drop}\${folder.app.drop}\ -custom ${project.name} -g -alias ${dirs.drop}\${folder.app.drop}\ -ext .WXS ${dirs.installer}\FileFragment.wxs" />
46
+ </exec>
47
+ </target>
48
+
49
+ <target name="wix_compile" if="${directory::exists(dirs.wix)}">
50
+ <echo message="Running candle to start creation of the MSI."/>
51
+ <echo message="- setting MSI to ${project.name}."/>
52
+ <echo message="- setting Version to ${app.version}."/>
53
+ <echo message="- setting product upgrade GUID to ${wix.product.upgrade.guid}."/>
54
+ <echo message="- including license file from ${file.license}."/>
55
+ <candle
56
+ exedir="${wix.dir}"
57
+ out="${dirs.installer}\"
58
+ rebuild="true"
59
+ extensions="WixUIExtension;WixUtilExtension"
60
+ warningsaserrors="true">
61
+ <defines>
62
+ <define name="dirs.drop" value="${dirs.drop}" />
63
+ <define name="project.name" value="${project.name}" />
64
+ <define name="company.name" value="${company.name}" />
65
+ <define name="file.license" value="${file.license}" />
66
+ <define name="product.upgrade.guid" value="${wix.product.upgrade.guid}" />
67
+ <define name="version" value="${app.version}" />
68
+ </defines>
69
+ <sources basedir="${dirs.source.installer}\">
70
+ <include name="product.wxs" />
71
+ </sources>
72
+ </candle>
73
+ </target>
74
+
75
+ <target name="wix_linker" if="${directory::exists(dirs.wix)}">
76
+ <echo message="Running light to finish creation of the MSI."/>
77
+ <light
78
+ exedir="${wix.dir}"
79
+ out="${dirs.installer}\${project.name}.msi"
80
+ warningsaserrors="true"
81
+ suppressices="ICE57"
82
+ cultures="en-us"
83
+ extensions="WixUIExtension;WixUtilExtension"
84
+ rebuild="true"
85
+ suppresspdb="true">
86
+ <!-- Specify additional options -->
87
+ <arg line="-fv" />
88
+ <sources basedir="${dirs.installer}\">
89
+ <include name="*.wixobj" />
90
+ </sources>
91
+ </light>
92
+ </target>
93
+
94
+ <target name="cleanup_wix_artifacts" if="${directory::exists(dirs.wix)}">
95
+ <echo message="Cleaning out wix artifact files."/>
96
+ <delete>
97
+ <fileset>
98
+ <include name="${dirs.installer}/*.wixobj" />
99
+ <include name="${dirs.installer}/*.wxs" />
100
+ </fileset>
101
+ </delete>
102
+ </target>
103
+
104
+ </project>
@@ -0,0 +1,54 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="BuildZipperCustom" default="go">
3
+ <!-- Project UppercuT - http://projectuppercut.org -->
4
+ <property name="build.config.settings" value="__NONE__" overwrite="false" />
5
+ <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
6
+ <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
7
+ <property name="path.to.toplevel" value=".." />
8
+ <property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
9
+ <property name="folder.build_scripts" value="build" overwrite="false" />
10
+ <property name="dirs.build_scripts" value="${dirs.current}\${path.to.toplevel}\${folder.build_scripts}" />
11
+ <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
12
+ <property name="folder.code_drop" value="code_drop" overwrite="false" />
13
+ <property name="folder.database" value="__DATABASE_FOLDER_NAME__" overwrite="false" />
14
+ <property name="folder.deployment" value="deployment" overwrite="false" />
15
+ <property name="folder.settings" value="settings" overwrite="false" />
16
+ <property name="folder.app.drop" value="${project.name}" overwrite="false" />
17
+ <property name="dirs.drop" value="${dirs.current}\..\${folder.code_drop}" overwrite="false" />
18
+ <property name="version.major" value="1" overwrite="false" />
19
+ <property name="version.minor" value="0" overwrite="false" />
20
+ <property name="version.build" value="0" overwrite="false" />
21
+ <property name="version.revision" value="0" overwrite="false" />
22
+ <property name="version" value="0" />
23
+ <property name="zip.file" value="${dirs.drop}\${project.name}.zip" />
24
+ <property name="zip.file.rename" value="${dirs.drop}\${project.name}.v${version}.zip" />
25
+ <property name="repository.path" value="__REPOSITORY_PATH__" overwrite="false" />
26
+ <property name="source_control_type" value="svn" overwrite="false" />
27
+
28
+ <target name="go" depends="get_version, rename_zip_folder" />
29
+
30
+ <target name="get_version">
31
+ <call target="get_revision" />
32
+ <call target="get_build_number" />
33
+ <property name="version" value="${version.major}.${version.minor}.${version.build}.${version.revision}" />
34
+ <property name="zip.file.rename" value="${dirs.drop}\${project.name}.v${version}.zip" />
35
+ </target>
36
+
37
+ <target name="get_build_number">
38
+ <property name="version.build" value="${environment::get-variable('CCNetNumericLabel')}" if="${environment::variable-exists('CCNetNumericLabel')}" />
39
+ <property name="version.build" value="${environment::get-variable('BUILD_NUMBER')}" if="${environment::variable-exists('BUILD_NUMBER')}" />
40
+ <echo message="Using build number ${version.build}." />
41
+ </target>
42
+
43
+ <target name="get_revision">
44
+ <nant buildfile="${dirs.build_scripts}\versioners\svn.step" inheritall="true" />
45
+ <property name="version.revision" value="${environment::get-variable('uc.app.revision')}" if="${environment::variable-exists('uc.app.revision')}" />
46
+ <echo message="Using revision number: ${version.revision}." />
47
+ </target>
48
+
49
+ <target name="rename_zip_folder">
50
+ <echo message="Renaming zip file ${zip.file} to ${zip.file.rename}." />
51
+ <move file="${zip.file}" tofile="${zip.file.rename}" />
52
+ </target>
53
+
54
+ </project>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <project name="ZipPreRunner" default="go">
3
+ <!-- Project UppercuT - http://projectuppercut.org -->
4
+ <property name="build.config.settings" value="__NONE__" overwrite="false" />
5
+ <include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
6
+ <property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
7
+ <property name="folder.code_drop" value="code_drop" overwrite="false" />
8
+ <property name="dirs.drop" value="${dirs.current}\..\${folder.code_drop}" overwrite="false" />
9
+ <property name="folder.build_artifacts" value="build_artifacts" overwrite="false" />
10
+ <property name="dirs.drop.build.artifacts" value="${dirs.drop}\${folder.build_artifacts}" overwrite="false" />
11
+ <property name="folder.app.drop" value="app" overwrite="false" />
12
+ <property name="folder.deployment" value="deployment" overwrite="false" />
13
+ <property name="dirs.lib" value="${dirs.current}\..\lib" overwrite="false" />
14
+
15
+ <target name="go" depends="remove_build_artifacts" description="Packaging" />
16
+
17
+ <target name="remove_build_artifacts">
18
+ <echo message="Removing ${dirs.drop.build.artifacts}."/>
19
+ <delete dir="${dirs.drop.build.artifacts}" failonerror="false" />
20
+ </target>
21
+
22
+
23
+ </project>
@@ -0,0 +1,5 @@
1
+ These scripts are meant to be used by organizations that have one place for repositories.
2
+
3
+ These go in a folder that you reference in your Path Variable.
4
+
5
+ These DO NOT go with every project.
@@ -0,0 +1,30 @@
1
+ @echo off
2
+
3
+ SET REPOSITORIES=http://somewhere.com/svn/
4
+ SET TRUNK=trunk
5
+ SET BRANCHES=branches
6
+
7
+ if '%1' == '' goto usage
8
+ if '%2' == '' goto usage
9
+ if '%3' NEQ '' goto usage
10
+ if '%1' == '/?' goto usage
11
+ if '%1' == '-?' goto usage
12
+ if '%1' == '?' goto usage
13
+ if '%1' == '/help' goto usage
14
+
15
+ svn copy %REPOSITORIES%%1/%TRUNK%/ %REPOSITORIES%%1/%BRANCHES%/%2/ -m"Creating a branch for %2."
16
+
17
+ ::svn up
18
+
19
+ if %ERRORLEVEL% NEQ 0 goto usage
20
+
21
+ goto finish
22
+
23
+ :usage
24
+ echo.
25
+ echo Usage: branch.bat repositoryName BranchName
26
+ echo Example branch.bat Bob Feature1
27
+ echo.
28
+ goto finish
29
+
30
+ :finish
@@ -0,0 +1,31 @@
1
+ @echo off
2
+
3
+ SET DEVFOLDER=C:\CODE\
4
+ SET REPOSITORIES=http://somewhere.com/svn/
5
+ SET TRUNK=trunk
6
+ SET BRANCHES=branches
7
+
8
+ if '%1' == '' goto usage
9
+ if '%2' == '' goto usage
10
+ if '%3' NEQ '' goto usage
11
+ if '%1' == '/?' goto usage
12
+ if '%1' == '-?' goto usage
13
+ if '%1' == '?' goto usage
14
+ if '%1' == '/help' goto usage
15
+
16
+ svn copy %REPOSITORIES%%1/%TRUNK%/ %REPOSITORIES%1/%BRANCHES%/%2/ -m"Creating a branch for %2."
17
+
18
+ svn co %REPOSITORIES%%1/%BRANCHES%/%2/ "%DEVFOLDER%\%1-%2"
19
+
20
+ if %ERRORLEVEL% NEQ 0 goto usage
21
+
22
+ goto finish
23
+
24
+ :usage
25
+ echo.
26
+ echo Usage: branchWithCheckout.bat repositoryName BranchName
27
+ echo Example branchWithCheckout.bat Bob Feature1
28
+ echo.
29
+ goto finish
30
+
31
+ :finish
@@ -0,0 +1,28 @@
1
+ @echo off
2
+
3
+ SET DEVFOLDER=C:\CODE\
4
+ SET REPOSITORIES=http://somewhere.com/svn/
5
+ SET BRANCHES=branches
6
+
7
+ if '%1' == '' goto usage
8
+ if '%2' == '' goto usage
9
+ if '%3' NEQ '' goto usage
10
+ if '%1' == '/?' goto usage
11
+ if '%1' == '-?' goto usage
12
+ if '%1' == '?' goto usage
13
+ if '%1' == '/help' goto usage
14
+
15
+ svn co %REPOSITORIES%%1/%BRANCHES%/%2/ "%DEVFOLDER%\%1-%2"
16
+
17
+ if %ERRORLEVEL% NEQ 0 goto usage
18
+
19
+ goto finish
20
+
21
+ :usage
22
+ echo.
23
+ echo Usage: checkoutBranch.bat repositoryName branchName
24
+ echo Example checkout.bat Bob Feature1
25
+ echo.
26
+ goto finish
27
+
28
+ :finish
@@ -0,0 +1,28 @@
1
+ @echo off
2
+
3
+ SET DEVFOLDER=C:\CODE\
4
+ SET REPOSITORIES=http://somewhere.com/svn/
5
+ SET TRUNK=trunk
6
+
7
+ if '%1' == '' goto usage
8
+ if '%2' NEQ '' goto usage
9
+ if '%3' NEQ '' goto usage
10
+ if '%1' == '/?' goto usage
11
+ if '%1' == '-?' goto usage
12
+ if '%1' == '?' goto usage
13
+ if '%1' == '/help' goto usage
14
+
15
+ svn co %REPOSITORIES%%1/%TRUNK%/ "%DEVFOLDER%\%1"
16
+
17
+ if %ERRORLEVEL% NEQ 0 goto usage
18
+
19
+ goto finish
20
+
21
+ :usage
22
+ echo.
23
+ echo Usage: checkoutTrunk.bat repositoryName
24
+ echo Example checkoutTrunk.bat Bob
25
+ echo.
26
+ goto finish
27
+
28
+ :finish
@@ -0,0 +1,23 @@
1
+ @echo off
2
+
3
+ if '%1' == '' goto usage
4
+ if '%2' NEQ '' goto usage
5
+ if '%1' == '/?' goto usage
6
+ if '%1' == '-?' goto usage
7
+ if '%1' == '?' goto usage
8
+ if '%1' == '/help' goto usage
9
+
10
+ svn ci -m%1
11
+
12
+ if %ERRORLEVEL% NEQ 0 goto usage
13
+
14
+ goto finish
15
+
16
+ :usage
17
+ echo.
18
+ echo Usage: commit "message"
19
+ echo Example: commit.bat "This is my check in comment with quotes around it"
20
+ echo.
21
+ goto finish
22
+
23
+ :finish
data/lib/UppercuT.dot ADDED
Binary file
Binary file
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" ?>
2
2
  <uppercut>
3
- <version>0.9.0.321</version>
3
+ <version>0.9.0.325</version>
4
4
  </uppercut>
5
5
 
@@ -94,6 +94,8 @@
94
94
  <nant buildfile="${dirs.current}\environmentBuilder.step" inheritall="true" />
95
95
  <nant buildfile="${dirs.current}\analyze.step" inheritall="true" />
96
96
  <nant buildfile="${dirs.current}\package.step" inheritall="true" />
97
+ <nant buildfile="${dirs.current}\gemsPrepare.step" inheritall="true" />
98
+ <nant buildfile="${dirs.current}\gemsBuild.step" inheritall="true" />
97
99
  </target>
98
100
 
99
101
  <target name="get_revision">
@@ -0,0 +1,113 @@
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
+
113
+ </project>