rake-funnel 0.3.2.pre → 0.4.0.pre

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 (122) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +2 -2
  3. data/Gemfile +4 -0
  4. data/README.md +2 -2
  5. data/lib/rake/funnel/ambiguous_file_error.rb +31 -29
  6. data/lib/rake/funnel/execution_error.rb +28 -26
  7. data/lib/rake/funnel/extensions/case/camel_case.rb +24 -19
  8. data/lib/rake/funnel/extensions/case/pascal_case.rb +24 -19
  9. data/lib/rake/funnel/extensions/case.rb +3 -3
  10. data/lib/rake/funnel/extensions/common_path.rb +60 -52
  11. data/lib/rake/funnel/extensions/disable_colors.rb +33 -27
  12. data/lib/rake/funnel/extensions/rexml.rb +27 -23
  13. data/lib/rake/funnel/extensions/shell.rb +92 -56
  14. data/lib/rake/funnel/extensions/windows_path.rb +15 -11
  15. data/lib/rake/funnel/framework.rb +11 -16
  16. data/lib/rake/funnel/integration/progress_report.rb +72 -70
  17. data/lib/rake/funnel/integration/sync_output.rb +12 -8
  18. data/lib/rake/funnel/integration/teamcity/nunit_plugin.rb +61 -55
  19. data/lib/rake/funnel/integration/teamcity/progress_report.rb +39 -33
  20. data/lib/rake/funnel/integration/teamcity/service_messages.rb +46 -40
  21. data/lib/rake/funnel/integration/teamcity/teamcity.rb +19 -15
  22. data/lib/rake/funnel/integration/teamcity.rb +3 -5
  23. data/lib/rake/funnel/support/argument_mapper/key_value_pair.rb +16 -10
  24. data/lib/rake/funnel/support/argument_mapper/styles/default.rb +39 -31
  25. data/lib/rake/funnel/support/argument_mapper/styles/msbuild.rb +41 -33
  26. data/lib/rake/funnel/support/argument_mapper/styles/msdeploy.rb +55 -47
  27. data/lib/rake/funnel/support/argument_mapper/styles/nunit.rb +41 -33
  28. data/lib/rake/funnel/support/argument_mapper/styles.rb +3 -5
  29. data/lib/rake/funnel/support/argument_mapper/switch.rb +16 -10
  30. data/lib/rake/funnel/support/argument_mapper/value.rb +16 -10
  31. data/lib/rake/funnel/support/assembly_version/from_version_files.rb +39 -35
  32. data/lib/rake/funnel/support/assembly_version/languages/cs +5 -5
  33. data/lib/rake/funnel/support/assembly_version/languages/fs +12 -12
  34. data/lib/rake/funnel/support/assembly_version/languages/vb +5 -5
  35. data/lib/rake/funnel/support/assembly_version_writer.rb +56 -52
  36. data/lib/rake/funnel/support/binary_version_reader.rb +37 -32
  37. data/lib/rake/funnel/support/copier.rb +31 -27
  38. data/lib/rake/funnel/support/environments/loader.rb +46 -40
  39. data/lib/rake/funnel/support/environments.rb +3 -3
  40. data/lib/rake/funnel/support/internal/finder.rb +55 -51
  41. data/lib/rake/funnel/support/internal/instantiate_symbol.rb +38 -34
  42. data/lib/rake/funnel/support/mapper.rb +57 -53
  43. data/lib/rake/funnel/support/mono.rb +21 -17
  44. data/lib/rake/funnel/support/msbuild/build_tool.rb +30 -24
  45. data/lib/rake/funnel/support/msbuild.rb +3 -3
  46. data/lib/rake/funnel/support/msdeploy/registry_patch.rb +90 -84
  47. data/lib/rake/funnel/support/msdeploy.rb +3 -3
  48. data/lib/rake/funnel/support/patch.rb +41 -37
  49. data/lib/rake/funnel/support/specs_remover.rb +66 -62
  50. data/lib/rake/funnel/support/template_engine.rb +30 -26
  51. data/lib/rake/funnel/support/timing/report.rb +95 -89
  52. data/lib/rake/funnel/support/timing/statistics.rb +32 -26
  53. data/lib/rake/funnel/support/timing.rb +3 -3
  54. data/lib/rake/funnel/support/version_info.rb +103 -72
  55. data/lib/rake/funnel/support/which.rb +19 -15
  56. data/lib/rake/funnel/support/zipper.rb +53 -49
  57. data/lib/rake/funnel/tasks/assembly_version.rb +44 -40
  58. data/lib/rake/funnel/tasks/bin_path.rb +45 -41
  59. data/lib/rake/funnel/tasks/copy.rb +43 -39
  60. data/lib/rake/funnel/tasks/environments.rb +89 -89
  61. data/lib/rake/funnel/tasks/msbuild.rb +55 -51
  62. data/lib/rake/funnel/tasks/msdeploy.rb +54 -50
  63. data/lib/rake/funnel/tasks/nunit.rb +52 -48
  64. data/lib/rake/funnel/tasks/paket.rb +51 -47
  65. data/lib/rake/funnel/tasks/quick_template.rb +53 -49
  66. data/lib/rake/funnel/tasks/side_by_side_specs.rb +41 -37
  67. data/lib/rake/funnel/tasks/timing.rb +108 -104
  68. data/lib/rake/funnel/tasks/zip.rb +46 -42
  69. data/lib/rake/funnel/version.rb +1 -1
  70. data/lib/rake/funnel.rb +7 -7
  71. data/rake-funnel.gemspec +12 -3
  72. data/spec/rake/funnel/execution_error_spec.rb +67 -67
  73. data/spec/rake/funnel/extensions/case/camel_case_spec.rb +17 -17
  74. data/spec/rake/funnel/extensions/case/pascal_case_spec.rb +17 -17
  75. data/spec/rake/funnel/extensions/common_path_spec.rb +56 -56
  76. data/spec/rake/funnel/extensions/disable_colors_spec.rb +33 -33
  77. data/spec/rake/funnel/extensions/rexml_spec.rb +20 -20
  78. data/spec/rake/funnel/extensions/shell_spec.rb +237 -237
  79. data/spec/rake/funnel/extensions/windows_path_spec.rb +5 -5
  80. data/spec/rake/funnel/integration/progress_report_spec.rb +149 -149
  81. data/spec/rake/funnel/integration/sync_output_spec.rb +16 -16
  82. data/spec/rake/funnel/integration/teamcity/nunit_plugin_spec.rb +110 -110
  83. data/spec/rake/funnel/integration/teamcity/progress_report_spec.rb +174 -174
  84. data/spec/rake/funnel/integration/teamcity/service_messages_spec.rb +136 -136
  85. data/spec/rake/funnel/integration/teamcity/teamcity_spec.rb +34 -34
  86. data/spec/rake/funnel/support/argument_mapper/styles/msdeploy_spec.rb +222 -222
  87. data/spec/rake/funnel/support/argument_mapper/styles/nunit_spec.rb +25 -25
  88. data/spec/rake/funnel/support/argument_mapper/styles/styles_spec.rb +214 -214
  89. data/spec/rake/funnel/support/assembly_version/from_version_files_spec.rb +66 -61
  90. data/spec/rake/funnel/support/assembly_version_writer_spec.rb +140 -140
  91. data/spec/rake/funnel/support/binary_version_reader_spec.rb +29 -29
  92. data/spec/rake/funnel/support/copier_spec.rb +58 -58
  93. data/spec/rake/funnel/support/environments/loader_spec.rb +143 -143
  94. data/spec/rake/funnel/support/internal/finder_spec.rb +229 -229
  95. data/spec/rake/funnel/support/internal/instantiate_symbol_spec.rb +182 -183
  96. data/spec/rake/funnel/support/mapper_spec.rb +87 -87
  97. data/spec/rake/funnel/support/mono_spec.rb +57 -57
  98. data/spec/rake/funnel/support/msbuild/build_tool_spec.rb +21 -21
  99. data/spec/rake/funnel/support/msdeploy/registry_patch_spec.rb +139 -139
  100. data/spec/rake/funnel/support/patch_spec.rb +108 -108
  101. data/spec/rake/funnel/support/specs_remover/Sample.csproj +28 -28
  102. data/spec/rake/funnel/support/specs_remover_spec.rb +116 -116
  103. data/spec/rake/funnel/support/template_engine_spec.rb +65 -65
  104. data/spec/rake/funnel/support/timing/report_spec.rb +129 -129
  105. data/spec/rake/funnel/support/version_info_spec.rb +333 -228
  106. data/spec/rake/funnel/support/which_spec.rb +65 -65
  107. data/spec/rake/funnel/support/zipper_spec.rb +77 -77
  108. data/spec/rake/funnel/tasks/assembly_version_spec.rb +45 -45
  109. data/spec/rake/funnel/tasks/bin_path_spec.rb +52 -52
  110. data/spec/rake/funnel/tasks/copy_spec.rb +44 -44
  111. data/spec/rake/funnel/tasks/environments_spec.rb +249 -247
  112. data/spec/rake/funnel/tasks/msbuild_spec.rb +91 -91
  113. data/spec/rake/funnel/tasks/msdeploy_spec.rb +220 -220
  114. data/spec/rake/funnel/tasks/nunit_spec.rb +74 -74
  115. data/spec/rake/funnel/tasks/paket_spec.rb +140 -142
  116. data/spec/rake/funnel/tasks/quick_template_spec.rb +62 -62
  117. data/spec/rake/funnel/tasks/side_by_side_specs_spec.rb +58 -58
  118. data/spec/rake/funnel/tasks/timing_spec.rb +133 -133
  119. data/spec/rake/funnel/tasks/zip_spec.rb +50 -50
  120. data/spec/spec_helper.rb +43 -33
  121. metadata +2 -3
  122. data/lib/rake/funnel/support/side_by_side_specs.rb +0 -3
@@ -1,49 +1,53 @@
1
- require 'rake/clean'
2
- require 'rake/tasklib'
3
-
4
- module Rake::Funnel::Tasks
5
- class QuickTemplate < Rake::TaskLib
6
- include Rake::Funnel::Support
7
-
8
- attr_accessor :name, :search_pattern, :context
9
-
10
- def initialize(*args, &task_block)
11
- setup_ivars(args)
12
-
13
- define(args, &task_block)
14
- end
15
-
16
- private
17
- def setup_ivars(args)
18
- @name = args.shift || :template
19
-
20
- @search_pattern = %w(**/*.erb)
21
- @context = binding
22
- end
23
-
24
- def define(args, &task_block)
25
- desc 'Generate templates' unless Rake.application.last_description
26
- task(name, *args) do |_, task_args|
27
- task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
28
-
29
- templates.all_or_default.each do |template|
30
- target = result_filename(template)
31
- Rake.rake_output_message "Creating file #{target}"
32
-
33
- content = TemplateEngine.render(File.read(template), template, context)
34
- File.write(target, content)
35
- end
36
- end
37
-
38
- self
39
- end
40
-
41
- def templates
42
- Finder.new(search_pattern, self, 'No templates found.')
43
- end
44
-
45
- def result_filename(template)
46
- template.ext
47
- end
48
- end
49
- end
1
+ require 'rake/clean'
2
+ require 'rake/tasklib'
3
+
4
+ module Rake
5
+ module Funnel
6
+ module Tasks
7
+ class QuickTemplate < Rake::TaskLib
8
+ include Rake::Funnel::Support
9
+
10
+ attr_accessor :name, :search_pattern, :context
11
+
12
+ def initialize(*args, &task_block)
13
+ setup_ivars(args)
14
+
15
+ define(args, &task_block)
16
+ end
17
+
18
+ private
19
+ def setup_ivars(args)
20
+ @name = args.shift || :template
21
+
22
+ @search_pattern = %w(**/*.erb)
23
+ @context = binding
24
+ end
25
+
26
+ def define(args, &task_block)
27
+ desc 'Generate templates' unless Rake.application.last_description
28
+ task(name, *args) do |_, task_args|
29
+ task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
30
+
31
+ templates.all_or_default.each do |template|
32
+ target = result_filename(template)
33
+ Rake.rake_output_message "Creating file #{target}"
34
+
35
+ content = TemplateEngine.render(File.read(template), template, context)
36
+ File.write(target, content)
37
+ end
38
+ end
39
+
40
+ self
41
+ end
42
+
43
+ def templates
44
+ Finder.new(search_pattern, self, 'No templates found.')
45
+ end
46
+
47
+ def result_filename(template)
48
+ template.ext
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -1,37 +1,41 @@
1
- require 'rake/tasklib'
2
-
3
- module Rake::Funnel::Tasks
4
- class SideBySideSpecs < Rake::TaskLib
5
- include Rake::Funnel::Support
6
-
7
- attr_accessor :name, :projects, :references, :specs, :enabled
8
-
9
- def initialize(*args, &task_block)
10
- setup_ivars(args)
11
-
12
- define(args, &task_block)
13
- end
14
-
15
- private
16
- def setup_ivars(args)
17
- @name = args.shift || :compile
18
-
19
- @projects = %w(**/*.csproj **/*.vbproj **/*.fsproj)
20
- @references = []
21
- @specs = %w(*Specs.cs **/*Specs.cs *Tests.cs **/*Tests.cs)
22
- @enabled = false
23
- end
24
-
25
- def define(args, &task_block)
26
- desc 'Remove tests from projects' unless Rake.application.last_description
27
- task(name, *args) do |_, task_args|
28
- task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
29
-
30
- next unless enabled
31
- SpecsRemover.remove({ projects: projects, references: references, specs: specs })
32
- end
33
-
34
- self
35
- end
36
- end
37
- end
1
+ require 'rake/tasklib'
2
+
3
+ module Rake
4
+ module Funnel
5
+ module Tasks
6
+ class SideBySideSpecs < Rake::TaskLib
7
+ include Rake::Funnel::Support
8
+
9
+ attr_accessor :name, :projects, :references, :specs, :enabled
10
+
11
+ def initialize(*args, &task_block)
12
+ setup_ivars(args)
13
+
14
+ define(args, &task_block)
15
+ end
16
+
17
+ private
18
+ def setup_ivars(args)
19
+ @name = args.shift || :compile
20
+
21
+ @projects = %w(**/*.csproj **/*.vbproj **/*.fsproj)
22
+ @references = []
23
+ @specs = %w(*Specs.cs **/*Specs.cs *Tests.cs **/*Tests.cs)
24
+ @enabled = false
25
+ end
26
+
27
+ def define(args, &task_block)
28
+ desc 'Remove tests from projects' unless Rake.application.last_description
29
+ task(name, *args) do |_, task_args|
30
+ task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
31
+
32
+ next unless enabled
33
+ SpecsRemover.remove(projects: projects, references: references, specs: specs)
34
+ end
35
+
36
+ self
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,104 +1,108 @@
1
- require 'rake/tasklib'
2
-
3
- module Rake::Funnel::Tasks
4
- class Timing < Rake::TaskLib
5
- include Rake::Funnel::Support::Timing
6
-
7
- attr_accessor :name
8
- attr_reader :stats
9
-
10
- def initialize(*args, &task_block)
11
- setup_ivars(args)
12
-
13
- define(args, &task_block)
14
- end
15
-
16
- def reset!
17
- patches.each { |p| p.revert! }
18
- end
19
-
20
- private
21
- def setup_ivars(args)
22
- @name = args.shift || :timing
23
-
24
- @stats = Statistics.new
25
- end
26
-
27
- def define(args, &task_block)
28
- patches.each { |p| p.apply! }
29
-
30
- desc 'Output task timing information' unless Rake.application.last_description
31
-
32
- task name, :failed do |_, task_args|
33
- task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
34
-
35
- Report.new(@stats, task_args).render
36
- end
37
-
38
- timing_task = Rake.application.current_scope.path_with_task_name(@name)
39
- Rake.application.top_level_tasks.push(timing_task)
40
-
41
- self
42
- end
43
-
44
- def patches
45
- @patches ||= [report, benchmark]
46
- end
47
-
48
- def report
49
- Rake::Funnel::Support::Patch.new do |p|
50
- report_invoker = -> (opts) { Report.new(@stats, opts).render }
51
-
52
- p.setup do
53
- Rake::Application.class_eval do
54
- orig_display_error_message = instance_method(:display_error_message)
55
-
56
- define_method(:display_error_message) do |ex|
57
- orig_display_error_message.bind(self).call(ex)
58
-
59
- report_invoker.call(failed: true)
60
- end
61
-
62
- orig_display_error_message
63
- end
64
- end
65
-
66
- p.reset do |memo|
67
- Rake::Application.class_eval do
68
- define_method(:display_error_message) do |ex|
69
- memo.bind(self).call(ex)
70
- end
71
- end
72
- end
73
- end
74
- end
75
-
76
- def benchmark
77
- Rake::Funnel::Support::Patch.new do |p|
78
- benchmark_invoker = -> (task, &block) { @stats.benchmark(task, &block) }
79
-
80
- p.setup do
81
- Rake::Task.class_eval do
82
- orig_execute = instance_method(:execute)
83
-
84
- define_method(:execute) do |args|
85
- benchmark_invoker.call(self) do
86
- orig_execute.bind(self).call(args)
87
- end
88
- end
89
-
90
- orig_execute
91
- end
92
- end
93
-
94
- p.reset do |memo|
95
- Rake::Task.class_eval do
96
- define_method(:execute) do |ex|
97
- memo.bind(self).call(ex)
98
- end
99
- end
100
- end
101
- end
102
- end
103
- end
104
- end
1
+ require 'rake/tasklib'
2
+
3
+ module Rake
4
+ module Funnel
5
+ module Tasks
6
+ class Timing < Rake::TaskLib
7
+ include Rake::Funnel::Support::Timing
8
+
9
+ attr_accessor :name
10
+ attr_reader :stats
11
+
12
+ def initialize(*args, &task_block)
13
+ setup_ivars(args)
14
+
15
+ define(args, &task_block)
16
+ end
17
+
18
+ def reset!
19
+ patches.each(&:revert!)
20
+ end
21
+
22
+ private
23
+ def setup_ivars(args)
24
+ @name = args.shift || :timing
25
+
26
+ @stats = Statistics.new
27
+ end
28
+
29
+ def define(_args, &task_block)
30
+ patches.each(&:apply!)
31
+
32
+ desc 'Output task timing information' unless Rake.application.last_description
33
+
34
+ task name, :failed do |_, task_args|
35
+ task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
36
+
37
+ Report.new(@stats, task_args).render
38
+ end
39
+
40
+ timing_task = Rake.application.current_scope.path_with_task_name(@name)
41
+ Rake.application.top_level_tasks.push(timing_task)
42
+
43
+ self
44
+ end
45
+
46
+ def patches
47
+ @patches ||= [report, benchmark]
48
+ end
49
+
50
+ def report
51
+ Rake::Funnel::Support::Patch.new do |p|
52
+ report_invoker = -> (opts) { Report.new(@stats, opts).render }
53
+
54
+ p.setup do
55
+ Rake::Application.class_eval do
56
+ orig_display_error_message = instance_method(:display_error_message)
57
+
58
+ define_method(:display_error_message) do |ex|
59
+ orig_display_error_message.bind(self).call(ex)
60
+
61
+ report_invoker.call(failed: true)
62
+ end
63
+
64
+ orig_display_error_message
65
+ end
66
+ end
67
+
68
+ p.reset do |memo|
69
+ Rake::Application.class_eval do
70
+ define_method(:display_error_message) do |ex|
71
+ memo.bind(self).call(ex)
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+
78
+ def benchmark
79
+ Rake::Funnel::Support::Patch.new do |p|
80
+ benchmark_invoker = -> (task, &block) { @stats.benchmark(task, &block) }
81
+
82
+ p.setup do
83
+ Rake::Task.class_eval do
84
+ orig_execute = instance_method(:execute)
85
+
86
+ define_method(:execute) do |args|
87
+ benchmark_invoker.call(self) do
88
+ orig_execute.bind(self).call(args)
89
+ end
90
+ end
91
+
92
+ orig_execute
93
+ end
94
+ end
95
+
96
+ p.reset do |memo|
97
+ Rake::Task.class_eval do
98
+ define_method(:execute) do |ex|
99
+ memo.bind(self).call(ex)
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -1,42 +1,46 @@
1
- require 'rake/tasklib'
2
-
3
- module Rake::Funnel::Tasks
4
- class Zip < Rake::TaskLib
5
- include Rake::Funnel::Support
6
-
7
- attr_accessor :name, :source, :target, :zip_root
8
-
9
- def initialize(*args, &task_block)
10
- setup_ivars(args)
11
-
12
- define(args, &task_block)
13
- end
14
-
15
- private
16
- def setup_ivars(args)
17
- @name = args.shift || :package
18
-
19
- @source = []
20
- @target = nil
21
- @zip_root = nil
22
- end
23
-
24
- def define(args, &task_block)
25
- desc 'Zip files' unless Rake.application.last_description
26
-
27
- task(name, *args) do |_, task_args|
28
- task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
29
-
30
- Zipper.zip(files, target, zip_root)
31
-
32
- Rake.rake_output_message("Created #{target}")
33
- end
34
-
35
- self
36
- end
37
-
38
- def files
39
- Finder.new(source, self, 'No files to zip.').all_or_default
40
- end
41
- end
42
- end
1
+ require 'rake/tasklib'
2
+
3
+ module Rake
4
+ module Funnel
5
+ module Tasks
6
+ class Zip < Rake::TaskLib
7
+ include Rake::Funnel::Support
8
+
9
+ attr_accessor :name, :source, :target, :zip_root
10
+
11
+ def initialize(*args, &task_block)
12
+ setup_ivars(args)
13
+
14
+ define(args, &task_block)
15
+ end
16
+
17
+ private
18
+ def setup_ivars(args)
19
+ @name = args.shift || :package
20
+
21
+ @source = []
22
+ @target = nil
23
+ @zip_root = nil
24
+ end
25
+
26
+ def define(args, &task_block)
27
+ desc 'Zip files' unless Rake.application.last_description
28
+
29
+ task(name, *args) do |_, task_args|
30
+ task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
31
+
32
+ Zipper.zip(files, target, zip_root)
33
+
34
+ Rake.rake_output_message("Created #{target}")
35
+ end
36
+
37
+ self
38
+ end
39
+
40
+ def files
41
+ Finder.new(source, self, 'No files to zip.').all_or_default
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -1,5 +1,5 @@
1
1
  module Rake
2
2
  module Funnel
3
- VERSION = '0.3.2.pre'
3
+ VERSION = '0.4.0.pre'
4
4
  end
5
5
  end
data/lib/rake/funnel.rb CHANGED
@@ -1,7 +1,7 @@
1
- require 'rake'
2
-
3
- module Rake
4
- module Funnel; end
5
- end
6
-
7
- require "#{File.dirname(__FILE__)}/funnel/framework.rb"
1
+ require 'rake'
2
+
3
+ module Rake
4
+ module Funnel; end
5
+ end
6
+
7
+ require "#{File.dirname(__FILE__)}/funnel/framework.rb"
data/rake-funnel.gemspec CHANGED
@@ -10,8 +10,8 @@ Gem::Specification.new do |s|
10
10
  s.email = ['agross@therightstuff.de']
11
11
  s.homepage = 'http://grossweber.com'
12
12
  s.license = 'BSD'
13
- s.description = %q{A standardized build pipeline}
14
- s.summary = %q{The build pipeline}
13
+ s.description = 'A standardized build pipeline'
14
+ s.summary = 'The build pipeline'
15
15
 
16
16
  s.required_ruby_version = '>= 2.0.0'
17
17
 
@@ -21,7 +21,16 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency 'configatron', '~> 4.5'
22
22
 
23
23
  git = ENV['TEAMCITY_GIT_PATH'] || 'git'
24
- s.files = `"#{git}" ls-files -z`.split("\x0").reject { |file| file =~ %r{^(config/|tools/|lib/tasks|\.gitignore|\.travis)} || file =~ %r{(Guard|Rake)file} || File.extname(file) == '.cmd' }
24
+ files = `"#{git}" ls-files -z`
25
+ .split("\x0")
26
+ .reject do |file|
27
+ file =~ %r{^(config/|tools/|lib/tasks)} ||
28
+ file =~ %r{\.git|\.travis|\.ruby-version|\.rubocop} ||
29
+ file =~ %r{(Guard|Rake)file} ||
30
+ File.extname(file) == '.cmd'
31
+ end
32
+
33
+ s.files = files
25
34
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
26
35
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
27
36
  s.require_paths = ['lib']