uppercutbuild 0.9.0.340 → 0.9.0.345.20100805

Sign up to get free protection for your applications and to get access to all the features.
data/docs/README CHANGED
@@ -41,9 +41,9 @@ This is the best way to get to the bleeding edge of what we are doing.
41
41
  1. Clone the source down to your machine.
42
42
  `git clone git://github.com/chucknorris/uppercut.git`
43
43
  2. Type `cd uppercut`
44
- 3. Type `git config core.autocrlf true` to set line endings to auto convert for this repository
44
+ 3. Type `git config core.autocrlf false` to set line endings to auto convert for this repository
45
45
  4. Type `git status`. You should not see any files to change.
46
- 5. Run `build.bat`. NOTE: You must have git on the path (open a regular command line and type git).
46
+ 5. Run `build.bat`. NOTE: You must have git on the path (open a regular command line and type git).
47
47
 
48
48
 
49
49
  # REQUIREMENTS
@@ -55,7 +55,9 @@ Donations Accepted - If you enjoy using this product or it has saved you time an
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
- =0.9.0.x=
58
+ =0.9.0.345=
59
+ * Fixed general compile issues related to multi-targeting changes from last release (r345)
60
+ * Gems by default are now versioned with datestamp on the end (YYYYMMDD) (r342)
59
61
  * Changed the default test framework to NUnit. (r340)
60
62
  * Changed 'uppercutbuild install to 'uppercutbuild init' (r339)
61
63
 
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" ?>
2
2
  <uppercut>
3
- <version>0.9.0.340</version>
3
+ <version>0.9.0.345</version>
4
4
  </uppercut>
5
5
 
@@ -25,17 +25,19 @@
25
25
  <property name="fail.build.on.error" value="true" />
26
26
 
27
27
  <assemblyfileset id="assemblies.assemblyfileset.testing" basedir="${dirs.build.code}\" >
28
- <exclude name="*Database*dll" />
29
- <exclude name="*.Integration*dll" />
30
- <exclude name="TestFu.dll" />
31
- <include name="*Test*dll" />
32
- <include name="*.Spec*dll" />
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" />
33
34
  </assemblyfileset>
34
35
 
35
36
  <assemblyfileset id="assemblies.assemblyfileset.testing.all" basedir="${dirs.build.code}\" >
36
- <exclude name="TestFu.dll" />
37
- <include name="*Test*dll" />
38
- <include name="*.Spec*dll" />
37
+ <exclude name="lib\**" />
38
+ <exclude name="**\TestFu.dll" />
39
+ <include name="**\*Test*dll" />
40
+ <include name="**\*.Spec*dll" />
39
41
  </assemblyfileset>
40
42
 
41
43
  <target name="go" depends="run_tasks" />
@@ -34,7 +34,8 @@
34
34
  <property name="tests.excluded_categories.comma_separated" value="Database,Integration,Slow,NotWorking" overwrite="false" />
35
35
  <property name="test.args" value="" />
36
36
  <property name="test.args" value="/rt:Text /rnf:mbUnit /rf:&quot;${dirs.ncover_results}&quot; /ec:${tests.excluded_categories.comma_separated}" if="${test.framework=='mbunit2'}" />
37
- <property name="test.args" value="/xml:&quot;${dirs.ncover_results}\nunit-results.xml&quot; /nologo /framework=${microsoft.framework} /exclude:${tests.excluded_categories.comma_separated}" if="${test.framework=='nunit'}" />
37
+ <property name="test.args" value="/xml:&quot;${dirs.ncover_results}\nunit-results.xml&quot; /nologo /exclude:${tests.excluded_categories.comma_separated}" if="${test.framework=='nunit'}" />
38
+ <!--property name="test.args" value="/xml:&quot;${dirs.ncover_results}\nunit-results.xml&quot; /nologo /framework=${microsoft.framework} /exclude:${tests.excluded_categories.comma_separated}" if="${test.framework=='nunit'}" /-->
38
39
  <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
39
40
  <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
40
41
  <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
@@ -94,15 +95,16 @@
94
95
  <foreach item="File" property="dll.filename">
95
96
  <in>
96
97
  <items>
97
- <exclude name="${dirs.build.code}\*Database*dll" />
98
- <exclude name="${dirs.build.code}\*.Integration*dll" />
99
- <exclude name="${dirs.build.code}\TestFu.dll" />
100
- <include name="${dirs.build.code}\*Test*dll" />
101
- <include name="${dirs.build.code}\*Spec*dll" />
98
+ <exclude name="${dirs.build.code}\lib\**" />
99
+ <exclude name="${dirs.build.code}\**\*Database*dll" />
100
+ <exclude name="${dirs.build.code}\**\*.Integration*dll" />
101
+ <exclude name="${dirs.build.code}\**\TestFu.dll" />
102
+ <include name="${dirs.build.code}\**\*Test*dll" />
103
+ <include name="${dirs.build.code}\**\*Spec*dll" />
102
104
  </items>
103
105
  </in>
104
106
  <do>
105
- <property name="dll.names" value="${dll.names + ' ' + path::get-file-name(dll.filename)}" />
107
+ <property name="dll.names" value="${dll.names + ' ' + string::replace(dll.filename,path::get-full-path(dirs.build.code) + '\','') + ''}" />
106
108
  </do>
107
109
  </foreach>
108
110
 
@@ -125,10 +127,10 @@
125
127
  failonerror="false"
126
128
  verbose="true">
127
129
  <assemblies basedir="${dirs.build.code}">
128
- <exclude name="${dirs.build.code}\TestFu.dll" />
129
- <exclude name="${dirs.build.code}\*Test*dll" />
130
- <exclude name="${dirs.build.code}\*Spec*dll" />
131
- <include name="${dirs.build.code}\${project.name}*.dll" />
130
+ <exclude name="${dirs.build.code}\**\TestFu.dll" />
131
+ <exclude name="${dirs.build.code}\**\*Test*dll" />
132
+ <exclude name="${dirs.build.code}\**\*Spec*dll" />
133
+ <include name="${dirs.build.code}\**\${project.name}*.dll" />
132
134
  </assemblies>
133
135
  </ncover>
134
136
  </target>
@@ -22,9 +22,13 @@
22
22
  <property name="dirs.test_results" value="${dirs.build_artifacts}\nunit" overwrite="false" />
23
23
  <property name="file.test_results" value="index" overwrite="false" />
24
24
  <property name="tests.excluded_categories.comma_separated" value="Database,Integration,Slow,NotWorking,Ignore,database,integration,slow,notworking,ignore" overwrite="false" />
25
- <property name="test.args" value="/xml=&quot;${dirs.test_results}\nunit-results.xml&quot; /nologo /framework=${microsoft.framework}" />
25
+ <property name="test.args" value="/xml=&quot;${dirs.test_results}\nunit-results.xml&quot; /nologo" />
26
+ <!--property name="test.args" value="/xml=&quot;${dirs.test_results}\nunit-results.xml&quot; /nologo /framework=${microsoft.framework}" /-->
26
27
  <property name="test.args.exclude" value="/exclude=&quot;${tests.excluded_categories.comma_separated}&quot;" />
27
28
  <property name="app.nunit.console" value="${path::get-full-path(dirs.lib)}\NUnit\nunit-console.exe" overwrite="false" />
29
+ <property name="dlls.test" value="" />
30
+ <property name="tests.ran" value="false" />
31
+
28
32
  <property name="file.custom.step.before" value="${dirs.build_scripts_custom}\${file.current.no_extension}.pre.step" />
29
33
  <property name="file.custom.step.after" value="${dirs.build_scripts_custom}\${file.current.no_extension}.post.step" />
30
34
  <property name="file.custom.step.replace" value="${dirs.build_scripts_custom}\${file.current.no_extension}.replace.step" />
@@ -89,20 +93,21 @@
89
93
  <foreach item="File" property="dll.filename">
90
94
  <in>
91
95
  <items>
92
- <exclude name="${dirs.build.code}\*Database*dll" />
93
- <exclude name="${dirs.build.code}\*.Integration*dll" />
94
- <exclude name="${dirs.build.code}\TestFu.dll" />
95
- <include name="${dirs.build.code}\*Test*dll" />
96
- <include name="${dirs.build.code}\*Spec*dll" />
96
+ <exclude name="${dirs.build.code}\lib\**" />
97
+ <exclude name="${dirs.build.code}\**\*Database*dll" />
98
+ <exclude name="${dirs.build.code}\**\*.Integration*dll" />
99
+ <exclude name="${dirs.build.code}\**\TestFu.dll" />
100
+ <include name="${dirs.build.code}\**\*Test*dll" />
101
+ <include name="${dirs.build.code}\**\*Spec*dll" />
97
102
  </items>
98
103
  </in>
99
104
  <do>
100
- <property name="dll.names" value="${dll.names + ' ' + path::get-file-name(dll.filename)}" />
105
+ <property name="dll.names" value="${dll.names + ' ' + string::replace(dll.filename,path::get-full-path(dirs.build.code) + '\','') + ''}" />
101
106
  </do>
102
107
  </foreach>
103
108
 
104
109
  <property name="dlls.test" value="${dll.names}" />
105
- <echo message="Running NCover against these test dlls - ${dlls.test}." />
110
+ <echo message="Running NUnit against these test dlls - ${dlls.test}." />
106
111
 
107
112
  <property name="args.test_runner" value="${dlls.test} ${test.args} ${test.args.exclude}" />
108
113
  </target>
@@ -113,39 +118,51 @@
113
118
  <foreach item="File" property="dll.filename">
114
119
  <in>
115
120
  <items>
116
- <exclude name="${dirs.build.code}\TestFu.dll" />
117
- <include name="${dirs.build.code}\*Test*dll" />
118
- <include name="${dirs.build.code}\*Spec*dll" />
121
+ <exclude name="${dirs.build.code}\lib\**" />
122
+ <exclude name="${dirs.build.code}\**\TestFu.dll" />
123
+ <include name="${dirs.build.code}\**\*Test*dll" />
124
+ <include name="${dirs.build.code}\**\*Spec*dll" />
119
125
  </items>
120
126
  </in>
121
127
  <do>
122
- <property name="dll.names" value="${dll.names + ' ' + path::get-file-name(dll.filename)}" />
128
+ <property name="dll.names" value="${dll.names + ' ' + string::replace(dll.filename,path::get-full-path(dirs.build.code) + '\','') + ''}" />
123
129
  </do>
124
130
  </foreach>
125
131
 
126
132
  <property name="dlls.test" value="${dll.names}" />
127
- <echo message="Running NCover against these test dlls - ${dlls.test}." />
133
+ <echo message="Running NUnit against these test dlls - ${dlls.test}." />
128
134
 
129
135
  <property name="args.test_runner" value="${dlls.test} ${test.args}" />
130
136
  </target>
131
137
 
132
138
  <target name="run_tests" depends="prepare" description="Running Unit Tests">
133
- <echo message="Running tests using NUnit and putting results in ${dirs.test_results}."/>
134
-
135
- <exec
136
- program="${app.nunit.console}"
137
- workingdir="${dirs.build.code}"
138
- failonerror="true">
139
- <arg value="${args.test_runner}" />
140
- </exec>
139
+
140
+ <if test="${dlls.test !=''}">
141
+ <echo message="Running tests using NUnit and putting results in ${dirs.test_results}."/>
142
+
143
+ <exec
144
+ program="${app.nunit.console}"
145
+ workingdir="${dirs.build.code}"
146
+ failonerror="true">
147
+ <arg value="${args.test_runner}" />
148
+ </exec>
149
+ <property name="tests.ran" value="true" />
150
+
151
+ </if>
152
+ <if test="${dlls.test ==''}">
153
+ <echo message="No test dlls to run against" />
154
+ </if>
155
+
141
156
  </target>
142
157
 
143
158
  <target name="generate_report">
144
- <nunit2report todir="${dirs.test_results}" failonerror="false" >
145
- <fileset>
146
- <include name="${dirs.test_results}\*-results.xml"/>
147
- </fileset>
148
- </nunit2report>
159
+ <if test="${tests.ran}">
160
+ <nunit2report todir="${dirs.test_results}" failonerror="false" >
161
+ <fileset>
162
+ <include name="${dirs.test_results}\*-results.xml"/>
163
+ </fileset>
164
+ </nunit2report>
165
+ </if>
149
166
  </target>
150
167
 
151
168
  <target name="open_results">
@@ -40,7 +40,7 @@
40
40
  <target name="run_tasks">
41
41
  <echo message="Running ${project::get-name()} tasks." />
42
42
  <call target="prepare" if="${target::exists('prepare')}" />
43
- <call target="check_for_multitargeting_and_set_nant_framework_to_last" if="${target::exists('check_for_multitargeting_and_set_nant_framework_to_last')}" />
43
+ <call target="check_for_multitargeting" if="${target::exists('check_for_multitargeting')}" />
44
44
  <call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
45
45
  <call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
46
46
  <call target="run_normal_tasks" if="${not is.replaced}" />
@@ -81,22 +81,16 @@
81
81
  if="${project.name=='__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__'}" />
82
82
  </target>
83
83
 
84
- <target name="check_for_multitargeting_and_set_nant_framework_to_last">
84
+ <target name="check_for_multitargeting">
85
85
  <if test="${string::contains(microsoft.framework,',')}">
86
86
  <echo message="You want to multi target, eh? You passed a comma into the framework: ${microsoft.framework}" />
87
87
  <property name="framework.multitargeting" value="true" />
88
88
  <property name="framework.multitargeting.delimiter" value="," />
89
- <foreach item="String" in="${microsoft.framework}" delim="," property="framework.to.use">
90
- <property name="nant.settings.currentframework" value="${string::trim(framework.to.use)}" />
91
- </foreach>
92
89
  </if>
93
90
  <if test="${string::contains(microsoft.framework,';')}">
94
91
  <echo message="You want to multi target, eh? You passed a semicolon into the framework: ${microsoft.framework}" />
95
92
  <property name="framework.multitargeting" value="true" />
96
93
  <property name="framework.multitargeting.delimiter" value=";" />
97
- <foreach item="String" in="${microsoft.framework}" delim=";" property="framework.to.use">
98
- <property name="nant.settings.currentframework" value="${string::trim(framework.to.use)}" />
99
- </foreach>
100
94
  </if>
101
95
  </target>
102
96
 
@@ -122,6 +116,7 @@
122
116
 
123
117
  <target name="build_dotNet_code_framework">
124
118
  <echo message="Building on ${framework::get-version(microsoft.framework.specific)}" />
119
+ <property name="nant.settings.currentframework" value="${string::trim(microsoft.framework.specific)}" />
125
120
  <!-- nant is retarded - I had to have two of these instead of throwing an if on the outputpath -->
126
121
  <if test="${msbuild.override_output_path}">
127
122
  <msbuild project="${solution.path}" verbosity="minimal">
@@ -129,7 +124,6 @@
129
124
  <property name="OutputPath" value="${msbuild.outputpath}" />
130
125
  <property name="Platform" value="${msbuild.platform}" />
131
126
  <property name="TargetFrameworkVersion" value="v${framework::get-version(microsoft.framework.specific)}" />
132
- <property name="ToolsVersion" value="${framework::get-version(microsoft.framework.specific)}" />
133
127
  </msbuild>
134
128
  </if>
135
129
  <if test="${not msbuild.override_output_path}">
@@ -137,7 +131,6 @@
137
131
  <property name="Configuration" value="${msbuild.configuration}" />
138
132
  <property name="Platform" value="${msbuild.platform}" />
139
133
  <property name="TargetFrameworkVersion" value="v${framework::get-version(microsoft.framework.specific)}" />
140
- <property name="ToolsVersion" value="${framework::get-version(microsoft.framework.specific)}" />
141
134
  </msbuild>
142
135
  </if>
143
136
  </target>
@@ -32,6 +32,7 @@
32
32
  <property name="version.build" value="0" overwrite="false" />
33
33
  <property name="version.revision" value="0" overwrite="false" />
34
34
  <property name="assembly.version.full" value="${version.major}.${version.minor}.${version.build}.${version.revision}" />
35
+ <property name="gem.build.date" value="20100801" overwrite="false" />
35
36
  <property name="file.gems.version" value="${dirs.drop.gems}\VERSION" />
36
37
 
37
38
 
@@ -52,7 +53,7 @@
52
53
  </target>
53
54
 
54
55
  <target name="run_normal_tasks"
55
- depends="prepare, copy_gems_folder, copy_app_drop_to_lib_folder, copy_docs_to_doc_folder, copy_notices_to_doc_folder, generate_version_file"
56
+ depends="prepare, copy_gems_folder, copy_app_drop_to_lib_folder, copy_docs_to_doc_folder, copy_notices_to_doc_folder, update_gem_build_date, generate_version_file"
56
57
  description="Packaging gems." />
57
58
 
58
59
  <target name="prepare">
@@ -125,9 +126,21 @@
125
126
  </copy>
126
127
  </target>
127
128
 
129
+ <target name="update_gem_build_date">
130
+ <property name="gem.current.date" value="${datetime::now()}" />
131
+ <property name="gem.current.date.year" value="${datetime::get-year(gem.current.date)}" />
132
+ <property name="gem.current.date.month" value="${datetime::get-month(gem.current.date)}" />
133
+ <property name="gem.current.date.month" value="${'0' + gem.current.date.month}" if="${string::get-length(gem.current.date.month) == 1}" />
134
+ <property name="gem.current.date.month" value="${'0' + gem.current.date.month}" if="${string::get-length(gem.current.date.month) == 1}" />
135
+ <property name="gem.current.date.day" value="${datetime::get-day(gem.current.date)}" />
136
+ <property name="gem.current.date.day" value="${'0' + gem.current.date.day}" if="${string::get-length(gem.current.date.day) == 1}" />
137
+ <property name="gem.build.date" value="${'' + gem.current.date.year + gem.current.date.month + gem.current.date.day}" />
138
+ </target>
139
+
128
140
  <target name="generate_version_file">
129
- <echo message="Generating ${file.gems.version} with ${assembly.version.full} for the version" />
130
- <echo file="${file.gems.version}" append="false" failonerror="false">${assembly.version.full}</echo>
141
+
142
+ <echo message="Generating ${file.gems.version} with ${assembly.version.full} and ${gem.build.date} for the version" />
143
+ <echo file="${file.gems.version}" append="false" failonerror="false">${assembly.version.full}.${gem.build.date}</echo>
131
144
  </target>
132
145
 
133
146
  <target name="custom_tasks_after">
Binary file
Binary file
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  # spec.bindir = 'bin'
9
9
  # spec.executables << '__REPLACE__'
10
10
 
11
- # spec.add_dependency('log4net','= 1.2.10')
11
+ # spec.add_dependency('log4net','= 1.2.10.0')
12
12
 
13
13
  spec.summary = '__REPLACE__'
14
14
  spec.description = <<-EOF
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uppercutbuild
3
3
  version: !ruby/object:Gem::Version
4
- hash: 687
4
+ hash: 40200385
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
9
  - 0
10
- - 340
11
- version: 0.9.0.340
10
+ - 345
11
+ - 20100805
12
+ version: 0.9.0.345.20100805
12
13
  platform: ruby
13
14
  authors:
14
15
  - Rob "FerventCoder" Reynolds
@@ -17,7 +18,7 @@ autorequire:
17
18
  bindir: bin
18
19
  cert_chain: []
19
20
 
20
- date: 2010-07-19 00:00:00 -05:00
21
+ date: 2010-08-05 00:00:00 -05:00
21
22
  default_executable:
22
23
  dependencies:
23
24
  - !ruby/object:Gem::Dependency
@@ -37,7 +38,7 @@ dependencies:
37
38
  type: :runtime
38
39
  version_requirements: *id001
39
40
  description: |
40
- UppercuT is THE conventional build for .NET!
41
+ UppercuT is THE conventional build for .NET!
41
42
  UppercuT seeks to solve both maintenance concerns and ease of build to help you concentrate on what you really want to do: write code. Upgrading the build should take seconds, not hours. And that is where UppercuT will beat any other automated build system hands down.
42
43
  UppercuT uses conventions and has a simple configuration file for you to edit. Getting from zero to build takes literally less than five minutes. If you are still writing your own build scripts, you are working too hard.
43
44
  UppercuT is extremely powerful because it is customizable and extendable. Every step of the build process is customizable with a pre, post and replace hook.