albacore 0.0.9 → 0.1.0

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 (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,10 +1,10 @@
1
1
  require 'albacore/ncoverreports/codecoveragebase'
2
2
 
3
3
  module NCover
4
- class MethodCoverage < NCover::CodeCoverageBase
5
- def initialize(params={})
6
- super("MethodCoverage", params)
7
- end
8
- end
9
- end
10
-
4
+ class MethodCoverage < NCover::CodeCoverageBase
5
+ def initialize(params={})
6
+ super("MethodCoverage", 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 MethodFilter < NCover::ReportFilterBase
5
- def initialize(params={})
6
- super("Method", params)
7
- end
8
- end
4
+ class MethodFilter < NCover::ReportFilterBase
5
+ def initialize(params={})
6
+ super("Method", params)
7
+ end
8
+ end
9
9
  end
@@ -1,9 +1,9 @@
1
1
  require 'albacore/ncoverreports/reportfilterbase'
2
2
 
3
3
  module NCover
4
- class NamespaceFilter < NCover::ReportFilterBase
5
- def initialize(params={})
6
- super("Namespace", params)
7
- end
8
- end
4
+ class NamespaceFilter < NCover::ReportFilterBase
5
+ def initialize(params={})
6
+ super("Namespace", params)
7
+ end
8
+ end
9
9
  end
@@ -1,26 +1,26 @@
1
1
  require 'albacore/support/albacore_helper'
2
2
 
3
3
  module NCover
4
- class ReportFilterBase
5
- include YAMLConfig
6
-
7
- attr_accessor :filter, :filter_type, :item_type, :is_regex
8
-
9
- def initialize(item_type, params={})
10
- @filter = ""
11
- @item_type = item_type
12
- @is_regex = false
13
- @filter_type = :exclude
14
- parse_config(params) unless params.nil?
15
- super()
16
- end
17
-
18
- def get_filter_options
19
- filter = "\"#{@filter}\""
20
- filter << ":#{@item_type}"
21
- filter << ":#{@is_regex}"
22
- filter << ":#{(@filter_type == :include)}"
23
- filter
24
- end
25
- end
26
- end
4
+ class ReportFilterBase
5
+ include YAMLConfig
6
+
7
+ attr_accessor :filter, :filter_type, :item_type, :is_regex
8
+
9
+ def initialize(item_type, params={})
10
+ @filter = ""
11
+ @item_type = item_type
12
+ @is_regex = false
13
+ @filter_type = :exclude
14
+ parse_config(params) unless params.nil?
15
+ super()
16
+ end
17
+
18
+ def get_filter_options
19
+ filter = "\"#{@filter}\""
20
+ filter << ":#{@item_type}"
21
+ filter << ":#{@is_regex}"
22
+ filter << ":#{(@filter_type == :include)}"
23
+ filter
24
+ end
25
+ end
26
+ end
@@ -1,22 +1,22 @@
1
1
  require 'albacore/support/albacore_helper'
2
2
 
3
3
  module NCover
4
- class SummaryReport
5
- include YAMLConfig
6
-
7
- attr_accessor :output_path
8
-
9
- def initialize
10
- @report_format = :Xml
11
- super()
12
- end
13
-
14
- def report_type
15
- :Summary
16
- end
17
-
18
- def report_format
19
- :Html
20
- end
21
- end
4
+ class SummaryReport
5
+ include YAMLConfig
6
+
7
+ attr_accessor :output_path
8
+
9
+ def initialize
10
+ @report_format = :Xml
11
+ super()
12
+ end
13
+
14
+ def report_type
15
+ :Summary
16
+ end
17
+
18
+ def report_format
19
+ :Html
20
+ end
21
+ end
22
22
  end
@@ -1,10 +1,9 @@
1
1
  require 'albacore/ncoverreports/codecoveragebase'
2
2
 
3
3
  module NCover
4
- class SymbolCoverage < NCover::CodeCoverageBase
5
- def initialize(params={})
6
- super("SymbolCoverage", params)
7
- end
8
- end
9
- end
10
-
4
+ class SymbolCoverage < NCover::CodeCoverageBase
5
+ def initialize(params={})
6
+ super("SymbolCoverage", params)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,35 @@
1
+ require "albacore/support/albacore_helper"
2
+ class NDepend
3
+ include RunCommand
4
+ include Logging
5
+ include YAMLConfig
6
+
7
+ attr_accessor :path_to_command, :project_file , :parameters
8
+ def initialize()
9
+ super()
10
+ @parameters =[]
11
+ @require_valid_command = true
12
+ end
13
+
14
+ def run
15
+ check_comand
16
+ return if @failed
17
+ result = run_command @path_to_command, create_parameters
18
+ failure_message = 'Command Failed. See Build Log For Detail'
19
+ fail_with_message failure_message if !result
20
+ end
21
+
22
+ def create_parameters
23
+ params = []
24
+ params << File.expand_path( @project_file)
25
+ params << @parameters.join(" ")
26
+ @logger.debug "NDependConsole Parameters" + @parameters.join(" ")
27
+ return params
28
+ end
29
+
30
+ def check_comand
31
+ return if @project_file
32
+ fail_with_message 'A ndepend project file is required'
33
+ end
34
+
35
+ end
@@ -1,39 +1,40 @@
1
1
  require 'albacore/support/albacore_helper'
2
2
 
3
3
  class NUnitTestRunner
4
- include RunCommand
5
- include YAMLConfig
6
-
7
- attr_accessor :path_to_command, :assemblies, :options
8
-
9
- def initialize(path_to_command='')
10
- @path_to_command = path_to_command
11
- @options=[]
12
- @assemblies=[]
13
- super()
14
- end
15
-
16
- def get_command_line
17
- command_params = []
18
- command_params << @path_to_command
19
- command_params << get_command_parameters
20
- commandline = command_params.join(" ")
21
- @logger.debug "Build NUnit Test Runner Command Line: " + commandline
22
- commandline
23
- end
24
-
25
- def get_command_parameters
26
- command_params = []
27
- command_params << @assemblies.join(" ") unless @assemblies.nil?
28
- command_params << @options.join(" ") unless @options.nil?
29
- command_params
30
- end
31
-
32
- def execute()
33
- command_params = get_command_parameters
34
- result = run_command "NUnit", command_params.join(" ")
35
-
36
- failure_message = 'NUnit Failed. See Build Log For Detail'
37
- fail_with_message failure_message if !result
38
- end
4
+ extend AttrMethods
5
+ include RunCommand
6
+ include YAMLConfig
7
+
8
+ attr_array :assemblies, :options
9
+
10
+ def initialize(path_to_command='')
11
+ @path_to_command = path_to_command
12
+ @options=[]
13
+ @assemblies=[]
14
+ super()
15
+ end
16
+
17
+ def get_command_line
18
+ command_params = []
19
+ command_params << @path_to_command
20
+ command_params << get_command_parameters
21
+ commandline = command_params.join(" ")
22
+ @logger.debug "Build NUnit Test Runner Command Line: " + commandline
23
+ commandline
24
+ end
25
+
26
+ def get_command_parameters
27
+ command_params = []
28
+ command_params << @assemblies.join(" ") unless @assemblies.nil?
29
+ command_params << @options.join(" ") unless @options.nil?
30
+ command_params
31
+ end
32
+
33
+ def execute()
34
+ command_params = get_command_parameters
35
+ result = run_command "NUnit", command_params.join(" ")
36
+
37
+ failure_message = 'NUnit Failed. See Build Log For Detail'
38
+ fail_with_message failure_message if !result
39
+ end
39
40
  end
@@ -0,0 +1,48 @@
1
+ require 'albacore/support/albacore_helper'
2
+
3
+ class PLink
4
+ extend AttrMethods
5
+ include RunCommand
6
+ include YAMLConfig
7
+ include Logging
8
+
9
+ attr_accessor :host, :port, :user, :key, :verbose
10
+ attr_array :commands
11
+
12
+ def initialize()
13
+ @require_valid_command = false
14
+ @port = 22
15
+ @verbose = false
16
+ @commands = []
17
+ super()
18
+ end
19
+
20
+ def run()
21
+ check_command
22
+ return if @failed
23
+ parameters = create_parameters
24
+ result = run_command "Plink", parameters.join(" ")
25
+ failure_message = 'Command Failed. See Build Log For Detail'
26
+ fail_with_message failure_message if !result
27
+ end
28
+
29
+ def create_parameters
30
+ parameters = []
31
+ parameters << "#{@user}@#{@host} -P #{@port} "
32
+ parameters << build_parameter("i", @key) unless @key.nil?
33
+ parameters << "-batch"
34
+ parameters << "-v" if @verbose
35
+ parameters << @commands
36
+ @logger.debug "PLink Parameters" + parameters.join(" ")
37
+ return parameters
38
+ end
39
+
40
+ def build_parameter(param_name, param_value)
41
+ "-#{param_name} #{param_value}"
42
+ end
43
+
44
+ def check_command
45
+ return if @path_to_command
46
+ fail_with_message 'Plink.path_to_command cannot be nil.'
47
+ end
48
+ end
@@ -2,39 +2,41 @@ require 'albacore/support/albacore_helper'
2
2
  require 'net/sftp'
3
3
 
4
4
  class Sftp
5
- include YAMLConfig
6
- include Logging
7
-
8
- attr_accessor :server, :username, :password, :upload_files, :port, :key, :debug
5
+ extend AttrMethods
6
+ include YAMLConfig
7
+ include Logging
9
8
 
10
- def initialize
11
- @upload_files = {}
12
- super()
13
- end
14
-
15
- def get_connection_options
16
- options = {}
17
- options[:verbose] = :debug if @debug == true
18
- options[:password] = @password if @password
19
- options[:port] = @port if @port
20
- options[:keys] = [@key] if @key
21
- options
22
- end
9
+ attr_accessor :server, :username, :password, :port, :key, :debug
10
+ attr_hash :upload_files
23
11
 
24
- def upload()
25
- warn_about_key if @key
12
+ def initialize
13
+ @upload_files = {}
14
+ super()
15
+ end
16
+
17
+ def get_connection_options
18
+ options = {}
19
+ options[:verbose] = :debug if @debug == true
20
+ options[:password] = @password if @password
21
+ options[:port] = @port if @port
22
+ options[:keys] = [@key] if @key
23
+ options
24
+ end
25
+
26
+ def upload()
27
+ warn_about_key if @key
26
28
 
27
- Net::SFTP.start(@server, @username, get_connection_options) do |sftp|
28
- @logger.debug "Starting File Upload"
29
- @upload_files.each {|local_file, remote_file|
30
- @logger.debug "Uploading #{local_file} to #{remote_file}"
31
- sftp.upload!(local_file, remote_file)
32
- }
33
- end
34
- end
29
+ Net::SFTP.start(@server, @username, get_connection_options) do |sftp|
30
+ @logger.debug "Starting File Upload"
31
+ @upload_files.each {|local_file, remote_file|
32
+ @logger.debug "Uploading #{local_file} to #{remote_file}"
33
+ sftp.upload!(local_file, remote_file)
34
+ }
35
+ end
36
+ end
35
37
 
36
- def warn_about_key()
37
- info.debug 'When using a key, you need an SSH-Agent running to manage the keys.'
38
- info.debug 'On Windows, a recommended agent is called Pageant, downloadable from the Putty site.'
39
- end
38
+ def warn_about_key()
39
+ info.debug 'When using a key, you need an SSH-Agent running to manage the keys.'
40
+ info.debug 'On Windows, a recommended agent is called Pageant, downloadable from the Putty site.'
41
+ end
40
42
  end
@@ -1,55 +1,58 @@
1
1
  require 'albacore/support/albacore_helper'
2
2
 
3
3
  class SQLCmd
4
- include RunCommand
5
- include YAMLConfig
6
-
7
- attr_accessor :server, :database, :username, :password, :scripts, :variables
8
-
9
- def initialize
10
- @require_valid_command = false
11
- @scripts=[]
12
- @variables={}
13
- super()
14
- end
15
-
16
- def run
17
- check_command
18
- return if @failed
19
-
20
- cmd_params=[]
21
- cmd_params << build_parameter("S", @server) unless @server.nil?
22
- cmd_params << build_parameter("d", @database) unless @database.nil?
23
- cmd_params << build_parameter("U", @username) unless @username.nil?
24
- cmd_params << build_parameter("P", @password) unless @password.nil?
25
- cmd_params << build_variable_list if @variables.length > 0
26
- cmd_params << build_script_list if @scripts.length > 0
27
-
28
- result = run_command "SQLCmd", cmd_params.join(" ")
29
-
30
- failure_msg = 'SQLCmd 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 'SQLCmd.path_to_command cannot be nil.'
37
- end
38
-
39
- def build_script_list
40
- @scripts.map{|s| "-i \"#{s}\""}.join(" ")
41
- end
42
-
43
- def build_parameter(param_name, param_value)
44
- "-#{param_name} \"#{param_value}\""
45
- end
46
-
47
- def build_variable_list
48
- vars = []
49
- @variables.each do |k,v|
50
- vars << "-v #{k}=#{v}"
51
- end
52
- vars.join(" ")
53
- end
54
-
4
+ extend AttrMethods
5
+ include RunCommand
6
+ include YAMLConfig
7
+
8
+ attr_accessor :server, :database, :username, :password
9
+ attr_array :scripts
10
+ attr_hash :variables
11
+
12
+ def initialize
13
+ @require_valid_command = false
14
+ @scripts=[]
15
+ @variables={}
16
+ super()
17
+ end
18
+
19
+ def run
20
+ check_command
21
+ return if @failed
22
+
23
+ cmd_params=[]
24
+ cmd_params << build_parameter("S", @server) unless @server.nil?
25
+ cmd_params << build_parameter("d", @database) unless @database.nil?
26
+ cmd_params << build_parameter("U", @username) unless @username.nil?
27
+ cmd_params << build_parameter("P", @password) unless @password.nil?
28
+ cmd_params << build_variable_list if @variables.length > 0
29
+ cmd_params << build_script_list if @scripts.length > 0
30
+
31
+ result = run_command "SQLCmd", cmd_params.join(" ")
32
+
33
+ failure_msg = 'SQLCmd Failed. See Build Log For Detail.'
34
+ fail_with_message failure_msg if !result
35
+ end
36
+
37
+ def check_command
38
+ return if @path_to_command
39
+ fail_with_message 'SQLCmd.path_to_command cannot be nil.'
40
+ end
41
+
42
+ def build_script_list
43
+ @scripts.map{|s| "-i \"#{s}\""}.join(" ")
44
+ end
45
+
46
+ def build_parameter(param_name, param_value)
47
+ "-#{param_name} \"#{param_value}\""
48
+ end
49
+
50
+ def build_variable_list
51
+ vars = []
52
+ @variables.each do |k,v|
53
+ vars << "-v #{k}=#{v}"
54
+ end
55
+ vars.join(" ")
56
+ end
57
+
55
58
  end