fluent_command_builder 0.8.18 → 0.9.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 (88) hide show
  1. data/lib/fluent_command_builder.rb +2 -65
  2. data/lib/fluent_command_builder/command_builder.rb +2 -2
  3. data/lib/fluent_command_builder/command_builders/appcfg_python.rb +2 -1
  4. data/lib/fluent_command_builder/command_builders/appcfg_python_16.rb +5 -4
  5. data/lib/fluent_command_builder/command_builders/appcfg_python_17.rb +5 -4
  6. data/lib/fluent_command_builder/command_builders/aspnet_compiler.rb +2 -1
  7. data/lib/fluent_command_builder/command_builders/aspnet_compiler_20.rb +5 -4
  8. data/lib/fluent_command_builder/command_builders/aspnet_compiler_40.rb +5 -4
  9. data/lib/fluent_command_builder/command_builders/bundle.rb +2 -1
  10. data/lib/fluent_command_builder/command_builders/bundle_11.rb +5 -4
  11. data/lib/fluent_command_builder/command_builders/cucumber.rb +2 -1
  12. data/lib/fluent_command_builder/command_builders/cucumber_11.rb +5 -4
  13. data/lib/fluent_command_builder/command_builders/cucumber_12.rb +5 -4
  14. data/lib/fluent_command_builder/command_builders/dev_appserver_python.rb +2 -1
  15. data/lib/fluent_command_builder/command_builders/dev_appserver_python_16.rb +5 -4
  16. data/lib/fluent_command_builder/command_builders/dev_appserver_python_17.rb +5 -4
  17. data/lib/fluent_command_builder/command_builders/dotcover.rb +2 -1
  18. data/lib/fluent_command_builder/command_builders/dotcover_10.rb +5 -4
  19. data/lib/fluent_command_builder/command_builders/dotcover_11.rb +5 -4
  20. data/lib/fluent_command_builder/command_builders/dotcover_12.rb +5 -4
  21. data/lib/fluent_command_builder/command_builders/dotcover_20.rb +5 -4
  22. data/lib/fluent_command_builder/command_builders/fastlinkchecker.rb +2 -1
  23. data/lib/fluent_command_builder/command_builders/fastlinkchecker_21.rb +5 -4
  24. data/lib/fluent_command_builder/command_builders/installutil.rb +2 -1
  25. data/lib/fluent_command_builder/command_builders/installutil_11.rb +5 -4
  26. data/lib/fluent_command_builder/command_builders/installutil_20.rb +5 -4
  27. data/lib/fluent_command_builder/command_builders/installutil_35.rb +5 -4
  28. data/lib/fluent_command_builder/command_builders/installutil_40.rb +5 -4
  29. data/lib/fluent_command_builder/command_builders/msbuild.rb +2 -1
  30. data/lib/fluent_command_builder/command_builders/msbuild_20.rb +5 -4
  31. data/lib/fluent_command_builder/command_builders/msbuild_30.rb +5 -4
  32. data/lib/fluent_command_builder/command_builders/msbuild_35.rb +5 -4
  33. data/lib/fluent_command_builder/command_builders/msbuild_40.rb +5 -4
  34. data/lib/fluent_command_builder/command_builders/msdeploy.rb +2 -1
  35. data/lib/fluent_command_builder/command_builders/msdeploy_71.rb +5 -4
  36. data/lib/fluent_command_builder/command_builders/mstest.rb +2 -1
  37. data/lib/fluent_command_builder/command_builders/mstest_100.rb +5 -4
  38. data/lib/fluent_command_builder/command_builders/mstest_80.rb +5 -4
  39. data/lib/fluent_command_builder/command_builders/mstest_90.rb +5 -4
  40. data/lib/fluent_command_builder/command_builders/netsh.rb +2 -1
  41. data/lib/fluent_command_builder/command_builders/netsh_61.rb +5 -4
  42. data/lib/fluent_command_builder/command_builders/nuget.rb +2 -1
  43. data/lib/fluent_command_builder/command_builders/nuget_20.rb +5 -4
  44. data/lib/fluent_command_builder/command_builders/nunit.rb +2 -1
  45. data/lib/fluent_command_builder/command_builders/nunit_25.rb +5 -4
  46. data/lib/fluent_command_builder/command_builders/nunit_26.rb +5 -4
  47. data/lib/fluent_command_builder/command_builders/rake.rb +2 -1
  48. data/lib/fluent_command_builder/command_builders/rake_09.rb +5 -4
  49. data/lib/fluent_command_builder/command_builders/security_osx.rb +2 -1
  50. data/lib/fluent_command_builder/command_builders/security_osx_107.rb +5 -4
  51. data/lib/fluent_command_builder/command_builders/security_osx_108.rb +5 -4
  52. data/lib/fluent_command_builder/command_builders/sevenzip.rb +2 -1
  53. data/lib/fluent_command_builder/command_builders/sevenzip_920.rb +5 -4
  54. data/lib/fluent_command_builder/command_builders/simian.rb +2 -1
  55. data/lib/fluent_command_builder/command_builders/simian_23.rb +5 -4
  56. data/lib/fluent_command_builder/command_builders/team_foundation.rb +2 -1
  57. data/lib/fluent_command_builder/command_builders/team_foundation_100.rb +5 -4
  58. data/lib/fluent_command_builder/command_builders/team_foundation_tee.rb +2 -1
  59. data/lib/fluent_command_builder/command_builders/team_foundation_tee_100.rb +5 -4
  60. data/lib/fluent_command_builder/command_builders/team_foundation_tee_101.rb +5 -4
  61. data/lib/fluent_command_builder/command_builders/xcodebuild.rb +2 -1
  62. data/lib/fluent_command_builder/command_builders/xcodebuild_43.rb +5 -4
  63. data/lib/fluent_command_builder/command_builders/xcodebuild_44.rb +5 -4
  64. data/lib/fluent_command_builder/command_builders/xcodebuild_45.rb +331 -0
  65. data/lib/fluent_command_builder/execution_context.rb +2 -4
  66. data/lib/fluent_command_builder/{argument_formatter.rb → internal/argument_formatter.rb} +8 -6
  67. data/lib/fluent_command_builder/{command_base.rb → internal/command_base.rb} +0 -0
  68. data/lib/fluent_command_builder/internal/command_builder_config.rb +57 -0
  69. data/lib/fluent_command_builder/{path_finder.rb → internal/path_finder.rb} +19 -19
  70. data/lib/fluent_command_builder/{path_finders → internal/path_finders}/unix_path_finder.rb +12 -12
  71. data/lib/fluent_command_builder/{path_finders → internal/path_finders}/windows_path_finder.rb +13 -13
  72. data/lib/fluent_command_builder/internal/path_validator.rb +54 -0
  73. data/lib/fluent_command_builder/{printer.rb → internal/printer.rb} +5 -5
  74. data/lib/fluent_command_builder/{underlying_builder.rb → internal/underlying_builder.rb} +12 -6
  75. data/lib/fluent_command_builder/{version.rb → internal/version.rb} +12 -17
  76. data/lib/fluent_command_builder/internal/version_detectors.rb +1 -0
  77. data/lib/fluent_command_builder/{version_detectors → internal/version_detectors}/appengine_python_version_detector.rb +1 -0
  78. data/lib/fluent_command_builder/{version_detectors → internal/version_detectors}/default_version_detector.rb +1 -0
  79. data/lib/fluent_command_builder/{version_detectors → internal/version_detectors}/osx_version_detector.rb +0 -0
  80. data/lib/fluent_command_builder/{version_detectors → internal/version_detectors}/standard_version_detector.rb +9 -6
  81. data/lib/fluent_command_builder/{version_detectors → internal/version_detectors}/windows_version_detector.rb +0 -0
  82. data/lib/fluent_command_builder/{version_validator.rb → internal/version_validator.rb} +26 -23
  83. data/lib/fluent_command_builder/password_formatter.rb +22 -0
  84. metadata +25 -24
  85. data/lib/fluent_command_builder/command_builder_config.rb +0 -51
  86. data/lib/fluent_command_builder/command_formatters/hidden_password_formatter.rb +0 -17
  87. data/lib/fluent_command_builder/command_formatters/null_formatter.rb +0 -9
  88. data/lib/fluent_command_builder/path_validator.rb +0 -27
@@ -0,0 +1,22 @@
1
+ module FluentCommandBuilder
2
+
3
+ class PasswordFormatter
4
+ attr_accessor :enabled, :replacement
5
+
6
+ def initialize
7
+ @enabled = true
8
+ @replacement = '***'
9
+ end
10
+
11
+ def format(command, passwords)
12
+ return command unless @enabled
13
+ passwords.each { |p| command.gsub! p, @replacement }
14
+ command
15
+ end
16
+ end
17
+
18
+ def self.password_formatter
19
+ @@password_formatter ||= PasswordFormatter.new
20
+ end
21
+
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent_command_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.18
4
+ version: 0.9.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-20 00:00:00.000000000 Z
12
+ date: 2012-09-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70335087153820 !ruby/object:Gem::Requirement
16
+ requirement: &70300608096120 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70335087153820
24
+ version_requirements: *70300608096120
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: term-ansicolor
27
- requirement: &70335087153380 !ruby/object:Gem::Requirement
27
+ requirement: &70300608095680 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,17 +32,14 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70335087153380
35
+ version_requirements: *70300608095680
36
36
  description: Fluent Command Builder makes building command lines easy and clean.
37
37
  email: matthew-github@matthewriley.name
38
38
  executables: []
39
39
  extensions: []
40
40
  extra_rdoc_files: []
41
41
  files:
42
- - lib/fluent_command_builder/argument_formatter.rb
43
- - lib/fluent_command_builder/command_base.rb
44
42
  - lib/fluent_command_builder/command_builder.rb
45
- - lib/fluent_command_builder/command_builder_config.rb
46
43
  - lib/fluent_command_builder/command_builders/appcfg_python.rb
47
44
  - lib/fluent_command_builder/command_builders/appcfg_python_16.rb
48
45
  - lib/fluent_command_builder/command_builders/appcfg_python_17.rb
@@ -104,27 +101,31 @@ files:
104
101
  - lib/fluent_command_builder/command_builders/xcodebuild.rb
105
102
  - lib/fluent_command_builder/command_builders/xcodebuild_43.rb
106
103
  - lib/fluent_command_builder/command_builders/xcodebuild_44.rb
104
+ - lib/fluent_command_builder/command_builders/xcodebuild_45.rb
107
105
  - lib/fluent_command_builder/command_executors/backticks_executor.rb
108
106
  - lib/fluent_command_builder/command_executors/dry_run_executor.rb
109
107
  - lib/fluent_command_builder/command_executors/executor_base.rb
110
108
  - lib/fluent_command_builder/command_executors/rake_sh_executor.rb
111
109
  - lib/fluent_command_builder/command_executors/system_executor.rb
112
- - lib/fluent_command_builder/command_formatters/hidden_password_formatter.rb
113
- - lib/fluent_command_builder/command_formatters/null_formatter.rb
114
110
  - lib/fluent_command_builder/execution_context.rb
115
- - lib/fluent_command_builder/path_finder.rb
116
- - lib/fluent_command_builder/path_finders/unix_path_finder.rb
117
- - lib/fluent_command_builder/path_finders/windows_path_finder.rb
118
- - lib/fluent_command_builder/path_validator.rb
119
- - lib/fluent_command_builder/printer.rb
120
- - lib/fluent_command_builder/underlying_builder.rb
121
- - lib/fluent_command_builder/version.rb
122
- - lib/fluent_command_builder/version_detectors/appengine_python_version_detector.rb
123
- - lib/fluent_command_builder/version_detectors/default_version_detector.rb
124
- - lib/fluent_command_builder/version_detectors/osx_version_detector.rb
125
- - lib/fluent_command_builder/version_detectors/standard_version_detector.rb
126
- - lib/fluent_command_builder/version_detectors/windows_version_detector.rb
127
- - lib/fluent_command_builder/version_validator.rb
111
+ - lib/fluent_command_builder/internal/argument_formatter.rb
112
+ - lib/fluent_command_builder/internal/command_base.rb
113
+ - lib/fluent_command_builder/internal/command_builder_config.rb
114
+ - lib/fluent_command_builder/internal/path_finder.rb
115
+ - lib/fluent_command_builder/internal/path_finders/unix_path_finder.rb
116
+ - lib/fluent_command_builder/internal/path_finders/windows_path_finder.rb
117
+ - lib/fluent_command_builder/internal/path_validator.rb
118
+ - lib/fluent_command_builder/internal/printer.rb
119
+ - lib/fluent_command_builder/internal/underlying_builder.rb
120
+ - lib/fluent_command_builder/internal/version.rb
121
+ - lib/fluent_command_builder/internal/version_detectors/appengine_python_version_detector.rb
122
+ - lib/fluent_command_builder/internal/version_detectors/default_version_detector.rb
123
+ - lib/fluent_command_builder/internal/version_detectors/osx_version_detector.rb
124
+ - lib/fluent_command_builder/internal/version_detectors/standard_version_detector.rb
125
+ - lib/fluent_command_builder/internal/version_detectors/windows_version_detector.rb
126
+ - lib/fluent_command_builder/internal/version_detectors.rb
127
+ - lib/fluent_command_builder/internal/version_validator.rb
128
+ - lib/fluent_command_builder/password_formatter.rb
128
129
  - lib/fluent_command_builder.rb
129
130
  homepage: http://rubygems.org/gems/fluent_command_builder
130
131
  licenses: []
@@ -1,51 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/path_validator')
2
- require File.expand_path(File.dirname(__FILE__) + '/version_validator')
3
- require File.expand_path(File.dirname(__FILE__) + '/version_detectors/default_version_detector')
4
-
5
- module FluentCommandBuilder
6
- class CommandBuilderConfig
7
-
8
- attr_accessor :path, :command_name, :version, :version_detector, :version_validation_level
9
-
10
- def initialize(command_name, version=nil)
11
- @path = nil
12
- @command_name = command_name
13
- @version = version
14
- @version_detector = DefaultVersionDetector.new command_name
15
- @version_validation_level = :fatal
16
- end
17
-
18
- def validate_path(validation_level)
19
- return unless @path
20
- v = PathValidator.new self
21
- v.validate validation_level
22
- end
23
-
24
- def validate_version(validation_level=@version_validation_level)
25
- return unless @version
26
- v = VersionValidator.new self
27
- v.validate validation_level
28
- end
29
-
30
- def tidy_path
31
- return unless @path
32
- is_windows? ? @path.gsub('/', '\\') : @path.gsub('\\', '/')
33
- end
34
-
35
- def evaluated_path
36
- return unless @path
37
- is_windows? ? windows_path : @path
38
- end
39
-
40
- private
41
-
42
- def windows_path
43
- `echo #{tidy_path}`.strip
44
- end
45
-
46
- def is_windows?
47
- !ENV['WINDIR'].nil?
48
- end
49
-
50
- end
51
- end
@@ -1,17 +0,0 @@
1
- module FluentCommandBuilder
2
- class HiddenPasswordFormatter
3
-
4
- attr_accessor :password_replacement
5
-
6
- def initialize
7
- @password_replacement = '***'
8
- end
9
-
10
- def format(underlying_builder)
11
- c = underlying_builder.to_s
12
- underlying_builder.passwords.each { |p| c.gsub! p, @password_replacement }
13
- c
14
- end
15
-
16
- end
17
- end
@@ -1,9 +0,0 @@
1
- module FluentCommandBuilder
2
- class NullFormatter
3
-
4
- def format(underlying_builder)
5
- underlying_builder.to_s
6
- end
7
-
8
- end
9
- end
@@ -1,27 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/printer')
2
-
3
- module FluentCommandBuilder
4
- class PathValidator
5
-
6
- def initialize(command_builder_config)
7
- @c = command_builder_config
8
- @printer = Printer.new
9
- end
10
-
11
- def validate(validation_level=:warn)
12
- return if File.exist? @c.evaluated_path
13
- message = %Q[Path for command "#{@c.command_name}", version "#{@c.version}" does not exist. Path: #{@c.evaluated_path}]
14
-
15
- case validation_level
16
- when :warn
17
- @printer.print_warning message
18
- when :fatal
19
- @printer.print_error message
20
- abort
21
- else
22
- @printer.print_warning %Q[Path validation failed. Validation level "#{validation_level}" is not supported.]
23
- end
24
- end
25
-
26
- end
27
- end