fluent_command_builder 0.8.18 → 0.9.0

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