rakeoff 0.0.2 → 0.0.3

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.
File without changes
File without changes
@@ -1,7 +1,7 @@
1
1
  root_dir = File.expand_path(File.dirname(__FILE__))
2
2
  $: << root_dir
3
3
  $: << File.join(root_dir, 'rakeoff')
4
+ $: << File.join(root_dir, 'rakeoff', 'tasks')
4
5
  $: << File.join(root_dir, 'rakeoff', 'support')
5
6
 
6
- Dir.glob(File.join(root_dir, 'rakeoff/*.rb')).each {|file| require file }
7
-
7
+ Dir.glob(File.join(root_dir, '**/*.rb')).each {|file| require file }
File without changes
@@ -1,15 +1,15 @@
1
1
 
2
2
  class Clean
3
3
 
4
- def initialize(session)
5
- @session = session
4
+ def initialize(output_dir)
5
+ @output_dir = output_dir
6
6
  end
7
7
 
8
8
  def execute()
9
9
  print_heading 'Clean'
10
10
 
11
- puts "Removing and recreating #{@session.output_dir}"
12
- FileUtils.rm_rf @session.output_dir
13
- FileUtils.mkdir_p @session.output_dir + '/release'
11
+ puts "Removing and recreating #{@output_dir}"
12
+ FileUtils.rm_rf @output_dir
13
+ FileUtils.mkdir_p @output_dir + '/release'
14
14
  end
15
15
  end
File without changes
File without changes
@@ -2,14 +2,14 @@ require 'terminal'
2
2
 
3
3
  class Robocopy
4
4
 
5
- def initialize(session)
6
- @session = session
5
+ def initialize(tools_dir)
6
+ @tools_dir = tools_dir
7
7
  end
8
8
 
9
9
  def execute(source, destination, parameters='/MIR /R:5 /W:5 /NP /NFL /NDL')
10
10
  print_heading 'Copying'
11
11
 
12
- status = run_command("#{@session.tools_dir}/robocopy.exe #{source} #{destination} /XD .svn #{parameters}")
12
+ status = run_command("#{@tools_dir}/robocopy.exe #{source} #{destination} /XD .svn #{parameters}")
13
13
  failed = check_status(status)
14
14
 
15
15
  if failed
@@ -6,13 +6,13 @@ require 'yaml'
6
6
  class Session
7
7
  include Logging
8
8
 
9
- # .net build options
9
+ # build options
10
10
  attr_accessor :agent_name, :is_build_agent, :framework_version, :configuration
11
11
 
12
12
  # directories
13
13
  attr_accessor :working_dir, :tools_dir, :output_dir
14
14
 
15
- attr_accessor :solution, :globals, :tokens_pattern
15
+ attr_accessor :solution, :globals_file, :tokens_pattern
16
16
 
17
17
  def set_values
18
18
  print_heading 'Build Info'
@@ -37,8 +37,8 @@ class Session
37
37
  @tools_dir = File.join(@working_dir, '../tools')
38
38
  @output_dir = File.join(@working_dir + '/_output')
39
39
 
40
- @globals = './Globals.config'
41
- @tokens_pattern = '*.master.config'
40
+ @globals_file = './Globals.config'
41
+ @tokens_pattern = '*.master.{^cs}'
42
42
  end
43
43
 
44
44
  def override_defaults_from_yaml
@@ -64,14 +64,13 @@ class Session
64
64
  end
65
65
 
66
66
  def print_session_info
67
- puts "Current Environemnt = #{@environment}"
68
67
  puts "Agent = #{@agent_name}"
69
68
  puts ''
70
69
 
71
70
  puts "Build Framework = #{@framework_version}"
72
71
  puts "Build Configuration = #{@configuration}"
73
72
  puts "Token File Pattern = #{@tokens_pattern}"
74
- puts "Global Tokens File = #{@globals}"
73
+ puts "Global Tokens File = #{@globals_file}"
75
74
  puts ''
76
75
 
77
76
  puts "Output Directory = #{@output_dir}"
File without changes
File without changes
@@ -0,0 +1,15 @@
1
+
2
+ class Tasks
3
+ def initialize
4
+ AspnetCompileTask.new(:aspnetcompile)
5
+ CleanTask.new(:clean)
6
+ TokensTask.new(:tokens)
7
+
8
+ CompileTask.new(:compile, '')
9
+ CompileTask.new(:publish, "/property:OutDir=#{SESSION.output_dir}/publish/")
10
+
11
+ TestsTask.new(:unit_tests, '.Unit.Tests')
12
+ TestsTask.new(:integration_tests, '.Integration.Tests')
13
+ TestsTask.new(:acceptance_tests, '.Acceptance.Tests')
14
+ end
15
+ end
@@ -4,7 +4,7 @@ require 'clean'
4
4
  class CleanTask
5
5
  def initialize(name, options='', *args)
6
6
  body = proc {
7
- task = Clean.new(SESSION)
7
+ task = Clean.new(SESSION.output_dir)
8
8
  task.execute
9
9
  }
10
10
 
@@ -0,0 +1,13 @@
1
+ require 'support/task_helper'
2
+ require 'session'
3
+ require 'tasks'
4
+
5
+ task :off do
6
+ LOGGING_LEVEL = Logger::ERROR
7
+
8
+ SESSION = Session.new
9
+ SESSION.set_values
10
+ SESSION.load_solution
11
+
12
+ Tasks.new
13
+ end
@@ -4,7 +4,7 @@ require 'robocopy'
4
4
  class RobocopyTask
5
5
  def initialize(name, source, destination, parameters='', *args)
6
6
  body = proc {
7
- task = Robocopy.new(SESSION)
7
+ task = Robocopy.new(SESSION.tools_dir)
8
8
  task.execute(source, destination, parameters)
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ require 'tokens'
4
4
  class TokensTask
5
5
  def initialize(name, *args)
6
6
  body = proc {
7
- task = Tokens.new(SESSION, TokensWriter.new)
7
+ task = Tokens.new(SESSION.globals_file, SESSION.tokens_pattern, TokensWriter.new)
8
8
  task.find_and_replace(SESSION.working_dir)
9
9
  }
10
10
 
File without changes
@@ -12,14 +12,19 @@ class NUnit
12
12
  def execute(pattern)
13
13
  print_heading("Tests - #{pattern}")
14
14
 
15
- if(there_are_test_projects(pattern))
16
- sh "#{@session.tools_dir}/nunit/nunit-console.exe #{assemblies} /xml=#{@session.output_dir}/test-reports/nunit.xml"
15
+ if(there_are_test_projects_for(pattern))
16
+ if(ENV["NUNIT_RUNNER"].nil?)
17
+ mkdir_p "#{@session.output_dir}/test-reports"
18
+ sh "#{@session.tools_dir}/nunit/nunit-console.exe #{assemblies} /xml=#{@session.output_dir}/test-reports/nunit.xml"
19
+ else
20
+ sh "#{ENV["NUNIT_RUNNER"]} v4.0 x86 NUnit-2.5.3 #{assemblies}"
21
+ end
17
22
  end
18
23
  end
19
24
 
20
25
  private
21
26
 
22
- def there_are_test_projects(pattern)
27
+ def there_are_test_projects_for(pattern)
23
28
  projects = @session.solution.get_projects(pattern)
24
29
 
25
30
  if(projects.length == 0)
@@ -27,7 +32,6 @@ class NUnit
27
32
  return false
28
33
  end
29
34
 
30
- mkdir_p "#{@session.output_dir}/test-reports"
31
35
  get_assemblies(projects)
32
36
 
33
37
  return true
@@ -36,6 +40,6 @@ class NUnit
36
40
  def get_assemblies(projects)
37
41
  files = []
38
42
  projects.each { |project| files << project.dll_path(@session.configuration) + ' ' }
39
- @assemblies = files.join
43
+ @assemblies = files.join.strip
40
44
  end
41
45
  end
@@ -2,8 +2,9 @@ require 'terminal'
2
2
 
3
3
  class Tokens
4
4
 
5
- def initialize(session, writer)
6
- @session = session
5
+ def initialize(globals_file, tokens_pattern, writer)
6
+ @globals_file = globals_file
7
+ @tokens_pattern = tokens_pattern
7
8
  @writer = writer
8
9
  @globals = {}
9
10
  end
@@ -11,9 +12,9 @@ class Tokens
11
12
  def find_and_replace(path)
12
13
  print_heading 'Tokenising'
13
14
 
14
- read_tokens_file(@session.globals)
15
+ read_tokens_file(@globals_file)
15
16
 
16
- @files = Dir.glob("#{path}/**/#{@session.tokens_pattern}")
17
+ @files = Dir.glob("#{path}/**/#{@tokens_pattern}")
17
18
  puts "#{@files.length} config(s) found for tokenising"
18
19
  puts ''
19
20
 
@@ -5,7 +5,7 @@ class TokensWriter
5
5
  @master_file = master_file
6
6
  @environment = environment
7
7
 
8
- output_file = @master_file.gsub('.master', environment.empty? ? '' : "._#{environment}")
8
+ output_file = @master_file.gsub('.master', environment.empty? ? '' : ".#{environment}")
9
9
  text = File.read(@master_file)
10
10
 
11
11
  check_if_tokens_are_used(text, tokens) if check_usage
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rakeoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,155 +9,110 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-17 00:00:00.000000000 Z
12
+ date: 2012-04-19 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &25612880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - '='
19
+ - - =
20
20
  - !ruby/object:Gem::Version
21
21
  version: 0.9.2.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - '='
28
- - !ruby/object:Gem::Version
29
- version: 0.9.2.2
24
+ version_requirements: *25612880
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: rubyzip
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &25612320 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
- - - '='
30
+ - - =
36
31
  - !ruby/object:Gem::Version
37
32
  version: 0.9.6.1
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - '='
44
- - !ruby/object:Gem::Version
45
- version: 0.9.6.1
35
+ version_requirements: *25612320
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: term-ansicolor
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &25611760 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
- - - '='
41
+ - - =
52
42
  - !ruby/object:Gem::Version
53
43
  version: 1.0.7
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
61
- version: 1.0.7
46
+ version_requirements: *25611760
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: logger
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &25611220 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
- - - '='
52
+ - - =
68
53
  - !ruby/object:Gem::Version
69
54
  version: 1.2.8
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - '='
76
- - !ruby/object:Gem::Version
77
- version: 1.2.8
57
+ version_requirements: *25611220
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: rspec
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &25610700 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
- - - '='
63
+ - - =
84
64
  - !ruby/object:Gem::Version
85
65
  version: 2.9.0
86
66
  type: :development
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - '='
92
- - !ruby/object:Gem::Version
93
- version: 2.9.0
68
+ version_requirements: *25610700
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: mocha
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &25610160 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
- - - '='
74
+ - - =
100
75
  - !ruby/object:Gem::Version
101
76
  version: 0.10.5
102
77
  type: :development
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - '='
108
- - !ruby/object:Gem::Version
109
- version: 0.10.5
79
+ version_requirements: *25610160
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: rdoc
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &25609640 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
- - - '='
85
+ - - =
116
86
  - !ruby/object:Gem::Version
117
87
  version: '3.12'
118
88
  type: :development
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - '='
124
- - !ruby/object:Gem::Version
125
- version: '3.12'
90
+ version_requirements: *25609640
126
91
  - !ruby/object:Gem::Dependency
127
92
  name: bundler
128
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &25609120 !ruby/object:Gem::Requirement
129
94
  none: false
130
95
  requirements:
131
- - - '='
96
+ - - =
132
97
  - !ruby/object:Gem::Version
133
98
  version: 1.1.3
134
99
  type: :development
135
100
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - '='
140
- - !ruby/object:Gem::Version
141
- version: 1.1.3
101
+ version_requirements: *25609120
142
102
  - !ruby/object:Gem::Dependency
143
103
  name: jeweler
144
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &25608600 !ruby/object:Gem::Requirement
145
105
  none: false
146
106
  requirements:
147
- - - '='
107
+ - - =
148
108
  - !ruby/object:Gem::Version
149
109
  version: 1.8.3
150
110
  type: :development
151
111
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - '='
156
- - !ruby/object:Gem::Version
157
- version: 1.8.3
112
+ version_requirements: *25608600
158
113
  - !ruby/object:Gem::Dependency
159
114
  name: simplecov
160
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &25603940 !ruby/object:Gem::Requirement
161
116
  none: false
162
117
  requirements:
163
118
  - - ! '>='
@@ -165,12 +120,7 @@ dependencies:
165
120
  version: '0'
166
121
  type: :development
167
122
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
123
+ version_requirements: *25603940
174
124
  description: A common set of build tasks typically used when creating projects in
175
125
  .Net
176
126
  email: robertbeal@gmail.com
@@ -182,24 +132,25 @@ extra_rdoc_files:
182
132
  files:
183
133
  - lib/rakeoff.rb
184
134
  - lib/rakeoff/aspnetcompile.rb
185
- - lib/rakeoff/aspnetcompile_task.rb
186
135
  - lib/rakeoff/clean.rb
187
- - lib/rakeoff/clean_task.rb
188
136
  - lib/rakeoff/compile.rb
189
- - lib/rakeoff/compile_task.rb
190
- - lib/rakeoff/logging.rb
191
137
  - lib/rakeoff/project.rb
192
138
  - lib/rakeoff/robocopy.rb
193
- - lib/rakeoff/robocopy_task.rb
194
139
  - lib/rakeoff/session.rb
195
- - lib/rakeoff/setup.rb
196
140
  - lib/rakeoff/solution.rb
141
+ - lib/rakeoff/support/logging.rb
197
142
  - lib/rakeoff/support/task_helper.rb
143
+ - lib/rakeoff/tasks.rb
144
+ - lib/rakeoff/tasks/aspnetcompile_task.rb
145
+ - lib/rakeoff/tasks/clean_task.rb
146
+ - lib/rakeoff/tasks/compile_task.rb
147
+ - lib/rakeoff/tasks/off_task.rb
148
+ - lib/rakeoff/tasks/robocopy_task.rb
149
+ - lib/rakeoff/tasks/tests_task.rb
150
+ - lib/rakeoff/tasks/tokens_task.rb
198
151
  - lib/rakeoff/terminal.rb
199
152
  - lib/rakeoff/tests.rb
200
- - lib/rakeoff/tests_task.rb
201
153
  - lib/rakeoff/tokens.rb
202
- - lib/rakeoff/tokens_task.rb
203
154
  - lib/rakeoff/tokens_writer.rb
204
155
  - LICENSE.txt
205
156
  - README.rdoc
@@ -218,7 +169,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
218
169
  version: '0'
219
170
  segments:
220
171
  - 0
221
- hash: 424452616281254389
172
+ hash: 2105016353616213847
222
173
  required_rubygems_version: !ruby/object:Gem::Requirement
223
174
  none: false
224
175
  requirements:
@@ -227,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
227
178
  version: '0'
228
179
  requirements: []
229
180
  rubyforge_project:
230
- rubygems_version: 1.8.21
181
+ rubygems_version: 1.8.17
231
182
  signing_key:
232
183
  specification_version: 3
233
184
  summary: Build tasks for .Net projects
@@ -1,25 +0,0 @@
1
- Dir.glob(File.join(File.expand_path(File.dirname(__FILE__)), '*.rb')).each {|file| require file }
2
-
3
- desc 'Setup this must be run!'
4
- task :off do
5
- LOGGING_LEVEL = Logger::ERROR
6
-
7
- SESSION = Session.new
8
- SESSION.set_values
9
- SESSION.load_solution
10
-
11
- create_tasks
12
- end
13
-
14
- def create_tasks
15
- #AspnetCompileTask.new(:aspnetcompile)
16
- CleanTask.new(:clean)
17
- TokensTask.new(:tokens)
18
-
19
- CompileTask.new(:compile, '')
20
- CompileTask.new(:publish, "/property:OutDir=#{SESSION.output_dir}/publish/")
21
-
22
- TestsTask.new(:unit_tests, '.Unit.Tests')
23
- TestsTask.new(:integration_tests, '.Integration.Tests')
24
- TestsTask.new(:acceptance_tests, '.Acceptance.Tests')
25
- end