rake-funnel 0.0.6.pre → 0.1.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.
- checksums.yaml +4 -4
- data/lib/rake/funnel/extensions/{camel_case.rb → case/camel_case.rb} +0 -0
- data/lib/rake/funnel/extensions/case/pascal_case.rb +19 -0
- data/lib/rake/funnel/extensions/case.rb +3 -0
- data/lib/rake/funnel/framework.rb +1 -0
- data/lib/rake/funnel/support/argument_mapper/key_value_pair.rb +10 -0
- data/lib/rake/funnel/support/{mapper_styles → argument_mapper/styles}/default.rb +1 -1
- data/lib/rake/funnel/support/{mapper_styles → argument_mapper/styles}/msbuild.rb +1 -1
- data/lib/rake/funnel/support/{mapper_styles → argument_mapper/styles}/msdeploy.rb +1 -1
- data/lib/rake/funnel/support/{mapper_styles → argument_mapper/styles}/nunit.rb +1 -1
- data/lib/rake/funnel/support/argument_mapper/styles.rb +5 -0
- data/lib/rake/funnel/support/argument_mapper/switch.rb +10 -0
- data/lib/rake/funnel/support/argument_mapper/value.rb +10 -0
- data/lib/rake/funnel/support/assembly_version/from_version_files.rb +35 -0
- data/lib/rake/funnel/support/assembly_version/languages/cs +5 -0
- data/lib/rake/funnel/support/assembly_version/languages/fs +12 -0
- data/lib/rake/funnel/support/assembly_version/languages/vb +5 -0
- data/lib/rake/funnel/support/assembly_version_writer.rb +52 -0
- data/lib/rake/funnel/{tasks/environments_support → support/environments}/loader.rb +8 -11
- data/lib/rake/funnel/support/environments.rb +3 -0
- data/lib/rake/funnel/support/{finder.rb → internal/finder.rb} +0 -0
- data/lib/rake/funnel/support/internal/instantiate_symbol.rb +34 -0
- data/lib/rake/funnel/support/mapper.rb +7 -35
- data/lib/rake/funnel/{tasks/msbuild_support → support/msbuild}/build_tool.rb +1 -1
- data/lib/rake/funnel/support/msbuild.rb +3 -0
- data/lib/rake/funnel/{tasks/msdeploy_support → support/msdeploy}/registry_patch.rb +1 -1
- data/lib/rake/funnel/support/msdeploy.rb +3 -0
- data/lib/rake/funnel/{tasks/side_by_side_specs_support → support/side_by_side_specs}/remover.rb +1 -1
- data/lib/rake/funnel/support/side_by_side_specs.rb +3 -0
- data/lib/rake/funnel/{tasks/timing_support → support/timing}/report.rb +1 -1
- data/lib/rake/funnel/{tasks/timing_support → support/timing}/statistics.rb +1 -1
- data/lib/rake/funnel/support/timing.rb +3 -0
- data/lib/rake/funnel/support/{version.rb → version_info.rb} +25 -8
- data/lib/rake/funnel/tasks/assembly_version.rb +34 -0
- data/lib/rake/funnel/tasks/bin_path.rb +3 -3
- data/lib/rake/funnel/tasks/copy.rb +3 -1
- data/lib/rake/funnel/tasks/environments.rb +4 -2
- data/lib/rake/funnel/tasks/msbuild.rb +6 -7
- data/lib/rake/funnel/tasks/msdeploy.rb +5 -6
- data/lib/rake/funnel/tasks/nunit.rb +5 -3
- data/lib/rake/funnel/tasks/paket.rb +4 -2
- data/lib/rake/funnel/tasks/quick_template.rb +3 -1
- data/lib/rake/funnel/tasks/side_by_side_specs.rb +3 -5
- data/lib/rake/funnel/tasks/timing.rb +5 -8
- data/lib/rake/funnel/tasks/zip.rb +3 -1
- data/lib/rake/funnel/version.rb +1 -1
- data/spec/rake/funnel/extensions/{camel_case_spec.rb → case/camel_case_spec.rb} +0 -0
- data/spec/rake/funnel/extensions/case/pascal_case_spec.rb +17 -0
- data/spec/rake/funnel/support/{mapper_styles → argument_mapper/styles}/msdeploy_spec.rb +1 -1
- data/spec/rake/funnel/support/{mapper_styles → argument_mapper/styles}/nunit_spec.rb +1 -1
- data/spec/rake/funnel/support/{mapper_styles → argument_mapper/styles}/styles_spec.rb +4 -4
- data/spec/rake/funnel/support/assembly_version/from_version_files_spec.rb +61 -0
- data/spec/rake/funnel/support/assembly_version_writer_spec.rb +140 -0
- data/spec/rake/funnel/{tasks/environments_support → support/environments}/loader_spec.rb +13 -3
- data/spec/rake/funnel/support/{finder_spec.rb → internal/finder_spec.rb} +7 -6
- data/spec/rake/funnel/support/internal/instantiate_symbol_spec.rb +183 -0
- data/spec/rake/funnel/support/mapper_spec.rb +2 -2
- data/spec/rake/funnel/{tasks/msbuild_support → support/msbuild}/build_tool_spec.rb +1 -1
- data/spec/rake/funnel/{tasks/msdeploy_support → support/msdeploy}/registry_patch_spec.rb +3 -3
- data/spec/rake/funnel/{tasks/side_by_side_specs_support → support/side_by_side_specs}/example/FooCode.cs +0 -0
- data/spec/rake/funnel/{tasks/side_by_side_specs_support → support/side_by_side_specs}/example/FooSpecs.cs +0 -0
- data/spec/rake/funnel/{tasks/side_by_side_specs_support → support/side_by_side_specs}/example/Sample.csproj +0 -0
- data/spec/rake/funnel/{tasks/side_by_side_specs_support → support/side_by_side_specs}/example/Specs.cs +0 -0
- data/spec/rake/funnel/{tasks/side_by_side_specs_support → support/side_by_side_specs}/example/subdir/BarCode.cs +0 -0
- data/spec/rake/funnel/{tasks/side_by_side_specs_support → support/side_by_side_specs}/example/subdir/BarSpecs.cs +0 -0
- data/spec/rake/funnel/{tasks/side_by_side_specs_support → support/side_by_side_specs}/remover_spec.rb +1 -1
- data/spec/rake/funnel/support/template_engine_spec.rb +2 -2
- data/spec/rake/funnel/{tasks/timing_support → support/timing}/report_spec.rb +2 -2
- data/spec/rake/funnel/support/version_info_spec.rb +228 -0
- data/spec/rake/funnel/tasks/assembly_version_spec.rb +54 -0
- data/spec/rake/funnel/tasks/bin_path_spec.rb +4 -4
- data/spec/rake/funnel/tasks/copy_spec.rb +1 -1
- data/spec/rake/funnel/tasks/environments_spec.rb +82 -26
- data/spec/rake/funnel/tasks/msbuild_spec.rb +1 -1
- data/spec/rake/funnel/tasks/msdeploy_spec.rb +1 -1
- data/spec/rake/funnel/tasks/paket_spec.rb +2 -2
- data/spec/rake/funnel/tasks/side_by_side_specs_spec.rb +4 -3
- data/spec/rake/funnel/tasks/zip_spec.rb +1 -1
- metadata +77 -49
- data/spec/rake/funnel/support/version_spec.rb +0 -145
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bd0e3285c6c760070f068f6e37f30bb327594c0
|
4
|
+
data.tar.gz: 7826b86b0515d328267aa271249014916ca1a8f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b1cd945436df9fda43190a41c2975b0101c1ec4223ac165aa67247184bf92192ca5ce970da0f53540753a94ff7fc39afe1c1f8dafae65a42012f2249866dd0b
|
7
|
+
data.tar.gz: dae7713e1bf4c1fb22423969dd70b8c9fe2bdb91989bbf56d3faeb4f5e03495902153a7de42c4e53958c2e428472dab40cf22b435232c798ab0a311d5bf01ff4
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Rake::Funnel::Extensions
|
2
|
+
module PascalCase
|
3
|
+
def pascalize
|
4
|
+
self
|
5
|
+
.to_s
|
6
|
+
.split('_')
|
7
|
+
.inject([]) { |buffer, e| buffer.push(e.slice(0, 1).capitalize + e.slice(1..-1)) }
|
8
|
+
.join
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class String
|
14
|
+
include Rake::Funnel::Extensions::PascalCase
|
15
|
+
end
|
16
|
+
|
17
|
+
class Symbol
|
18
|
+
include Rake::Funnel::Extensions::PascalCase
|
19
|
+
end
|
@@ -6,6 +6,7 @@ module Rake::Funnel::Tasks; end
|
|
6
6
|
[
|
7
7
|
"#{File.dirname(__FILE__)}/*.rb",
|
8
8
|
"#{File.dirname(__FILE__)}/extensions/*.rb",
|
9
|
+
"#{File.dirname(__FILE__)}/support/internal/*.rb",
|
9
10
|
"#{File.dirname(__FILE__)}/support/*.rb",
|
10
11
|
"#{File.dirname(__FILE__)}/*/*.rb",
|
11
12
|
].each do |path|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Rake::Funnel::Support::AssemblyVersion
|
2
|
+
class FromVersionFiles
|
3
|
+
include Rake::Funnel::Support
|
4
|
+
include Enumerable
|
5
|
+
|
6
|
+
attr_reader :search_pattern, :build_number, :sha
|
7
|
+
|
8
|
+
def initialize(args = {})
|
9
|
+
@search_pattern = args[:search_pattern] || %w(**/VERSION)
|
10
|
+
@build_number = args[:build_number]
|
11
|
+
@sha = args[:sha]
|
12
|
+
end
|
13
|
+
|
14
|
+
def each
|
15
|
+
block_given? or return enum_for(__method__)
|
16
|
+
|
17
|
+
files.each do |file|
|
18
|
+
Rake.rake_output_message("Reading #{file}")
|
19
|
+
|
20
|
+
version_info = VersionInfo.parse({
|
21
|
+
version: VersionInfo.read_version_from(file),
|
22
|
+
build_number: build_number,
|
23
|
+
sha: sha
|
24
|
+
})
|
25
|
+
|
26
|
+
yield({ source: file, version_info: version_info })
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
def files
|
32
|
+
Finder.new(search_pattern, self, 'No version files found.').all_or_default
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
namespace System
|
2
|
+
open System.Reflection
|
3
|
+
|
4
|
+
<% version_info.each do |key, value| %>
|
5
|
+
[<assembly: <%= key.pascalize %>("<%= value %>")>]
|
6
|
+
<% end %>
|
7
|
+
do ()
|
8
|
+
|
9
|
+
<% if version_info.assembly_file_version %>
|
10
|
+
module internal AssemblyVersionInformation =
|
11
|
+
let [<Literal>] Version = "<%= version_info.assembly_file_version %>"
|
12
|
+
<% end %>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'erb'
|
2
|
+
|
3
|
+
Dir[File.join(File.dirname(__FILE__), 'assembly_version', '*.rb')].each do |path|
|
4
|
+
require path
|
5
|
+
end
|
6
|
+
|
7
|
+
module Rake::Funnel::Support
|
8
|
+
class AssemblyVersionWriter
|
9
|
+
include Rake::Funnel::Support::InstantiateSymbol
|
10
|
+
instantiate AssemblyVersion
|
11
|
+
|
12
|
+
def initialize(type = :FromVersionFiles, args = {})
|
13
|
+
@type = create(type, args)
|
14
|
+
end
|
15
|
+
|
16
|
+
def write(target_path, languages = [])
|
17
|
+
@type.each do |info|
|
18
|
+
source = info[:source]
|
19
|
+
version_info = info[:version_info]
|
20
|
+
|
21
|
+
[languages].flatten.each do |language|
|
22
|
+
target = target_path.call(language, version_info, source)
|
23
|
+
|
24
|
+
contents = evaluate_erb(language, version_info, target)
|
25
|
+
|
26
|
+
Rake.rake_output_message("Writing #{target}")
|
27
|
+
File.write(target, contents)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
def evaluate_erb(language, version_info, target)
|
34
|
+
template = template_for(language)
|
35
|
+
|
36
|
+
render = ERB.new(template, nil, '%<>')
|
37
|
+
render.filename = target
|
38
|
+
render.result(get_binding(version_info))
|
39
|
+
end
|
40
|
+
|
41
|
+
def template_for(language)
|
42
|
+
template = File.join(File.dirname(__FILE__), 'assembly_version', 'languages', language.to_s)
|
43
|
+
raise "Language is not supported: #{language}" unless File.readable?(template)
|
44
|
+
|
45
|
+
File.read(template)
|
46
|
+
end
|
47
|
+
|
48
|
+
def get_binding(version_info)
|
49
|
+
binding
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'configatron'
|
2
2
|
require 'yaml'
|
3
3
|
|
4
|
-
module Rake::Funnel::
|
4
|
+
module Rake::Funnel::Support::Environments
|
5
5
|
class Loader
|
6
6
|
class << self
|
7
|
-
def load_configuration(config, store = configatron)
|
8
|
-
|
7
|
+
def load_configuration(config, store = configatron, customizer = nil)
|
8
|
+
Rake.rake_output_message("Configuring for #{config[:name]}")
|
9
9
|
store.unlock!
|
10
10
|
store.reset!
|
11
11
|
|
@@ -13,7 +13,7 @@ module Rake::Funnel::Tasks::EnvironmentsSupport
|
|
13
13
|
|
14
14
|
operation = 'Loading'
|
15
15
|
config.fetch(:config_files, []).each do |file|
|
16
|
-
|
16
|
+
Rake.rake_output_message("#{operation} #{file}")
|
17
17
|
operation = 'Merging'
|
18
18
|
|
19
19
|
yaml = File.read(file)
|
@@ -22,10 +22,12 @@ module Rake::Funnel::Tasks::EnvironmentsSupport
|
|
22
22
|
store.configure_from_hash(yaml)
|
23
23
|
end
|
24
24
|
|
25
|
+
customizer.call(store) if customizer && customizer.respond_to?(:call)
|
26
|
+
|
25
27
|
store.lock!
|
26
28
|
|
27
|
-
|
28
|
-
|
29
|
+
Rake.rake_output_message('')
|
30
|
+
Rake.rake_output_message(store.inspect)
|
29
31
|
end
|
30
32
|
|
31
33
|
def evaluate_erb(yaml, filename)
|
@@ -33,11 +35,6 @@ module Rake::Funnel::Tasks::EnvironmentsSupport
|
|
33
35
|
render.filename = filename
|
34
36
|
render.result
|
35
37
|
end
|
36
|
-
|
37
|
-
private
|
38
|
-
def log(message)
|
39
|
-
Rake.rake_output_message(message)
|
40
|
-
end
|
41
38
|
end
|
42
39
|
end
|
43
40
|
end
|
File without changes
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Rake::Funnel::Support
|
2
|
+
module InstantiateSymbol
|
3
|
+
def self.included(klass)
|
4
|
+
klass.extend(ClassMethods)
|
5
|
+
klass.send(:instantiate, klass)
|
6
|
+
end
|
7
|
+
|
8
|
+
module ClassMethods
|
9
|
+
attr_reader :module
|
10
|
+
|
11
|
+
private
|
12
|
+
def instantiate(mod)
|
13
|
+
@module = mod
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
def create(sym, *args)
|
19
|
+
return sym unless sym.kind_of?(Symbol)
|
20
|
+
|
21
|
+
begin
|
22
|
+
type = self.class.module.const_get(sym)
|
23
|
+
rescue NameError
|
24
|
+
raise NameError, "Unknown type to instantiate: #{sym.inspect}. Available types are: #{available.inspect}"
|
25
|
+
end
|
26
|
+
|
27
|
+
type.new(*args)
|
28
|
+
end
|
29
|
+
|
30
|
+
def available
|
31
|
+
return self.class.module.constants.sort
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,45 +1,17 @@
|
|
1
|
-
Dir[
|
1
|
+
Dir[File.join(File.dirname(__FILE__), 'argument_mapper', '*.rb')].each do |path|
|
2
2
|
require path
|
3
3
|
end
|
4
4
|
|
5
5
|
module Rake::Funnel::Support
|
6
|
-
class Switch
|
7
|
-
attr_reader :switch, :values
|
8
|
-
|
9
|
-
def initialize(switch, values)
|
10
|
-
@values = values
|
11
|
-
@switch = switch
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class Value
|
16
|
-
attr_reader :key, :value
|
17
|
-
|
18
|
-
def initialize(value)
|
19
|
-
@key = nil
|
20
|
-
@value = value
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
class KeyValuePair
|
25
|
-
attr_reader :key, :value
|
26
|
-
|
27
|
-
def initialize(key, value)
|
28
|
-
@key = key
|
29
|
-
@value = value
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
6
|
class Mapper
|
7
|
+
include Rake::Funnel::Support::ArgumentMapper
|
8
|
+
include InstantiateSymbol
|
9
|
+
instantiate Styles
|
10
|
+
|
34
11
|
def initialize(style = :Default)
|
35
|
-
raise "You cannot use
|
12
|
+
raise "You cannot use the 'nil' mapper style. Available mappers are: #{available.inspect}" if style.nil?
|
36
13
|
|
37
|
-
@style = style
|
38
|
-
begin
|
39
|
-
@style = MapperStyles.const_get(style).new if style.kind_of?(Symbol)
|
40
|
-
rescue => ex
|
41
|
-
raise "Something went wrong while creating the '#{style}' mapper: #{ex}"
|
42
|
-
end
|
14
|
+
@style = create(style)
|
43
15
|
end
|
44
16
|
|
45
17
|
def map(args = {})
|
@@ -1,12 +1,29 @@
|
|
1
|
+
require 'ostruct'
|
2
|
+
|
1
3
|
module Rake::Funnel::Support
|
2
|
-
class
|
4
|
+
class VersionInfo < OpenStruct
|
5
|
+
include Enumerable
|
6
|
+
|
7
|
+
def initialize(hash = nil)
|
8
|
+
super(hash)
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
def each(&block)
|
13
|
+
each_pair(&block)
|
14
|
+
end
|
15
|
+
|
3
16
|
class << self
|
4
17
|
def parse(context)
|
5
|
-
{
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
18
|
+
VersionInfo.new({
|
19
|
+
assembly_version: assembly_version(context),
|
20
|
+
assembly_file_version: assembly_file_version(context),
|
21
|
+
assembly_informational_version: assembly_informational_version(context)
|
22
|
+
})
|
23
|
+
end
|
24
|
+
|
25
|
+
def read_version_from(file)
|
26
|
+
File.open(file, &:readline).strip
|
10
27
|
end
|
11
28
|
|
12
29
|
private
|
@@ -40,12 +57,12 @@ module Rake::Funnel::Support
|
|
40
57
|
|
41
58
|
def strip_trailing_non_numeric(str)
|
42
59
|
return nil if str.nil?
|
43
|
-
str.gsub(/[^\d\.].*/, '')
|
60
|
+
str.to_s.gsub(/[^\d\.].*/, '')
|
44
61
|
end
|
45
62
|
|
46
63
|
def strip_leading_non_numeric(str)
|
47
64
|
return nil if str.nil?
|
48
|
-
str = str.gsub(/[^\d\.]/, '')
|
65
|
+
str = str.to_s.gsub(/[^\d\.]/, '')
|
49
66
|
|
50
67
|
return nil if str.empty?
|
51
68
|
str
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'rake/tasklib'
|
2
|
+
|
3
|
+
module Rake::Funnel::Tasks
|
4
|
+
class AssemblyVersion < Rake::TaskLib
|
5
|
+
include Rake::Funnel::Support
|
6
|
+
|
7
|
+
attr_accessor :name, :language, :source, :source_args, :target_path
|
8
|
+
|
9
|
+
def initialize(name = :version)
|
10
|
+
@name = name
|
11
|
+
@language = :cs
|
12
|
+
@source = :FromVersionFiles
|
13
|
+
@source_args = {}
|
14
|
+
@target_path = next_to_version_file
|
15
|
+
|
16
|
+
yield self if block_given?
|
17
|
+
define
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
def define
|
22
|
+
desc 'Generate version info'
|
23
|
+
task name do
|
24
|
+
writer = AssemblyVersionWriter.new(source, source_args)
|
25
|
+
|
26
|
+
writer.write(target_path, language)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def next_to_version_file
|
31
|
+
Proc.new { |language, version_info, source| File.join(File.dirname(source), "VersionInfo.#{language}") }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -2,11 +2,11 @@ require 'rake/tasklib'
|
|
2
2
|
|
3
3
|
module Rake::Funnel::Tasks
|
4
4
|
class BinPath < Rake::TaskLib
|
5
|
-
attr_accessor :name, :
|
5
|
+
attr_accessor :name, :search_pattern
|
6
6
|
|
7
7
|
def initialize(name = :bin_path)
|
8
8
|
@name = name
|
9
|
-
@
|
9
|
+
@search_pattern = %w(tools/* tools/*/bin packages/**/tools)
|
10
10
|
|
11
11
|
yield self if block_given?
|
12
12
|
define
|
@@ -25,7 +25,7 @@ module Rake::Funnel::Tasks
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def add_pattern_to_path_environment
|
28
|
-
bin_paths = Dir[*@
|
28
|
+
bin_paths = Dir[*@search_pattern].map { |path| File.expand_path(path) }.sort
|
29
29
|
|
30
30
|
ENV['PATH'] = ([] << bin_paths << ENV['PATH']).flatten.join(File::PATH_SEPARATOR)
|
31
31
|
bin_paths
|
@@ -3,6 +3,8 @@ require 'rake/tasklib'
|
|
3
3
|
|
4
4
|
module Rake::Funnel::Tasks
|
5
5
|
class Copy < Rake::TaskLib
|
6
|
+
include Rake::Funnel::Support
|
7
|
+
|
6
8
|
attr_accessor :name, :source, :target
|
7
9
|
|
8
10
|
def initialize(name = :copy)
|
@@ -39,7 +41,7 @@ module Rake::Funnel::Tasks
|
|
39
41
|
end
|
40
42
|
|
41
43
|
def files
|
42
|
-
|
44
|
+
Finder.new(source, self, 'No files found.').all_or_default
|
43
45
|
end
|
44
46
|
|
45
47
|
def target_path(file)
|
@@ -6,7 +6,9 @@ end
|
|
6
6
|
|
7
7
|
module Rake::Funnel::Tasks
|
8
8
|
class Environments < Rake::TaskLib
|
9
|
-
|
9
|
+
include Rake::Funnel::Support::Environments
|
10
|
+
|
11
|
+
attr_accessor :base_dir, :default_env, :default_config, :local_config, :customizer
|
10
12
|
|
11
13
|
def initialize
|
12
14
|
@default_env = nil
|
@@ -26,7 +28,7 @@ module Rake::Funnel::Tasks
|
|
26
28
|
environments.each do |env|
|
27
29
|
desc "Configure for the #{env[:name]} environment"
|
28
30
|
task env[:name] do
|
29
|
-
|
31
|
+
Loader.load_configuration(env, configatron, customizer)
|
30
32
|
end
|
31
33
|
end
|
32
34
|
end
|
@@ -1,11 +1,10 @@
|
|
1
1
|
require 'rake/tasklib'
|
2
2
|
|
3
|
-
Dir["#{File.dirname(__FILE__)}/msbuild_support/*.rb"].each do |path|
|
4
|
-
require path
|
5
|
-
end
|
6
|
-
|
7
3
|
module Rake::Funnel::Tasks
|
8
4
|
class MSBuild < Rake::TaskLib
|
5
|
+
include Rake::Funnel::Support
|
6
|
+
include Rake::Funnel::Support::MSBuild
|
7
|
+
|
9
8
|
attr_accessor :name, :project_or_solution, :args, :search_pattern
|
10
9
|
|
11
10
|
def initialize(name = :compile)
|
@@ -18,7 +17,7 @@ module Rake::Funnel::Tasks
|
|
18
17
|
end
|
19
18
|
|
20
19
|
def msbuild
|
21
|
-
@_msbuild ||
|
20
|
+
@_msbuild || BuildTool.find
|
22
21
|
end
|
23
22
|
|
24
23
|
def msbuild=(value)
|
@@ -26,7 +25,7 @@ module Rake::Funnel::Tasks
|
|
26
25
|
end
|
27
26
|
|
28
27
|
def project_or_solution
|
29
|
-
|
28
|
+
Finder.new(@_project_or_solution || search_pattern, self, 'No projects or more than one project found.')
|
30
29
|
end
|
31
30
|
|
32
31
|
def project_or_solution=(value)
|
@@ -40,7 +39,7 @@ module Rake::Funnel::Tasks
|
|
40
39
|
cmd = [
|
41
40
|
msbuild,
|
42
41
|
project_or_solution.single,
|
43
|
-
*
|
42
|
+
*Mapper.new(:MSBuild).map(args)
|
44
43
|
]
|
45
44
|
|
46
45
|
sh(*cmd)
|
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'rake/clean'
|
2
2
|
require 'rake/tasklib'
|
3
3
|
|
4
|
-
Dir["#{File.dirname(__FILE__)}/msdeploy_support/*.rb"].each do |path|
|
5
|
-
require path
|
6
|
-
end
|
7
|
-
|
8
4
|
module Rake::Funnel::Tasks
|
9
5
|
class MSDeploy < Rake::TaskLib
|
6
|
+
include Rake::Funnel::Support
|
7
|
+
include Rake::Funnel::Support::MSDeploy
|
8
|
+
|
10
9
|
attr_accessor :name, :msdeploy, :log_file, :args
|
11
10
|
|
12
11
|
def initialize(name = :msdeploy)
|
@@ -28,12 +27,12 @@ module Rake::Funnel::Tasks
|
|
28
27
|
|
29
28
|
desc "Deploy #{deploy_source(args)}"
|
30
29
|
task @name do
|
31
|
-
mapper =
|
30
|
+
mapper = Mapper.new(:MSDeploy)
|
32
31
|
cmd = [quote(msdeploy), mapper.map(args)]
|
33
32
|
.flatten
|
34
33
|
.join(' ')
|
35
34
|
|
36
|
-
|
35
|
+
RegistryPatch.new do
|
37
36
|
shell(cmd, log_file: log_file, error_lines: /^(error|[\w\.]*exception)/i)
|
38
37
|
end
|
39
38
|
end
|