albacore 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. data/README.markdown +84 -81
  2. data/VERSION +1 -1
  3. data/install_dependencies.rb +10 -10
  4. data/lib/albacore.rb +10 -2
  5. data/lib/albacore/assemblyinfo.rb +100 -100
  6. data/lib/albacore/assemblyinfolanguages/csharpengine.rb +14 -0
  7. data/lib/albacore/assemblyinfolanguages/vbnetengine.rb +14 -0
  8. data/lib/albacore/docu.rb +39 -0
  9. data/lib/albacore/exec.rb +23 -0
  10. data/lib/albacore/expandtemplates.rb +73 -71
  11. data/lib/albacore/msbuild.rb +56 -61
  12. data/lib/albacore/mspectestrunner.rb +44 -42
  13. data/lib/albacore/nant.rb +39 -0
  14. data/lib/albacore/ncoverconsole.rb +68 -61
  15. data/lib/albacore/ncoverreport.rb +56 -55
  16. data/lib/albacore/ncoverreports/assemblyfilter.rb +7 -7
  17. data/lib/albacore/ncoverreports/branchcoverage.rb +7 -7
  18. data/lib/albacore/ncoverreports/classfilter.rb +5 -5
  19. data/lib/albacore/ncoverreports/codecoveragebase.rb +22 -22
  20. data/lib/albacore/ncoverreports/cyclomaticcomplexity.rb +19 -19
  21. data/lib/albacore/ncoverreports/documentfilter.rb +5 -5
  22. data/lib/albacore/ncoverreports/fullcoveragereport.rb +17 -17
  23. data/lib/albacore/ncoverreports/methodcoverage.rb +7 -7
  24. data/lib/albacore/ncoverreports/methodfilter.rb +5 -5
  25. data/lib/albacore/ncoverreports/namespacefilter.rb +5 -5
  26. data/lib/albacore/ncoverreports/reportfilterbase.rb +23 -23
  27. data/lib/albacore/ncoverreports/summaryreport.rb +18 -18
  28. data/lib/albacore/ncoverreports/symbolcoverage.rb +6 -7
  29. data/lib/albacore/ndepend.rb +35 -0
  30. data/lib/albacore/nunittestrunner.rb +36 -35
  31. data/lib/albacore/plink.rb +48 -0
  32. data/lib/albacore/sftp.rb +33 -31
  33. data/lib/albacore/sqlcmd.rb +54 -51
  34. data/lib/albacore/ssh.rb +35 -33
  35. data/lib/albacore/support/albacore_helper.rb +1 -4
  36. data/lib/albacore/support/attrmethods.rb +25 -0
  37. data/lib/albacore/support/failure.rb +17 -17
  38. data/lib/albacore/support/globalconfig.rb +6 -0
  39. data/lib/albacore/support/logging.rb +30 -28
  40. data/lib/albacore/support/runcommand.rb +41 -41
  41. data/lib/albacore/support/yamlconfig.rb +23 -27
  42. data/lib/albacore/unzip.rb +28 -0
  43. data/lib/albacore/xbuild.rb +54 -0
  44. data/lib/albacore/xunittestrunner.rb +40 -43
  45. data/lib/albacore/zipdirectory.rb +72 -63
  46. data/lib/rake/assemblyinfotask.rb +12 -11
  47. data/lib/rake/docutask.rb +17 -0
  48. data/lib/rake/exectask.rb +18 -0
  49. data/lib/rake/expandtemplatestask.rb +12 -11
  50. data/lib/rake/msbuildtask.rb +13 -12
  51. data/lib/rake/mspectask.rb +12 -11
  52. data/lib/rake/nanttask.rb +17 -0
  53. data/lib/rake/ncoverconsoletask.rb +12 -11
  54. data/lib/rake/ncoverreporttask.rb +12 -11
  55. data/lib/rake/ndependtask.rb +23 -0
  56. data/lib/rake/nunittask.rb +12 -11
  57. data/lib/rake/plinktask.rb +23 -0
  58. data/lib/rake/renametask.rb +15 -15
  59. data/lib/rake/sftptask.rb +11 -10
  60. data/lib/rake/sqlcmdtask.rb +13 -12
  61. data/lib/rake/sshtask.rb +11 -10
  62. data/lib/rake/support/albacoretask.rb +16 -15
  63. data/lib/rake/unziptask.rb +17 -0
  64. data/lib/rake/xbuildtask.rb +22 -0
  65. data/lib/rake/xunittask.rb +12 -11
  66. data/lib/rake/ziptask.rb +12 -11
  67. data/rakefile.rb +255 -204
  68. data/spec/assemblyinfo_spec.rb +426 -221
  69. data/spec/assemblyinfotask_spec.rb +21 -21
  70. data/spec/docu_spec.rb +70 -0
  71. data/spec/docutask_spec.rb +39 -0
  72. data/spec/exec_spec.rb +23 -0
  73. data/spec/exectask_spec.rb +31 -0
  74. data/spec/expandtemplates_spec.rb +149 -148
  75. data/spec/expandtemplatestask_spec.rb +21 -21
  76. data/spec/msbuild_spec.rb +150 -139
  77. data/spec/msbuildtask_spec.rb +21 -21
  78. data/spec/mspectask_spec.rb +21 -21
  79. data/spec/nant_spec.rb +101 -0
  80. data/spec/nanttask_spec.rb +31 -0
  81. data/spec/ncoverconsole_spec.rb +253 -221
  82. data/spec/ncoverconsoletask_spec.rb +21 -21
  83. data/spec/ncoverreport_spec.rb +538 -523
  84. data/spec/ncoverreporttask_spec.rb +21 -21
  85. data/spec/ndepend_spec.rb +49 -0
  86. data/spec/{commandtask_spec.rb → ndependtask_spec.rb} +10 -10
  87. data/spec/nunittask_spec.rb +21 -21
  88. data/spec/nunittestrunner_spec.rb +6 -6
  89. data/spec/patches/docu_patch.rb +13 -0
  90. data/spec/patches/system_patch.rb +18 -18
  91. data/spec/patches/tasklib_patch.rb +10 -10
  92. data/spec/plink_spec.rb +61 -0
  93. data/spec/plinktask_spec.rb +31 -0
  94. data/spec/renametask_spec.rb +21 -21
  95. data/spec/sftp_spec.rb +24 -24
  96. data/spec/sftptask_spec.rb +31 -31
  97. data/spec/sqlcmd_spec.rb +118 -120
  98. data/spec/sqlcmdtask_spec.rb +21 -21
  99. data/spec/ssh_spec.rb +36 -37
  100. data/spec/sshtask_spec.rb +29 -29
  101. data/spec/support/TestSolution/NDependProject.xml +315 -0
  102. data/spec/support/TestSolution/TestSolution.XUnitTests/Class1.cs +12 -12
  103. data/spec/support/TestSolution/TestSolution.XUnitTests/FailingTestFixture.cs +14 -0
  104. data/spec/support/TestSolution/TestSolution.XUnitTests/TestSolution.XUnitTests.csproj +1 -0
  105. data/spec/support/TestSolution/TestSolution.build +25 -0
  106. data/spec/support/assemblyinfotester.rb +40 -38
  107. data/spec/support/expandtemplatestestdata.rb +73 -73
  108. data/spec/support/msbuildtestdata.rb +28 -28
  109. data/spec/support/nanttestdata.rb +33 -0
  110. data/spec/support/ncoverconsoletestdata.rb +18 -0
  111. data/spec/support/ncoverreporttestdata.rb +24 -24
  112. data/spec/support/spec_helper.rb +2 -1
  113. data/spec/support/yamlconfig/msbuild.yml +3 -0
  114. data/spec/support/yamlconfig/yaml_autoconfig_test.yml +1 -0
  115. data/spec/support/ziptestdata.rb +11 -6
  116. data/spec/xunit_spec.rb +63 -0
  117. data/spec/xunittask_spec.rb +19 -19
  118. data/spec/yamlconfig_spec.rb +38 -52
  119. data/spec/zip_spec.rb +56 -11
  120. data/spec/ziptask_spec.rb +22 -22
  121. metadata +53 -8
  122. data/lib/albacore/command.rb +0 -23
  123. data/lib/rake/commandtask.rb +0 -16
  124. data/spec/command_spec.rb +0 -23
@@ -1,64 +1,71 @@
1
1
  require 'albacore/support/albacore_helper'
2
2
 
3
3
  class NCoverConsole
4
- include RunCommand
5
- include YAMLConfig
6
-
7
- attr_accessor :output, :testrunner, :working_directory, :cover_assemblies
8
- attr_accessor :ignore_assemblies, :coverage
9
-
10
- def initialize
11
- @output = {}
12
- @testrunner_args = []
13
- @cover_assemblies = []
14
- @ignore_assemblies = []
15
- @coverage = []
16
- super()
17
- end
18
-
19
- def working_directory=(working_dir)
20
- @working_directory = "//working-directory " + working_dir
21
- end
22
-
23
- def run
24
- check_testrunner
25
- return false if @failed
26
-
27
- command_parameters = []
28
- command_parameters << build_output_options(@output) unless @output.nil?
29
- command_parameters << @working_directory unless @working_directory.nil?
30
- command_parameters << build_assembly_list("assemblies", @cover_assemblies) unless @cover_assemblies.empty?
31
- command_parameters << build_assembly_list("exclude-assemblies", @ignore_assemblies) unless @ignore_assemblies.empty?
32
- command_parameters << build_coverage_list(@coverage) unless @coverage.empty?
33
- command_parameters << @testrunner.get_command_line
34
-
35
- result = run_command "NCover.Console", command_parameters.join(" ")
36
-
37
- failure_msg = 'Code Coverage Analysis Failed. See Build Log For Detail.'
38
- fail_with_message failure_msg if !result
39
- end
40
-
41
- def check_testrunner
42
- return if (!@testrunner.nil?)
43
- msg = 'testrunner cannot be nil.'
44
- @logger.info msg
45
- fail
46
- end
47
-
48
- def build_output_options(output)
49
- options = []
50
- output.each do |key, value|
51
- options << "//#{key} #{value}"
52
- end
53
- options.join(" ")
54
- end
55
-
56
- def build_assembly_list(param_name, list)
57
- assembly_list = list.map{|asm| "\"#{asm}\""}.join(';')
58
- "//#{param_name} #{assembly_list}"
59
- end
60
-
61
- def build_coverage_list(coverage)
62
- "//coverage-type \"#{coverage.join(', ')}\""
63
- end
64
- end
4
+ extend AttrMethods
5
+ include RunCommand
6
+ include YAMLConfig
7
+
8
+ attr_accessor :testrunner, :working_directory
9
+ attr_array :cover_assemblies, :ignore_assemblies, :coverage
10
+ attr_hash :output
11
+
12
+ def initialize
13
+ @register_dll = true
14
+ @output = {}
15
+ @cover_assemblies = []
16
+ @ignore_assemblies = []
17
+ @coverage = []
18
+ super()
19
+ end
20
+
21
+ def working_directory=(working_dir)
22
+ @working_directory = "//working-directory " + working_dir
23
+ end
24
+
25
+ def no_registration
26
+ @register_dll = false
27
+ end
28
+
29
+ def run
30
+ check_testrunner
31
+ return false if @failed
32
+
33
+ command_parameters = []
34
+ command_parameters << "//reg" if @register_dll
35
+ command_parameters << build_output_options(@output) unless @output.nil?
36
+ command_parameters << @working_directory unless @working_directory.nil?
37
+ command_parameters << build_assembly_list("assemblies", @cover_assemblies) unless @cover_assemblies.empty?
38
+ command_parameters << build_assembly_list("exclude-assemblies", @ignore_assemblies) unless @ignore_assemblies.empty?
39
+ command_parameters << build_coverage_list(@coverage) unless @coverage.empty?
40
+ command_parameters << @testrunner.get_command_line
41
+
42
+ result = run_command "NCover.Console", command_parameters.join(" ")
43
+
44
+ failure_msg = 'Code Coverage Analysis Failed. See Build Log For Detail.'
45
+ fail_with_message failure_msg if !result
46
+ end
47
+
48
+ def check_testrunner
49
+ return if (!@testrunner.nil?)
50
+ msg = 'testrunner cannot be nil.'
51
+ @logger.info msg
52
+ fail
53
+ end
54
+
55
+ def build_output_options(output)
56
+ options = []
57
+ output.each do |key, value|
58
+ options << "//#{key} #{value}"
59
+ end
60
+ options.join(" ")
61
+ end
62
+
63
+ def build_assembly_list(param_name, list)
64
+ assembly_list = list.map{|asm| "\"#{asm}\""}.join(';')
65
+ "//#{param_name} #{assembly_list}"
66
+ end
67
+
68
+ def build_coverage_list(coverage)
69
+ "//coverage-type \"#{coverage.join(', ')}\""
70
+ end
71
+ end
@@ -2,60 +2,61 @@ Dir.glob(File.join(File.expand_path(File.dirname(__FILE__)), 'ncoverreports/*.rb
2
2
  require 'albacore/support/albacore_helper'
3
3
 
4
4
  class NCoverReport
5
- include RunCommand
6
- include YAMLConfig
7
-
8
- attr_accessor :coverage_files, :reports, :required_coverage, :filters
9
-
10
- def initialize
11
- @coverage_files = []
12
- @reports = []
13
- @required_coverage = []
14
- @filters = []
15
- super()
16
- end
17
-
18
- def run
19
- check_command
20
- return if @failed
21
-
22
- command_parameters = []
23
- command_parameters << build_coverage_files unless @coverage_files.empty?
24
- command_parameters << build_reports unless @reports.empty?
25
- command_parameters << build_required_coverage unless @required_coverage.empty?
26
- command_parameters << build_filters unless @filters.empty?
27
-
28
- result = run_command "NCover.Reporting", command_parameters.join(" ")
29
-
30
- failure_msg = 'Code Coverage Reporting Failed. See Build Log For Detail.'
31
- fail_with_message failure_msg if !result
32
- end
33
-
34
- def check_command
35
- return if @path_to_command
36
- fail_with_message 'NCoverReport.path_to_command cannot be nil.'
37
- end
38
-
39
- def build_filters
40
- @filters.map{|f| "//cf #{f.get_filter_options}"}.join(" ")
41
- end
42
-
43
- def build_coverage_files
44
- @coverage_files.map{|f| "\"#{f}\""}.join(" ")
45
- end
46
-
47
- def build_reports
48
- @reports.map{|r|
49
- report = "//or #{r.report_type}"
50
- report << ":#{r.report_format}" unless r.report_format.nil?
51
- report << ":\"#{r.output_path}\"" unless r.output_path.nil?
52
- report
53
- }.join(" ")
54
- end
5
+ extend AttrMethods
6
+ include RunCommand
7
+ include YAMLConfig
8
+
9
+ attr_array :coverage_files, :reports, :required_coverage, :filters
10
+
11
+ def initialize
12
+ @coverage_files = []
13
+ @reports = []
14
+ @required_coverage = []
15
+ @filters = []
16
+ super()
17
+ end
18
+
19
+ def run
20
+ check_command
21
+ return if @failed
22
+
23
+ command_parameters = []
24
+ command_parameters << build_coverage_files unless @coverage_files.empty?
25
+ command_parameters << build_reports unless @reports.empty?
26
+ command_parameters << build_required_coverage unless @required_coverage.empty?
27
+ command_parameters << build_filters unless @filters.empty?
28
+
29
+ result = run_command "NCover.Reporting", command_parameters.join(" ")
30
+
31
+ failure_msg = 'Code Coverage Reporting Failed. See Build Log For Detail.'
32
+ fail_with_message failure_msg if !result
33
+ end
34
+
35
+ def check_command
36
+ return if @path_to_command
37
+ fail_with_message 'NCoverReport.path_to_command cannot be nil.'
38
+ end
39
+
40
+ def build_filters
41
+ @filters.map{|f| "//cf #{f.get_filter_options}"}.join(" ")
42
+ end
43
+
44
+ def build_coverage_files
45
+ @coverage_files.map{|f| "\"#{f}\""}.join(" ")
46
+ end
47
+
48
+ def build_reports
49
+ @reports.map{|r|
50
+ report = "//or #{r.report_type}"
51
+ report << ":#{r.report_format}" unless r.report_format.nil?
52
+ report << ":\"#{r.output_path}\"" unless r.output_path.nil?
53
+ report
54
+ }.join(" ")
55
+ end
55
56
 
56
- def build_required_coverage
57
- @required_coverage.map{|c|
58
- coverage = "//mc #{c.get_coverage_options}"
59
- }.join(" ")
60
- end
57
+ def build_required_coverage
58
+ @required_coverage.map{|c|
59
+ coverage = "//mc #{c.get_coverage_options}"
60
+ }.join(" ")
61
+ end
61
62
  end
@@ -1,10 +1,10 @@
1
1
  require 'albacore/ncoverreports/reportfilterbase'
2
2
 
3
3
  module NCover
4
- class AssemblyFilter < NCover::ReportFilterBase
5
- def initialize(params={})
6
- super("Assembly", params)
7
- end
8
- end
9
- end
10
-
4
+ class AssemblyFilter < NCover::ReportFilterBase
5
+ def initialize(params={})
6
+ super("Assembly", params)
7
+ end
8
+ end
9
+ end
10
+
@@ -1,10 +1,10 @@
1
1
  require 'albacore/ncoverreports/codecoveragebase'
2
2
 
3
3
  module NCover
4
- class BranchCoverage < NCover::CodeCoverageBase
5
- def initialize(params={})
6
- super("BranchCoverage", params)
7
- end
8
- end
9
- end
10
-
4
+ class BranchCoverage < NCover::CodeCoverageBase
5
+ def initialize(params={})
6
+ super("BranchCoverage", params)
7
+ end
8
+ end
9
+ end
10
+
@@ -1,9 +1,9 @@
1
1
  require 'albacore/ncoverreports/reportfilterbase'
2
2
 
3
3
  module NCover
4
- class ClassFilter < NCover::ReportFilterBase
5
- def initialize(params={})
6
- super("Class", params)
7
- end
8
- end
4
+ class ClassFilter < NCover::ReportFilterBase
5
+ def initialize(params={})
6
+ super("Class", params)
7
+ end
8
+ end
9
9
  end
@@ -1,25 +1,25 @@
1
1
  require 'albacore/support/albacore_helper'
2
2
 
3
3
  module NCover
4
- class CodeCoverageBase
5
- include YAMLConfig
6
-
7
- attr_accessor :coverage_type, :minimum, :item_type
8
-
9
- def initialize(coverage_type, params={})
10
- @coverage_type = coverage_type
11
- @minimum = 0
12
- @item_type = :View
13
- parse_config(params) unless params.nil?
14
- super()
15
- end
16
-
17
- def get_coverage_options
18
- options = "#{@coverage_type}"
19
- options << ":#{@minimum}" unless @minimum.nil?
20
- options << ":#{@item_type}" unless @item_type.nil?
21
- options
22
- end
23
- end
24
- end
25
-
4
+ class CodeCoverageBase
5
+ include YAMLConfig
6
+
7
+ attr_accessor :coverage_type, :minimum, :item_type
8
+
9
+ def initialize(coverage_type, params={})
10
+ @coverage_type = coverage_type
11
+ @minimum = 0
12
+ @item_type = :View
13
+ parse_config(params) unless params.nil?
14
+ super()
15
+ end
16
+
17
+ def get_coverage_options
18
+ options = "#{@coverage_type}"
19
+ options << ":#{@minimum}" unless @minimum.nil?
20
+ options << ":#{@item_type}" unless @item_type.nil?
21
+ options
22
+ end
23
+ end
24
+ end
25
+
@@ -1,23 +1,23 @@
1
1
  require 'albacore/support/albacore_helper'
2
2
 
3
3
  module NCover
4
- class CyclomaticComplexity
5
- include YAMLConfig
6
-
7
- attr_accessor :maximum, :item_type
8
-
9
- def initialize(params={})
10
- @maximum = 100
11
- @item_type = :View
12
- parse_config(params) unless params.nil?
13
- super()
14
- end
15
-
16
- def get_coverage_options
17
- options = "CyclomaticComplexity"
18
- options << ":#{maximum}" unless maximum.nil?
19
- options << ":#{item_type}" unless item_type.nil?
20
- options
21
- end
22
- end
4
+ class CyclomaticComplexity
5
+ include YAMLConfig
6
+
7
+ attr_accessor :maximum, :item_type
8
+
9
+ def initialize(params={})
10
+ @maximum = 100
11
+ @item_type = :View
12
+ parse_config(params) unless params.nil?
13
+ super()
14
+ end
15
+
16
+ def get_coverage_options
17
+ options = "CyclomaticComplexity"
18
+ options << ":#{maximum}" unless maximum.nil?
19
+ options << ":#{item_type}" unless item_type.nil?
20
+ options
21
+ end
22
+ end
23
23
  end
@@ -1,9 +1,9 @@
1
1
  require 'albacore/ncoverreports/reportfilterbase'
2
2
 
3
3
  module NCover
4
- class DocumentFilter < NCover::ReportFilterBase
5
- def initialize(params={})
6
- super("Document", params)
7
- end
8
- end
4
+ class DocumentFilter < NCover::ReportFilterBase
5
+ def initialize(params={})
6
+ super("Document", params)
7
+ end
8
+ end
9
9
  end
@@ -1,21 +1,21 @@
1
1
  require 'albacore/support/albacore_helper'
2
2
 
3
3
  module NCover
4
- class FullCoverageReport
5
- include YAMLConfig
6
-
7
- attr_accessor :output_path
8
-
9
- def initialize
10
- super()
11
- end
12
-
13
- def report_type
14
- :FullCoverageReport
15
- end
16
-
17
- def report_format
18
- :Html
19
- end
20
- end
4
+ class FullCoverageReport
5
+ include YAMLConfig
6
+
7
+ attr_accessor :output_path
8
+
9
+ def initialize
10
+ super()
11
+ end
12
+
13
+ def report_type
14
+ :FullCoverageReport
15
+ end
16
+
17
+ def report_format
18
+ :Html
19
+ end
20
+ end
21
21
  end