albacore 0.1.5 → 0.2.0.preview1

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 (136) hide show
  1. data/.autotest +4 -0
  2. data/README.markdown +1 -1
  3. data/VERSION +1 -1
  4. data/install_dependencies.rb +2 -3
  5. data/lib/albacore.rb +1 -0
  6. data/lib/albacore/albacoremodel.rb +28 -0
  7. data/lib/albacore/assemblyinfo.rb +5 -4
  8. data/lib/albacore/config/assemblyinfoconfig.rb +21 -0
  9. data/lib/albacore/config/config.rb +14 -0
  10. data/lib/albacore/config/cscconfig.rb +33 -0
  11. data/lib/albacore/config/docuconfig.rb +25 -0
  12. data/lib/albacore/config/execconfig.rb +22 -0
  13. data/lib/albacore/config/msbuildconfig.rb +32 -0
  14. data/lib/albacore/config/mspecconfig.rb +21 -0
  15. data/lib/albacore/config/nantconfig.rb +22 -0
  16. data/lib/albacore/config/ncoverconsoleconfig.rb +22 -0
  17. data/lib/albacore/config/ncoverreportconfig.rb +22 -0
  18. data/lib/albacore/config/ndependconfig.rb +22 -0
  19. data/lib/albacore/config/netversion.rb +23 -0
  20. data/lib/albacore/config/nunitconfig.rb +20 -0
  21. data/lib/albacore/config/specflowreportconfig.rb +27 -0
  22. data/lib/albacore/config/sqlcmdconfig.rb +22 -0
  23. data/lib/albacore/config/unzipconfig.rb +22 -0
  24. data/lib/albacore/config/xbuildconfig.rb +22 -0
  25. data/lib/albacore/config/xunitconfig.rb +22 -0
  26. data/lib/albacore/config/zipconfig.rb +22 -0
  27. data/lib/albacore/csc.rb +31 -0
  28. data/lib/albacore/docu.rb +8 -6
  29. data/lib/albacore/exec.rb +9 -3
  30. data/lib/albacore/msbuild.rb +5 -12
  31. data/lib/albacore/mspectestrunner.rb +9 -7
  32. data/lib/albacore/nant.rb +5 -4
  33. data/lib/albacore/ncoverconsole.rb +6 -9
  34. data/lib/albacore/ncoverreport.rb +8 -6
  35. data/lib/albacore/ncoverreports/codecoveragebase.rb +4 -4
  36. data/lib/albacore/ncoverreports/cyclomaticcomplexity.rb +4 -4
  37. data/lib/albacore/ncoverreports/fullcoveragereport.rb +3 -3
  38. data/lib/albacore/ncoverreports/reportfilterbase.rb +4 -4
  39. data/lib/albacore/ncoverreports/summaryreport.rb +3 -3
  40. data/lib/albacore/ndepend.rb +12 -9
  41. data/lib/albacore/nunittestrunner.rb +9 -7
  42. data/lib/albacore/specflowreport.rb +62 -0
  43. data/lib/albacore/sqlcmd.rb +8 -6
  44. data/lib/albacore/support/attrmethods.rb +7 -8
  45. data/lib/albacore/support/logging.rb +8 -4
  46. data/lib/albacore/support/openstruct.rb +13 -0
  47. data/lib/albacore/support/runcommand.rb +24 -24
  48. data/lib/albacore/support/supportlinux.rb +23 -0
  49. data/lib/albacore/support/yamlconfig.rb +2 -10
  50. data/lib/albacore/unzip.rb +14 -12
  51. data/lib/albacore/xbuild.rb +6 -5
  52. data/lib/albacore/xunittestrunner.rb +8 -6
  53. data/lib/albacore/zipdirectory.rb +27 -6
  54. data/lib/rake/csctask.rb +3 -0
  55. data/lib/rake/specflowreporttask.rb +3 -0
  56. data/lib/rake/unziptask.rb +1 -1
  57. data/rakefile.rb +21 -54
  58. data/spec/albacoremodel_spec.rb +35 -0
  59. data/spec/assemblyinfo_spec.rb +17 -0
  60. data/spec/attrmethods_spec.rb +17 -1
  61. data/spec/config_spec.rb +19 -0
  62. data/spec/createtask_spec.rb +45 -4
  63. data/spec/csc_spec.rb +87 -0
  64. data/spec/csctask_spec.rb +1 -0
  65. data/spec/docu_spec.rb +43 -1
  66. data/spec/exec_spec.rb +16 -1
  67. data/spec/msbuild_spec.rb +30 -18
  68. data/spec/mspec_spec.rb +28 -0
  69. data/spec/nant_spec.rb +20 -12
  70. data/spec/ncoverconsole_spec.rb +25 -13
  71. data/spec/ncoverreport_spec.rb +31 -18
  72. data/spec/ndepend_spec.rb +23 -2
  73. data/spec/nunittestrunner_spec.rb +48 -0
  74. data/spec/runcommand_spec.rb +59 -32
  75. data/spec/specflowreport_spec.rb +146 -0
  76. data/spec/specflowreporttask_spec.rb +48 -0
  77. data/spec/sqlcmd_spec.rb +18 -5
  78. data/spec/support/SpecFlow/TechTalk.SpecFlow.dll +0 -0
  79. data/spec/support/SpecFlow/TestSolution.SpecFlow.dll +0 -0
  80. data/spec/support/SpecFlow/TestSolution.SpecFlow.pdb +0 -0
  81. data/spec/support/SpecFlow/TestSolution.dll +0 -0
  82. data/spec/support/SpecFlow/TestSolution.pdb +0 -0
  83. data/spec/support/SpecFlow/nunit.framework.dll +0 -0
  84. data/spec/support/TestSolution/TestSolution.5.0.ReSharper.user +27 -0
  85. data/spec/support/TestSolution/TestSolution.SpecFlow/OneFeature.feature +8 -0
  86. data/spec/support/TestSolution/TestSolution.SpecFlow/OneFeature.feature.cs +73 -0
  87. data/spec/support/TestSolution/TestSolution.SpecFlow/Properties/AssemblyInfo.cs +36 -0
  88. data/spec/support/TestSolution/TestSolution.SpecFlow/StepDefinition.cs +30 -0
  89. data/spec/support/TestSolution/TestSolution.SpecFlow/TestSolution.SpecFlow.csproj +84 -0
  90. data/spec/support/TestSolution/TestSolution.sln +6 -0
  91. data/spec/support/csc/File1.cs +9 -0
  92. data/spec/support/csc/File2.cs +9 -0
  93. data/spec/support/csc/output/ignorethis.txt +1 -0
  94. data/spec/support/msbuildtestdata.rb +3 -3
  95. data/spec/support/ncoverreporttestdata.rb +2 -2
  96. data/spec/support/spec_helper.rb +2 -1
  97. data/spec/support/yamlconfig/yaml_autoconfig_test.yml +1 -1
  98. data/spec/unzip_spec.rb +15 -0
  99. data/spec/xbuild_spec.rb +15 -0
  100. data/spec/xunit_spec.rb +16 -2
  101. data/spec/yamlconfig_spec.rb +7 -6
  102. data/spec/zip_spec.rb +50 -9
  103. data/watchrtesting.rb +8 -0
  104. metadata +99 -91
  105. data/lib/albacore/expandtemplates.rb +0 -81
  106. data/lib/albacore/plink.rb +0 -49
  107. data/lib/albacore/renamer.rb +0 -17
  108. data/lib/albacore/sftp.rb +0 -42
  109. data/lib/albacore/ssh.rb +0 -44
  110. data/lib/albacore/support/albacore_helper.rb +0 -1
  111. data/lib/albacore/support/globalconfig.rb +0 -6
  112. data/lib/rake/expandtemplatestask.rb +0 -3
  113. data/lib/rake/plinktask.rb +0 -3
  114. data/lib/rake/renametask.rb +0 -3
  115. data/lib/rake/sftptask.rb +0 -3
  116. data/lib/rake/sshtask.rb +0 -3
  117. data/spec/expandtemplates_spec.rb +0 -180
  118. data/spec/expandtemplatestask_spec.rb +0 -46
  119. data/spec/plink_spec.rb +0 -62
  120. data/spec/plinktask_spec.rb +0 -46
  121. data/spec/renametask_spec.rb +0 -32
  122. data/spec/sftp_spec.rb +0 -30
  123. data/spec/sftptask_spec.rb +0 -42
  124. data/spec/ssh_spec.rb +0 -47
  125. data/spec/sshtask_spec.rb +0 -40
  126. data/spec/support/expandtemplates/datafiles/multiplevalues.yml +0 -3
  127. data/spec/support/expandtemplates/datafiles/multitemplate-specificfile.yml +0 -11
  128. data/spec/support/expandtemplates/datafiles/multitemplate.yml +0 -4
  129. data/spec/support/expandtemplates/datafiles/sample.yml +0 -1
  130. data/spec/support/expandtemplates/datafiles/sample_with_include.yml +0 -2
  131. data/spec/support/expandtemplates/datafiles/template_specific_data_file_with_include.yml +0 -5
  132. data/spec/support/expandtemplates/datafiles/template_specific_include.yml +0 -3
  133. data/spec/support/expandtemplates/templates/multipleinstance.config +0 -4
  134. data/spec/support/expandtemplates/templates/multiplevalues.config +0 -1
  135. data/spec/support/expandtemplates/templates/sample.config +0 -1
  136. data/spec/support/expandtemplatestestdata.rb +0 -77
@@ -0,0 +1,22 @@
1
+ require 'ostruct'
2
+ require 'albacore/support/openstruct'
3
+
4
+ module Configuration
5
+ module SQLCmd
6
+ @sqlcmdconfig = OpenStruct.new.extend(OpenStructToHash)
7
+
8
+ def self.sqlcmdconfig
9
+ @sqlcmdconfig
10
+ end
11
+
12
+ def sqlcmd
13
+ config = SQLCmd.sqlcmdconfig
14
+ yield(config) if block_given?
15
+ config
16
+ end
17
+ end
18
+ end
19
+
20
+ class Albacore::Configuration
21
+ include Configuration::SQLCmd
22
+ end
@@ -0,0 +1,22 @@
1
+ require 'ostruct'
2
+ require 'albacore/support/openstruct'
3
+
4
+ module Configuration
5
+ module Unzip
6
+ @unzipconfig = OpenStruct.new.extend(OpenStructToHash)
7
+
8
+ def self.unzipconfig
9
+ @unzipconfig
10
+ end
11
+
12
+ def unzip
13
+ config = Unzip.unzipconfig
14
+ yield(config) if block_given?
15
+ config
16
+ end
17
+ end
18
+ end
19
+
20
+ class Albacore::Configuration
21
+ include Configuration::Unzip
22
+ end
@@ -0,0 +1,22 @@
1
+ require 'ostruct'
2
+ require 'albacore/support/openstruct'
3
+
4
+ module Configuration
5
+ module XBuild
6
+ @xbuildconfig = OpenStruct.new.extend(OpenStructToHash)
7
+
8
+ def self.xbuildconfig
9
+ @xbuildconfig
10
+ end
11
+
12
+ def xbuild
13
+ config = XBuild.xbuildconfig
14
+ yield(config) if block_given?
15
+ config
16
+ end
17
+ end
18
+ end
19
+
20
+ class Albacore::Configuration
21
+ include Configuration::XBuild
22
+ end
@@ -0,0 +1,22 @@
1
+ require 'ostruct'
2
+ require 'albacore/support/openstruct'
3
+
4
+ module Configuration
5
+ module XUnit
6
+ @xunitconfig = OpenStruct.new.extend(OpenStructToHash)
7
+
8
+ def self.xunitconfig
9
+ @xunitconfig
10
+ end
11
+
12
+ def xunit
13
+ config = XUnit.xunitconfig
14
+ yield(config) if block_given?
15
+ config
16
+ end
17
+ end
18
+ end
19
+
20
+ class Albacore::Configuration
21
+ include Configuration::XUnit
22
+ end
@@ -0,0 +1,22 @@
1
+ require 'ostruct'
2
+ require 'albacore/support/openstruct'
3
+
4
+ module Configuration
5
+ module Zip
6
+ @zipconfig = OpenStruct.new.extend(OpenStructToHash)
7
+
8
+ def self.zipconfig
9
+ @zipconfig
10
+ end
11
+
12
+ def zip
13
+ config = Zip.zipconfig
14
+ yield(config) if block_given?
15
+ config
16
+ end
17
+ end
18
+ end
19
+
20
+ class Albacore::Configuration
21
+ include Configuration::Zip
22
+ end
@@ -0,0 +1,31 @@
1
+ require 'albacore/albacoremodel'
2
+ require 'albacore/config/cscconfig'
3
+ require 'albacore/support/supportlinux'
4
+
5
+ class CSC
6
+ include AlbacoreModel
7
+ include RunCommand
8
+ include Configuration::CSC
9
+ include SupportsLinuxEnvironment
10
+
11
+ attr_accessor :output, :target
12
+ attr_array :compile, :references
13
+
14
+ def initialize
15
+ super()
16
+ update_attributes csc.to_hash
17
+ end
18
+
19
+ def execute
20
+ params = []
21
+ params << "\"/out:#{@output}\"" unless @output.nil?
22
+ params << "/target:#{@target}" unless @target.nil?
23
+ params << @references.map{|r| format_reference(r)} unless @references.nil?
24
+ params << @compile.map{|f| format_path(f)} unless @compile.nil?
25
+
26
+ result = run_command "CSC", params
27
+
28
+ failure_message = 'CSC Failed. See Build Log For Detail'
29
+ fail_with_message failure_message if !result
30
+ end
31
+ end
data/lib/albacore/docu.rb CHANGED
@@ -1,19 +1,21 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
+ require 'albacore/config/docuconfig'
2
3
 
3
4
  class Docu
4
- extend AttrMethods
5
+ include AlbacoreModel
5
6
  include RunCommand
6
- include YAMLConfig
7
+ include Configuration::Docu
7
8
 
8
9
  attr_accessor :output_location
9
10
  attr_array :assemblies, :xml_files
10
11
 
11
- def initialize(path_to_command='docu.exe')
12
- @path_to_command = path_to_command
12
+ def initialize(command=nil)
13
13
  @assemblies = []
14
14
  @xml_files = []
15
15
  @output_location = ""
16
16
  super()
17
+ update_attributes docu.to_hash
18
+ @command = command unless command.nil?
17
19
  end
18
20
 
19
21
  def execute
@@ -36,4 +38,4 @@ class Docu
36
38
  command_params << " --output=\"#{@output_location}\" " unless @output_location.empty?
37
39
  command_params
38
40
  end
39
- end
41
+ end
data/lib/albacore/exec.rb CHANGED
@@ -1,9 +1,15 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
+ require 'albacore/config/execconfig'
2
3
 
3
4
  class Exec
5
+ include AlbacoreModel
4
6
  include RunCommand
5
- include YAMLConfig
6
- include Logging
7
+ include Configuration::Exec
8
+
9
+ def initialize
10
+ super()
11
+ update_attributes exec.to_hash
12
+ end
7
13
 
8
14
  def execute
9
15
  result = run_command "Exec"
@@ -1,25 +1,18 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
+ require 'albacore/config/msbuildconfig.rb'
2
3
 
3
4
  class MSBuild
4
- extend AttrMethods
5
+ include AlbacoreModel
5
6
  include RunCommand
6
- include YAMLConfig
7
- include Logging
7
+ include Configuration::MSBuild
8
8
 
9
9
  attr_accessor :solution, :verbosity
10
10
  attr_array :targets
11
11
  attr_hash :properties
12
12
 
13
13
  def initialize
14
- @path_to_command = build_path_to_command
15
14
  super()
16
- end
17
-
18
- def build_path_to_command
19
- win_dir = ENV['windir'] || ENV['WINDIR']
20
- win_dir = 'C:/Windows' if win_dir.nil?
21
-
22
- File.join(win_dir.dup, 'Microsoft.NET', 'Framework', 'v3.5', 'MSBuild.exe')
15
+ update_attributes msbuild.to_hash
23
16
  end
24
17
 
25
18
  def build
@@ -1,22 +1,24 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
+ require 'albacore/config/mspecconfig'
2
3
 
3
4
  class MSpecTestRunner
4
- extend AttrMethods
5
+ include AlbacoreModel
5
6
  include RunCommand
6
- include YAMLConfig
7
+ include Configuration::MSpec
7
8
 
8
9
  attr_accessor :html_output
9
10
  attr_array :assemblies, :options
10
11
 
11
- def initialize(path_to_command='')
12
- @path_to_command = path_to_command
12
+ def initialize(command=nil)
13
13
  @assemblies=[]
14
14
  super()
15
+ update_attributes mspec.to_hash
16
+ @command = command unless command.nil?
15
17
  end
16
18
 
17
19
  def get_command_line
18
20
  command = []
19
- command << @path_to_command
21
+ command << @command
20
22
  command << get_command_parameters
21
23
  cmd = command.join(" ")
22
24
  @logger.debug "Build MSpec Test Runner Command Line: " + cmd
@@ -46,4 +48,4 @@ class MSpecTestRunner
46
48
  def build_html_output
47
49
  "--html #{@html_output}"
48
50
  end
49
- end
51
+ end
data/lib/albacore/nant.rb CHANGED
@@ -1,10 +1,10 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
+ require 'albacore/config/nantconfig'
2
3
 
3
4
  class NAnt
4
- extend AttrMethods
5
+ include AlbacoreModel
5
6
  include RunCommand
6
- include YAMLConfig
7
- include Logging
7
+ include Configuration::NAnt
8
8
 
9
9
  attr_accessor :build_file
10
10
  attr_array :targets
@@ -12,6 +12,7 @@ class NAnt
12
12
 
13
13
  def initialize
14
14
  super()
15
+ update_attributes nant.to_hash
15
16
  end
16
17
 
17
18
  def run
@@ -1,11 +1,12 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
+ require 'albacore/config/ncoverconsoleconfig'
2
3
 
3
4
  class NCoverConsole
4
- extend AttrMethods
5
+ include AlbacoreModel
5
6
  include RunCommand
6
- include YAMLConfig
7
+ include Configuration::NCoverConsole
7
8
 
8
- attr_accessor :testrunner, :working_directory
9
+ attr_accessor :testrunner
9
10
  attr_array :cover_assemblies, :exclude_assemblies, :coverage, :exclude_attributes
10
11
  attr_hash :output
11
12
 
@@ -17,10 +18,7 @@ class NCoverConsole
17
18
  @exclude_attributes = []
18
19
  @coverage = []
19
20
  super()
20
- end
21
-
22
- def working_directory=(working_dir)
23
- @working_directory = "//working-directory " + working_dir
21
+ update_attributes ncoverconsole.to_hash
24
22
  end
25
23
 
26
24
  def no_registration
@@ -33,7 +31,6 @@ class NCoverConsole
33
31
  command_parameters = []
34
32
  command_parameters << "//reg" if @register_dll
35
33
  command_parameters << build_output_options(@output) unless @output.nil?
36
- command_parameters << @working_directory unless @working_directory.nil?
37
34
  command_parameters << build_parameter_list("assemblies", @cover_assemblies) unless @cover_assemblies.empty?
38
35
  command_parameters << build_parameter_list("exclude-assemblies", @exclude_assemblies) unless @exclude_assemblies.empty?
39
36
  command_parameters << build_parameter_list("exclude-attributes", @exclude_attributes) unless @exclude_attributes.empty?
@@ -1,10 +1,11 @@
1
1
  Dir.glob(File.join(File.expand_path(File.dirname(__FILE__)), 'ncoverreports/*.rb')).each {|f| require f }
2
- require 'albacore/support/albacore_helper'
2
+ require 'albacore/albacoremodel'
3
+ require 'albacore/config/ncoverreportconfig'
3
4
 
4
5
  class NCoverReport
5
- extend AttrMethods
6
+ include AlbacoreModel
6
7
  include RunCommand
7
- include YAMLConfig
8
+ include Configuration::NCoverReport
8
9
 
9
10
  attr_array :coverage_files, :reports, :required_coverage, :filters
10
11
 
@@ -14,6 +15,7 @@ class NCoverReport
14
15
  @required_coverage = []
15
16
  @filters = []
16
17
  super()
18
+ update_attributes ncoverreport.to_hash
17
19
  end
18
20
 
19
21
  def run
@@ -32,8 +34,8 @@ class NCoverReport
32
34
  end
33
35
 
34
36
  def check_command
35
- return true if @path_to_command
36
- fail_with_message 'NCoverReport.path_to_command cannot be nil.'
37
+ return true if @command
38
+ fail_with_message 'NCoverReport.command cannot be nil.'
37
39
  return false
38
40
  end
39
41
 
@@ -59,4 +61,4 @@ class NCoverReport
59
61
  coverage = "//mc #{c.get_coverage_options}"
60
62
  }.join(" ")
61
63
  end
62
- end
64
+ end
@@ -1,8 +1,8 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
2
 
3
3
  module NCover
4
4
  class CodeCoverageBase
5
- include YAMLConfig
5
+ include AlbacoreModel
6
6
 
7
7
  attr_accessor :coverage_type, :minimum, :item_type
8
8
 
@@ -10,7 +10,7 @@ module NCover
10
10
  @coverage_type = coverage_type
11
11
  @minimum = 0
12
12
  @item_type = :View
13
- parse_config(params) unless params.nil?
13
+ update_attributes(params) unless params.nil?
14
14
  super()
15
15
  end
16
16
 
@@ -22,4 +22,4 @@ module NCover
22
22
  end
23
23
  end
24
24
  end
25
-
25
+
@@ -1,15 +1,15 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
2
 
3
3
  module NCover
4
4
  class CyclomaticComplexity
5
- include YAMLConfig
5
+ include AlbacoreModel
6
6
 
7
7
  attr_accessor :maximum, :item_type
8
8
 
9
9
  def initialize(params={})
10
10
  @maximum = 100
11
11
  @item_type = :View
12
- parse_config(params) unless params.nil?
12
+ update_attributes(params) unless params.nil?
13
13
  super()
14
14
  end
15
15
 
@@ -20,4 +20,4 @@ module NCover
20
20
  options
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -1,8 +1,8 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
2
 
3
3
  module NCover
4
4
  class FullCoverageReport
5
- include YAMLConfig
5
+ include AlbacoreModel
6
6
 
7
7
  attr_accessor :output_path
8
8
 
@@ -18,4 +18,4 @@ module NCover
18
18
  :Html
19
19
  end
20
20
  end
21
- end
21
+ end
@@ -1,8 +1,8 @@
1
- require 'albacore/support/albacore_helper'
1
+ require 'albacore/albacoremodel'
2
2
 
3
3
  module NCover
4
4
  class ReportFilterBase
5
- include YAMLConfig
5
+ include AlbacoreModel
6
6
 
7
7
  attr_accessor :filter, :filter_type, :item_type, :is_regex
8
8
 
@@ -11,7 +11,7 @@ module NCover
11
11
  @item_type = item_type
12
12
  @is_regex = false
13
13
  @filter_type = :exclude
14
- parse_config(params) unless params.nil?
14
+ update_attributes(params) unless params.nil?
15
15
  super()
16
16
  end
17
17
 
@@ -23,4 +23,4 @@ module NCover
23
23
  filter
24
24
  end
25
25
  end
26
- end
26
+ end