rakeoff 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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