albacore 0.1.5 → 0.2.0.preview1

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