albacore 0.1.1 → 0.1.2

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.
Files changed (68) hide show
  1. data/EULA.txt +1 -1
  2. data/VERSION +1 -1
  3. data/lib/albacore.rb +4 -4
  4. data/lib/albacore/ncoverconsole.rb +4 -4
  5. data/lib/albacore/ncoverreport.rb +3 -3
  6. data/lib/albacore/ndepend.rb +3 -3
  7. data/lib/albacore/nunittestrunner.rb +1 -1
  8. data/lib/albacore/plink.rb +4 -3
  9. data/lib/albacore/renamer.rb +17 -0
  10. data/lib/albacore/sqlcmd.rb +3 -3
  11. data/lib/albacore/support/failure.rb +1 -8
  12. data/lib/rake/assemblyinfotask.rb +2 -16
  13. data/lib/rake/docutask.rb +2 -16
  14. data/lib/rake/exectask.rb +3 -18
  15. data/lib/rake/expandtemplatestask.rb +2 -15
  16. data/lib/rake/msbuildtask.rb +2 -17
  17. data/lib/rake/mspectask.rb +2 -16
  18. data/lib/rake/nanttask.rb +2 -16
  19. data/lib/rake/ncoverconsoletask.rb +3 -17
  20. data/lib/rake/ncoverreporttask.rb +3 -17
  21. data/lib/rake/ndependtask.rb +3 -21
  22. data/lib/rake/nunittask.rb +3 -17
  23. data/lib/rake/plinktask.rb +3 -23
  24. data/lib/rake/renametask.rb +2 -19
  25. data/lib/rake/sftptask.rb +3 -16
  26. data/lib/rake/sqlcmdtask.rb +2 -16
  27. data/lib/rake/sshtask.rb +2 -15
  28. data/lib/rake/support/albacoretask.rb +16 -6
  29. data/lib/rake/support/createtask.rb +20 -0
  30. data/lib/rake/unziptask.rb +2 -16
  31. data/lib/rake/xbuildtask.rb +4 -19
  32. data/lib/rake/xunittask.rb +2 -16
  33. data/lib/rake/ziptask.rb +2 -16
  34. data/rakefile.rb +6 -6
  35. data/spec/assemblyinfo_spec.rb +2 -0
  36. data/spec/assemblyinfotask_spec.rb +13 -12
  37. data/spec/createtask_spec.rb +70 -0
  38. data/spec/docutask_spec.rb +34 -21
  39. data/spec/exec_spec.rb +2 -1
  40. data/spec/exectask_spec.rb +25 -10
  41. data/spec/expandtemplatestask_spec.rb +25 -10
  42. data/spec/msbuild_spec.rb +2 -1
  43. data/spec/msbuildtask_spec.rb +25 -10
  44. data/spec/mspectask_spec.rb +25 -10
  45. data/spec/nant_spec.rb +2 -1
  46. data/spec/nanttask_spec.rb +24 -9
  47. data/spec/ncoverconsole_spec.rb +16 -8
  48. data/spec/ncoverconsoletask_spec.rb +25 -10
  49. data/spec/ncoverreport_spec.rb +27 -13
  50. data/spec/ncoverreporttask_spec.rb +25 -10
  51. data/spec/ndepend_spec.rb +3 -1
  52. data/spec/ndependtask_spec.rb +37 -22
  53. data/spec/nunittask_spec.rb +25 -10
  54. data/spec/nunittestrunner_spec.rb +3 -3
  55. data/spec/patches/fail_patch.rb +9 -0
  56. data/spec/plink_spec.rb +1 -0
  57. data/spec/plinktask_spec.rb +37 -22
  58. data/spec/renametask_spec.rb +13 -11
  59. data/spec/sftptask_spec.rb +11 -10
  60. data/spec/sqlcmd_spec.rb +4 -2
  61. data/spec/sqlcmdtask_spec.rb +11 -10
  62. data/spec/sshtask_spec.rb +11 -10
  63. data/spec/support/spec_helper.rb +2 -1
  64. data/spec/xunit_spec.rb +2 -2
  65. data/spec/xunittask_spec.rb +11 -10
  66. data/spec/ziptask_spec.rb +12 -11
  67. metadata +10 -7
  68. data/spec/patches/tasklib_patch.rb +0 -12
@@ -1,20 +1,3 @@
1
- require 'rake/tasklib'
2
-
3
- def rename(name=:rename, *args, &block)
4
- Albacore::RenameTask.new(name, *args, &block)
5
- end
6
-
7
- module Albacore
8
- class RenameTask < Albacore::AlbacoreTask
9
- attr_accessor :actual_name, :target_name
10
-
11
- def execute(name, task_args)
12
- @block.call(self, *task_args) unless @block.nil?
13
- if (@actual_name.nil? || @target_name.nil?)
14
- fail
15
- else
16
- File.rename(@actual_name, @target_name)
17
- end
18
- end
19
- end
1
+ create_task :rename, Renamer.new do |ren|
2
+ ren.rename
20
3
  end
@@ -1,16 +1,3 @@
1
- require 'rake/tasklib'
2
-
3
- def sftp(name=:sftp, *args, &block)
4
- Albacore::SftpTask.new(name, *args, &block)
5
- end
6
-
7
- module Albacore
8
- class SftpTask < Albacore::AlbacoreTask
9
- def execute(name, task_args)
10
- @sftp = Sftp.new
11
- @sftp.load_config_by_task_name(name)
12
- @block.call(@sftp, *task_args) unless @block.nil?
13
- @sftp.upload
14
- end
15
- end
16
- end
1
+ create_task :sftp, Sftp.new do |cmd|
2
+ cmd.upload
3
+ end
@@ -1,17 +1,3 @@
1
- require 'rake/tasklib'
2
-
3
- def sqlcmd(name=:sqlcmd, *args, &block)
4
- Albacore::SQLCmdTask.new(name, *args, &block)
5
- end
6
-
7
- module Albacore
8
- class SQLCmdTask < Albacore::AlbacoreTask
9
- def execute(name, task_args)
10
- @sqlcmd = SQLCmd.new
11
- @sqlcmd.load_config_by_task_name(name)
12
- @block.call(@sqlcmd, *task_args) unless @block.nil?
13
- @sqlcmd.run
14
- fail if @sqlcmd.failed
15
- end
16
- end
1
+ create_task :sqlcmd, SQLCmd.new do |cmd|
2
+ cmd.run
17
3
  end
@@ -1,16 +1,3 @@
1
- require 'rake/tasklib'
2
-
3
- def ssh(name=:ssh, *args, &block)
4
- Albacore::SshTask.new(name, *args, &block)
5
- end
6
-
7
- module Albacore
8
- class SshTask < Albacore::AlbacoreTask
9
- def execute(name, task_args)
10
- @ssh = Ssh.new
11
- @ssh.load_config_by_task_name(name)
12
- @block.call(@ssh, *task_args) unless @block.nil?
13
- @ssh.execute
14
- end
15
- end
1
+ create_task :ssh, Ssh.new do |cmd|
2
+ cmd.execute
16
3
  end
@@ -6,15 +6,25 @@ module Albacore
6
6
 
7
7
  def initialize(name, *args, &block)
8
8
  @block = block
9
- @args = args.insert(0, name)
10
- @name = name
11
- define
9
+ args = args.insert(0, name)
10
+ define name, args
12
11
  end
13
12
 
14
- def define
15
- task *@args do |task, task_args|
16
- execute @name.to_s, task_args
13
+ def define(name, args)
14
+ task *args do |task, task_args|
15
+ @task_args = task_args
16
+ execute name.to_s
17
17
  end
18
18
  end
19
+
20
+ def call_task_block(obj)
21
+ if !@block.nil?
22
+ if @block.arity == 1
23
+ @block.call(obj)
24
+ else
25
+ @block.call(obj, @task_args)
26
+ end
27
+ end
28
+ end
19
29
  end
20
30
  end
@@ -0,0 +1,20 @@
1
+ def create_task(taskname, task_object, &execute_body)
2
+ taskclass = :"Albacore_TaskFor_#{taskname}"
3
+ taskmethod = taskname.to_s.downcase.to_sym
4
+
5
+ Object.class_eval(<<-EOF, __FILE__, __LINE__)
6
+ def #{taskmethod}(name=:#{taskname}, *args, &block)
7
+ Albacore.const_get("#{taskclass}").new(name, *args, &block)
8
+ end
9
+ EOF
10
+
11
+ Albacore.class_eval do
12
+ const_set(taskclass, Class.new(Albacore::AlbacoreTask) do
13
+ define_method :execute do |name|
14
+ task_object.load_config_by_task_name(name)
15
+ call_task_block(task_object)
16
+ execute_body.call(task_object) unless execute_body.nil?
17
+ end
18
+ end)
19
+ end
20
+ end
@@ -1,17 +1,3 @@
1
- require 'rake/tasklib'
2
-
3
- def unzip(name=:unzip, *args, &block)
4
- Albacore::UnZipTask.new(name, *args, &block)
5
- end
6
-
7
- module Albacore
8
- class UnZipTask < Albacore::AlbacoreTask
9
- def execute(name, task_args)
10
- @zip = Unzip.new
11
- @zip.load_config_by_task_name(name)
12
- @block.call(@zip, *task_args) unless @block.nil?
13
- @zip.unzip
14
- fail if @zip.failed
15
- end
16
- end
1
+ create_task :unzip, Unzip.new do |zip|
2
+ zip.unzip
17
3
  end
@@ -1,22 +1,7 @@
1
- require 'rake/tasklib'
2
-
3
- def xbuild(name=:xbuild, *args, &block)
4
- Albacore::XBuildTask.new(name, *args, &block)
1
+ create_task :xbuild, XBuild.new do |xb|
2
+ xb.build
5
3
  end
6
4
 
7
- def mono(name=:mono, *args, &block)
8
- Albacore::XBuildTask.new(name, *args, &block)
9
- end
10
-
11
- module Albacore
12
- class XBuildTask < Albacore::AlbacoreTask
13
- def execute(name, task_args)
14
- @xbuild = XBuild.new
15
- @xbuild.load_config_by_task_name(name)
16
- @block.call(@xbuild, *task_args) unless @block.nil?
17
- @xbuild.build
18
- fail if @xbuild.failed
19
- end
20
- end
21
-
5
+ create_task :mono, XBuild.new do |xb|
6
+ xb.build
22
7
  end
@@ -1,17 +1,3 @@
1
- require 'rake/tasklib'
2
-
3
- def xunit(name=:xunit, *args, &block)
4
- Albacore::XUnitTask.new(name, *args, &block)
5
- end
6
-
7
- module Albacore
8
- class XUnitTask < Albacore::AlbacoreTask
9
- def execute(name, task_args)
10
- @xunit = XUnitTestRunner.new
11
- @xunit.load_config_by_task_name(name)
12
- @block.call(@xunit, *task_args) unless @block.nil?
13
- @xunit.execute
14
- fail if @xunit.failed
15
- end
16
- end
1
+ create_task :xunit, XUnitTestRunner.new do |x|
2
+ x.execute
17
3
  end
@@ -1,17 +1,3 @@
1
- require 'rake/tasklib'
2
-
3
- def zip(name=:zip, *args, &block)
4
- Albacore::ZipTask.new(name, *args, &block)
5
- end
6
-
7
- module Albacore
8
- class ZipTask < Albacore::AlbacoreTask
9
- def execute(name, task_args)
10
- @zip = ZipDirectory.new
11
- @zip.load_config_by_task_name(name)
12
- @block.call(@zip, *task_args) unless @block.nil?
13
- @zip.package
14
- fail if @zip.failed
15
- end
16
- end
1
+ create_task :zip, ZipDirectory.new do |z|
2
+ z.package
17
3
  end
@@ -1,3 +1,5 @@
1
+ require 'lib/albacore'
2
+
1
3
  task :default => ['albacore:sample']
2
4
 
3
5
  namespace :specs do
@@ -134,8 +136,6 @@ namespace :specs do
134
136
  end
135
137
 
136
138
  namespace :albacore do
137
- require 'lib/albacore'
138
-
139
139
  #global configuration options
140
140
  Albacore::yaml_config_folder = "spec/support/yamlconfig"
141
141
  Albacore::log_level = :verbose
@@ -151,7 +151,7 @@ namespace :albacore do
151
151
  'albacore:xunit']
152
152
 
153
153
  desc "Run a sample MSBuild with YAML autoconfig"
154
- msbuild
154
+ msbuild :msbuild
155
155
 
156
156
  desc "Run a sample assembly info generator"
157
157
  assemblyinfo do |asm|
@@ -258,11 +258,11 @@ namespace :jeweler do
258
258
  require 'jeweler'
259
259
  Jeweler::Tasks.new do |gs|
260
260
  gs.name = "albacore"
261
- gs.summary = "A Suite of Rake Build Tasks For .Net Solutions"
262
- gs.description = "Easily build your .NET solutions with rake, using this suite of rake tasks."
261
+ gs.summary = "Dolphin-Safe Rake Tasks For .NET Systems"
262
+ gs.description = "Easily build your .NET solutions with Ruby and Rake, using this suite of Rake tasks."
263
263
  gs.email = "derickbailey@gmail.com"
264
264
  gs.homepage = "http://albacorebuild.net"
265
- gs.authors = ["Derick Bailey", "Ben Hall", "Steven Harman"]
265
+ gs.authors = ["Derick Bailey", "Ben Hall"]
266
266
  gs.has_rdoc = false
267
267
  gs.files.exclude("albacore.gemspec", ".gitignore", "spec/support/Tools")
268
268
 
@@ -46,6 +46,8 @@ describe AssemblyInfo, "when generating an assembly info file without an output
46
46
  before :all do
47
47
  @tester = AssemblyInfoTester.new
48
48
  asm = AssemblyInfo.new
49
+ asm.extend(FailPatch)
50
+
49
51
  strio = StringIO.new
50
52
  asm.log_device = strio
51
53
 
@@ -1,15 +1,15 @@
1
1
  require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
2
2
  require 'albacore/assemblyinfo'
3
3
  require 'rake/assemblyinfotask'
4
- require 'tasklib_patch'
4
+ require 'fail_patch'
5
5
 
6
- describe Albacore::AssemblyInfoTask, "when running" do
6
+ describe "when running" do
7
7
  before :all do
8
- @task = Albacore::AssemblyInfoTask.new(:task) do |t|
9
- @yielded_object = t
10
- end
11
- @task.extend(TasklibPatch)
12
- Rake::Task["task"].invoke
8
+ assemblyinfo :assemblyinfo do |asm|
9
+ asm.extend(FailPatch)
10
+ @yielded_object = asm
11
+ end
12
+ Rake::Task["assemblyinfo"].invoke
13
13
  end
14
14
 
15
15
  it "should yield the assembly info api" do
@@ -17,15 +17,16 @@ describe Albacore::AssemblyInfoTask, "when running" do
17
17
  end
18
18
  end
19
19
 
20
- describe Albacore::AssemblyInfoTask, "when execution fails" do
20
+ describe "when execution fails" do
21
21
  before :all do
22
- @task = Albacore::AssemblyInfoTask.new(:failingtask)
23
- @task.extend(TasklibPatch)
24
- @task.fail
22
+ assemblyinfo :failingtask do |asm|
23
+ asm.extend(FailPatch)
24
+ asm.fail
25
+ end
25
26
  Rake::Task["failingtask"].invoke
26
27
  end
27
28
 
28
29
  it "should fail the rake task" do
29
- @task.task_failed.should == true
30
+ $task_failed.should == true
30
31
  end
31
32
  end
@@ -0,0 +1,70 @@
1
+ require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
2
+ require 'albacore/support/albacore_helper'
3
+ require 'fail_patch'
4
+
5
+ class SampleObject
6
+ include Failure
7
+ include YAMLConfig
8
+ end
9
+
10
+ describe "when defining a task" do
11
+ before :all do
12
+ @sample_object = SampleObject.stub_instance()
13
+ @sample_object.stub_method(:load_config_by_task_name){ |name|
14
+ @task_name = name
15
+ }
16
+ create_task :sampletask, @sample_object do |obj|
17
+ @task_obj = obj
18
+ end
19
+
20
+ sampletask :sample do |x|
21
+ x.extend(FailPatch)
22
+ @config_obj = x
23
+ end
24
+ Rake::Task[:sample].invoke
25
+ end
26
+
27
+ it "should yield the object for configuration" do
28
+ @config_obj.should == @sample_object
29
+ end
30
+
31
+ it "should yield the object for execution" do
32
+ @task_obj.should == @sample_object
33
+ end
34
+
35
+ it "should call the yaml configuration by task name" do
36
+ @task_name.should == "sample"
37
+ end
38
+ end
39
+
40
+ describe "when execution fails" do
41
+ before :all do
42
+ create_task :failing_task, SampleObject.new
43
+
44
+ failing_task :sample_fail do |x|
45
+ x.extend(FailPatch)
46
+ x.fail
47
+ end
48
+ Rake::Task[:sample_fail].invoke
49
+ end
50
+
51
+ it "should fail the rake task" do
52
+ $task_failed.should == true
53
+ end
54
+ end
55
+
56
+ describe "when task args are used" do
57
+ before :all do
58
+ create_task :task_with_args, SampleObject.new
59
+
60
+ task_with_args :sampletask_withargs, [:arg1] do |t, args|
61
+ t.extend(FailPatch)
62
+ @args = args
63
+ end
64
+ Rake::Task[:sampletask_withargs].invoke("test")
65
+ end
66
+
67
+ it "should provide the task args" do
68
+ @args.arg1.should == "test"
69
+ end
70
+ end
@@ -1,19 +1,18 @@
1
1
  require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
2
2
  require 'albacore/docu'
3
3
  require 'rake/docutask'
4
- require 'tasklib_patch'
4
+ require 'fail_patch'
5
+ require 'system_patch'
5
6
  require 'docu_patch'
6
7
 
7
- describe Albacore::DocuTask, "when running" do
8
+ describe "when running" do
8
9
  before :all do
9
- task = Albacore::DocuTask.new(:successful_task) do |t|
10
- t.assemblies << 'test.dll'
11
- t.command_result = true
12
- @yielded_object = t
13
- end
14
-
15
- task.extend(TasklibPatch)
16
- Rake::Task[:successful_task].invoke
10
+ docu :docu do |d|
11
+ d.assemblies 'test.dll'
12
+ d.command_result = true
13
+ @yielded_object = d
14
+ end
15
+ Rake::Task[:docu].invoke
17
16
  end
18
17
 
19
18
  it "should yield the docu api" do
@@ -21,19 +20,33 @@ describe Albacore::DocuTask, "when running" do
21
20
  end
22
21
  end
23
22
 
24
- describe Albacore::DocuTask, "when execution fails" do
23
+ describe "when execution fails" do
25
24
  before :all do
26
- @task = Albacore::DocuTask.new(:failing_task) do |t|
27
- t.command_result = false
28
- t.assemblies << 'test.dll'
29
- end
30
-
31
- @task.extend(TasklibPatch)
32
-
33
- Rake::Task[:failing_task].invoke
25
+ docu :docu_fail do |d|
26
+ d.extend(FailPatch)
27
+ d.assemblies 'test.dll'
28
+ d.command_result = true
29
+ d.fail
30
+ end
31
+ Rake::Task[:docu_fail].invoke
34
32
  end
35
33
 
36
34
  it "should fail the rake task" do
37
- @task.task_failed.should == true
35
+ $task_failed.should be_true
38
36
  end
39
- end
37
+ end
38
+
39
+ describe "when task args are used" do
40
+ before :all do
41
+ docu :docutask_withargs, [:arg1] do |d, args|
42
+ d.assemblies 'test.dll'
43
+ d.command_result = true
44
+ @args = args
45
+ end
46
+ Rake::Task["docutask_withargs"].invoke("test")
47
+ end
48
+
49
+ it "should provide the task args" do
50
+ @args.arg1.should == "test"
51
+ end
52
+ end