right_scraper 3.2.6 → 5.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/lib/right_scraper.rb +16 -34
  3. data/lib/right_scraper/builders.rb +32 -0
  4. data/lib/right_scraper/builders/base.rb +19 -20
  5. data/lib/right_scraper/builders/filesystem.rb +8 -6
  6. data/lib/right_scraper/builders/union.rb +4 -1
  7. data/lib/right_scraper/loggers.rb +31 -0
  8. data/lib/right_scraper/loggers/base.rb +113 -0
  9. data/lib/right_scraper/loggers/default.rb +98 -0
  10. data/lib/right_scraper/{scraper.rb → main.rb} +53 -9
  11. data/lib/right_scraper/processes.rb +33 -0
  12. data/lib/right_scraper/processes/shell.rb +227 -0
  13. data/lib/right_scraper/processes/{ssh.rb → ssh_agent.rb} +4 -0
  14. data/lib/right_scraper/processes/svn_client.rb +117 -0
  15. data/lib/right_scraper/processes/warden.rb +358 -0
  16. data/lib/right_scraper/registered_base.rb +154 -0
  17. data/lib/right_scraper/repositories.rb +33 -0
  18. data/lib/right_scraper/repositories/base.rb +271 -232
  19. data/lib/right_scraper/repositories/download.rb +8 -6
  20. data/lib/right_scraper/repositories/git.rb +8 -9
  21. data/lib/right_scraper/repositories/svn.rb +8 -8
  22. data/lib/right_scraper/resources.rb +32 -0
  23. data/lib/right_scraper/resources/base.rb +5 -1
  24. data/lib/right_scraper/resources/cookbook.rb +34 -27
  25. data/lib/right_scraper/resources/workflow.rb +27 -28
  26. data/lib/right_scraper/retrievers.rb +34 -0
  27. data/lib/right_scraper/retrievers/base.rb +80 -84
  28. data/lib/right_scraper/retrievers/checkout_base.rb +178 -0
  29. data/lib/right_scraper/retrievers/download.rb +125 -117
  30. data/lib/right_scraper/retrievers/git.rb +377 -223
  31. data/lib/right_scraper/retrievers/svn.rb +102 -62
  32. data/lib/right_scraper/scanners.rb +37 -0
  33. data/lib/right_scraper/scanners/base.rb +77 -80
  34. data/lib/right_scraper/scanners/cookbook_manifest.rb +31 -30
  35. data/lib/right_scraper/scanners/cookbook_metadata.rb +380 -35
  36. data/lib/right_scraper/scanners/cookbook_s3_upload.rb +56 -53
  37. data/lib/right_scraper/scanners/union.rb +61 -58
  38. data/lib/right_scraper/scanners/workflow_manifest.rb +55 -54
  39. data/lib/right_scraper/scanners/workflow_metadata.rb +41 -39
  40. data/lib/right_scraper/scanners/workflow_s3_upload.rb +59 -55
  41. data/lib/right_scraper/scrapers.rb +32 -0
  42. data/lib/right_scraper/scrapers/base.rb +217 -205
  43. data/lib/right_scraper/scrapers/cookbook.rb +42 -40
  44. data/lib/right_scraper/scrapers/workflow.rb +57 -58
  45. data/lib/right_scraper/version.rb +3 -0
  46. data/right_scraper.gemspec +12 -16
  47. metadata +57 -163
  48. data/Gemfile +0 -15
  49. data/Rakefile +0 -89
  50. data/lib/right_scraper/logger.rb +0 -107
  51. data/lib/right_scraper/loggers/noisy.rb +0 -85
  52. data/lib/right_scraper/repositories/mock.rb +0 -70
  53. data/lib/right_scraper/retrievers/checkout.rb +0 -79
  54. data/lib/right_scraper/scraper_logger.rb +0 -66
  55. data/lib/right_scraper/svn_client.rb +0 -164
  56. data/right_scraper.rconf +0 -13
  57. data/spec/builder_spec.rb +0 -50
  58. data/spec/cookbook_helper.rb +0 -73
  59. data/spec/cookbook_manifest_spec.rb +0 -93
  60. data/spec/cookbook_s3_upload_spec.rb +0 -159
  61. data/spec/download/download_retriever_spec.rb +0 -118
  62. data/spec/download/download_retriever_spec_helper.rb +0 -72
  63. data/spec/download/download_spec.rb +0 -128
  64. data/spec/download/multi_dir_spec.rb +0 -106
  65. data/spec/download/multi_dir_spec_helper.rb +0 -40
  66. data/spec/git/cookbook_spec.rb +0 -165
  67. data/spec/git/demokey +0 -27
  68. data/spec/git/demokey.pub +0 -1
  69. data/spec/git/password_key +0 -30
  70. data/spec/git/password_key.pub +0 -1
  71. data/spec/git/repository_spec.rb +0 -110
  72. data/spec/git/retriever_spec.rb +0 -553
  73. data/spec/git/retriever_spec_helper.rb +0 -112
  74. data/spec/git/scraper_spec.rb +0 -151
  75. data/spec/git/ssh_spec.rb +0 -174
  76. data/spec/git/url_spec.rb +0 -103
  77. data/spec/logger_spec.rb +0 -185
  78. data/spec/repository_spec.rb +0 -111
  79. data/spec/retriever_spec_helper.rb +0 -146
  80. data/spec/scanner_spec.rb +0 -61
  81. data/spec/scraper_helper.rb +0 -88
  82. data/spec/scraper_spec.rb +0 -147
  83. data/spec/spec_helper.rb +0 -185
  84. data/spec/svn/cookbook_spec.rb +0 -96
  85. data/spec/svn/multi_svn_spec.rb +0 -64
  86. data/spec/svn/multi_svn_spec_helper.rb +0 -40
  87. data/spec/svn/repository_spec.rb +0 -72
  88. data/spec/svn/retriever_spec.rb +0 -266
  89. data/spec/svn/scraper_spec.rb +0 -90
  90. data/spec/svn/svn_retriever_spec_helper.rb +0 -90
  91. data/spec/svn/url_spec.rb +0 -47
  92. data/spec/url_spec.rb +0 -164
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright: Copyright (c) 2010-2011 RightScale, Inc.
2
+ # Copyright: Copyright (c) 2010-2013 RightScale, Inc.
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining
5
5
  # a copy of this software and associated documentation files (the
@@ -21,53 +21,55 @@
21
21
  # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  #++
23
23
 
24
- require File.expand_path(File.join(File.dirname(__FILE__), 'base'))
24
+ # ancestor
25
+ require 'right_scraper/scrapers'
25
26
 
26
- module RightScraper
27
- module Scrapers
27
+ module RightScraper::Scrapers
28
28
 
29
- # Chef cookbook scraper
30
- class Cookbook < Base
29
+ # Chef cookbook scraper
30
+ class Cookbook < ::RightScraper::Scrapers::Base
31
+ COOKBOOK_SENTINELS = ['metadata.json', 'metadata.rb']
31
32
 
32
- # Find the next cookbook, starting in dir.
33
- #
34
- # === Parameters
35
- # dir(Dir):: directory to begin search in
36
- def find_next(dir)
37
- @logger.operation(:finding_next_cookbook, "in #{dir.path}") do
38
- if File.exists?(File.join(dir.path, 'metadata.json'))
39
- @logger.operation(:reading_cookbook, "from #{dir.path}") do
40
- cookbook = RightScraper::Resources::Cookbook.new(@repository, strip_repo_dir(dir.path))
41
- @builder.go(dir.path, cookbook)
42
- cookbook
43
- end
44
- else
45
- @stack << dir
46
- search_dirs
33
+ # Find the next cookbook, starting in dir.
34
+ #
35
+ # === Parameters
36
+ # dir(Dir):: directory to begin search in
37
+ def find_next(dir)
38
+ @logger.operation(:finding_next_cookbook, "in #{dir.path}") do
39
+ if COOKBOOK_SENTINELS.any? { |f| File.exists?(File.join(dir.path, f)) }
40
+ @logger.operation(:reading_cookbook, "from #{dir.path}") do
41
+ cookbook = RightScraper::Resources::Cookbook.new(
42
+ @repository,
43
+ strip_repo_dir(dir.path),
44
+ repo_dir)
45
+ @builder.go(dir.path, cookbook)
46
+ cookbook
47
47
  end
48
+ else
49
+ @stack << dir
50
+ search_dirs
48
51
  end
49
52
  end
53
+ end
50
54
 
51
- # List of default scanners for this scaper
52
- #
53
- # === Return
54
- # Array<Scanner>:: Default scanners
55
- def default_scanners
56
- [RightScraper::Scanners::CookbookMetadata,
57
- RightScraper::Scanners::CookbookManifest]
58
- end
59
-
60
- # List of default builders for this scaper
61
- #
62
- # === Return
63
- # Array<Builder>:: Default builders
64
- def default_builders
65
- [RightScraper::Builders::Filesystem]
66
- end
55
+ # List of default scanners for this scaper
56
+ #
57
+ # === Return
58
+ # Array<Scanner>:: Default scanners
59
+ def default_scanners
60
+ [RightScraper::Scanners::CookbookMetadata,
61
+ RightScraper::Scanners::CookbookManifest]
62
+ end
67
63
 
68
- # Add this scraper to the list of available types.
69
- @@types[:cookbook] = RightScraper::Scrapers::Cookbook
70
-
64
+ # List of default builders for this scaper
65
+ #
66
+ # === Return
67
+ # Array<Builder>:: Default builders
68
+ def default_builders
69
+ [RightScraper::Builders::Filesystem]
71
70
  end
71
+
72
+ # self-register
73
+ register_self
72
74
  end
73
75
  end
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright: Copyright (c) 2010-2011 RightScale, Inc.
2
+ # Copyright: Copyright (c) 2010-2013 RightScale, Inc.
3
3
  #
4
4
  # Permission is hereby granted, free of charge, to any person obtaining
5
5
  # a copy of this software and associated documentation files (the
@@ -23,73 +23,72 @@
23
23
 
24
24
  require File.expand_path(File.join(File.dirname(__FILE__), 'base'))
25
25
 
26
- module RightScraper
27
- module Scrapers
26
+ # ancestor
27
+ require 'right_scraper/scrapers'
28
28
 
29
- # Workflow scraper
30
- class Workflow < Base
29
+ module RightScraper::Scrapers
31
30
 
32
- # Initialize list of known workflows on top of
33
- def initialize(options)
34
- @known_workflows = []
35
- super(options)
36
- end
31
+ # Workflow scraper
32
+ class Workflow < ::RightScraper::Scrapers::Base
33
+
34
+ # Initialize list of known workflows on top of
35
+ def initialize(options)
36
+ @known_workflows = []
37
+ super(options)
38
+ end
37
39
 
38
- # Find the next workflows, starting in dir.
39
- #
40
- # === Parameters
41
- # dir(Dir):: directory to begin search in
42
- def find_next(dir)
43
- @logger.operation(:finding_next_workflow, "in #{dir.path}") do
40
+ # Find the next workflows, starting in dir.
41
+ #
42
+ # === Parameters
43
+ # dir(Dir):: directory to begin search in
44
+ def find_next(dir)
45
+ @logger.operation(:finding_next_workflow, "in #{dir.path}") do
44
46
 
45
- # Note: there could be multiple workflow definitions in one directory
46
- # so we need to record the current position whether we found a workflow
47
- # or not. The next iteration will search again in the current directory
48
- # event if we found one. If we don't find one then we call
49
- # 'search_dirs' which will recurse in the sub-directories.
50
- @stack << dir
47
+ # Note: there could be multiple workflow definitions in one directory
48
+ # so we need to record the current position whether we found a workflow
49
+ # or not. The next iteration will search again in the current directory
50
+ # event if we found one. If we don't find one then we call
51
+ # 'search_dirs' which will recurse in the sub-directories.
52
+ @stack << dir
51
53
 
52
- def_ext = RightScraper::Resources::Workflow::DEFINITION_EXT
53
- meta_ext = RightScraper::Resources::Workflow::METADATA_EXT
54
- potentials = Dir[File.join(dir.path, "*#{def_ext}")]
55
- potentials.reject! { |wdef| !File.exists?(wdef.chomp(File.extname(wdef)) + meta_ext) }
56
- potentials.reject! { |wdef| @known_workflows.include?(wdef) }
57
- unless potentials.empty?
58
- wdef = potentials.first
59
- relative_def = strip_repo_dir(wdef)
60
- @logger.operation(:reading_workflow, "#{relative_def}") do
61
- workflow = RightScraper::Resources::Workflow.new(@repository, relative_def)
62
- @builder.go(File.dirname(wdef), workflow)
63
- @known_workflows << wdef
64
- workflow
65
- end
66
- else
67
- search_dirs
54
+ def_ext = RightScraper::Resources::Workflow::DEFINITION_EXT
55
+ meta_ext = RightScraper::Resources::Workflow::METADATA_EXT
56
+ potentials = Dir[File.join(dir.path, "*#{def_ext}")]
57
+ potentials.reject! { |wdef| !File.exists?(wdef.chomp(File.extname(wdef)) + meta_ext) }
58
+ potentials.reject! { |wdef| @known_workflows.include?(wdef) }
59
+ unless potentials.empty?
60
+ wdef = potentials.first
61
+ relative_def = strip_repo_dir(wdef)
62
+ @logger.operation(:reading_workflow, "#{relative_def}") do
63
+ workflow = RightScraper::Resources::Workflow.new(@repository, relative_def)
64
+ @builder.go(File.dirname(wdef), workflow)
65
+ @known_workflows << wdef
66
+ workflow
68
67
  end
68
+ else
69
+ search_dirs
69
70
  end
70
71
  end
72
+ end
71
73
 
72
- # List of default scanners for this scaper
73
- #
74
- # === Return
75
- # Array<Scanner>:: Default scanners
76
- def default_scanners
77
- [RightScraper::Scanners::WorkflowMetadata,
78
- RightScraper::Scanners::WorkflowManifest]
79
- end
80
-
81
- # List of default builders for this scaper
82
- #
83
- # === Return
84
- # Array<Builder>:: Default builders
85
- def default_builders
86
- [RightScraper::Builders::Filesystem]
87
- end
88
-
89
- # Add this scraper to the list of available types.
90
- @@types[:workflow] = RightScraper::Scrapers::Workflow
74
+ # List of default scanners for this scaper
75
+ #
76
+ # === Return
77
+ # Array<Scanner>:: Default scanners
78
+ def default_scanners
79
+ [RightScraper::Scanners::WorkflowMetadata,
80
+ RightScraper::Scanners::WorkflowManifest]
81
+ end
91
82
 
83
+ # List of default builders for this scaper
84
+ #
85
+ # === Return
86
+ # Array<Builder>:: Default builders
87
+ def default_builders
88
+ [RightScraper::Builders::Filesystem]
92
89
  end
90
+
91
+ # self-register
92
+ register_self
93
93
  end
94
94
  end
95
-
@@ -22,6 +22,9 @@
22
22
  #++
23
23
 
24
24
  module RightScraper
25
+ # for gemspec, etc.
26
+ GEM_VERSION = '5.0.1'
27
+
25
28
  # (Fixnum) protocol versioning scheme; prepended to hashes to
26
29
  # prevent collisions.
27
30
  PROTOCOL_VERSION = 1
@@ -21,36 +21,32 @@
21
21
  # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
 
23
23
  require 'rubygems'
24
+ require ::File.expand_path('../lib/right_scraper/version', __FILE__)
24
25
 
25
- Gem::Specification.new do |spec|
26
+ ::Gem::Specification.new do |spec|
26
27
  spec.name = 'right_scraper'
27
- spec.version = '3.2.6'
28
- spec.authors = ['Graham Hughes', 'Raphael Simon', 'Scott Messier']
29
- spec.email = 'raphael@rightscale.com'
28
+ spec.version = ::RightScraper::GEM_VERSION
29
+ spec.authors = ['Raphael Simon', 'Tony Spataro', 'Scott Messier']
30
+ spec.email = 'support@rightscale.com'
30
31
  spec.homepage = 'https://github.com/rightscale/right_scraper'
31
- spec.platform = Gem::Platform::RUBY
32
+ spec.platform = ::Gem::Platform::RUBY
32
33
  spec.summary = 'Download and update remote repositories'
33
34
  spec.has_rdoc = true
34
35
  spec.rdoc_options = ["--main", "README.rdoc", "--title", "RightScraper"]
35
36
  spec.extra_rdoc_files = ["README.rdoc"]
36
- spec.required_ruby_version = '>= 1.8.7'
37
+ spec.required_ruby_version = '>= 2.1'
37
38
  spec.rubyforge_project = %q{right_scraper}
38
39
  spec.require_path = 'lib'
39
40
 
40
- spec.add_dependency('json', '~> 1.4')
41
- spec.add_dependency('blackwinter-git', '~> 1.2.7')
42
41
  spec.add_dependency('right_aws', '>= 2.0')
43
- spec.add_dependency('right_popen', '~> 1.1.1')
44
- spec.add_dependency('right_support', '~> 2.6')
42
+ spec.add_dependency('right_git')
43
+ spec.add_dependency('right_popen')
44
+ spec.add_dependency('right_support', '~> 2.8')
45
45
 
46
46
  spec.requirements << 'curl command line client'
47
47
  spec.requirements << 'git command line client'
48
48
  spec.requirements << 'Subversion command line client'
49
49
 
50
- spec.add_development_dependency('rspec', '~> 2.0')
51
- spec.add_development_dependency('flexmock', '~> 0.9')
52
- spec.add_development_dependency('rtags', '~> 0.97')
53
-
54
50
  spec.description = <<-EOF
55
51
  RightScraper provides a simple interface to download and keep local copies of remote
56
52
  repositories up-to-date using the following protocols:
@@ -62,7 +58,7 @@ will analyze the repository content and instantiate "resources" as a result. Cur
62
58
  supported resources are Chef cookbooks and RightScale workflow definitions.
63
59
  EOF
64
60
 
65
- candidates = Dir.glob("{lib,spec}/**/*") +
66
- ["LICENSE", "README.rdoc", "Rakefile", "right_scraper.gemspec", "Gemfile", "right_scraper.rconf"]
61
+ candidates = ::Dir.glob("lib/**/*") +
62
+ %w(LICENSE README.rdoc right_scraper.gemspec)
67
63
  spec.files = candidates.sort
68
64
  end
metadata CHANGED
@@ -1,184 +1,121 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: right_scraper
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.6
5
- prerelease:
4
+ version: 5.0.1
6
5
  platform: ruby
7
6
  authors:
8
- - Graham Hughes
9
7
  - Raphael Simon
8
+ - Tony Spataro
10
9
  - Scott Messier
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2013-11-20 00:00:00.000000000 Z
13
+ date: 2016-03-09 00:00:00.000000000 Z
15
14
  dependencies:
16
- - !ruby/object:Gem::Dependency
17
- name: json
18
- requirement: !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ~>
22
- - !ruby/object:Gem::Version
23
- version: '1.4'
24
- type: :runtime
25
- prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - ~>
30
- - !ruby/object:Gem::Version
31
- version: '1.4'
32
- - !ruby/object:Gem::Dependency
33
- name: blackwinter-git
34
- requirement: !ruby/object:Gem::Requirement
35
- none: false
36
- requirements:
37
- - - ~>
38
- - !ruby/object:Gem::Version
39
- version: 1.2.7
40
- type: :runtime
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: 1.2.7
48
15
  - !ruby/object:Gem::Dependency
49
16
  name: right_aws
50
17
  requirement: !ruby/object:Gem::Requirement
51
- none: false
52
18
  requirements:
53
- - - ! '>='
19
+ - - ">="
54
20
  - !ruby/object:Gem::Version
55
21
  version: '2.0'
56
22
  type: :runtime
57
23
  prerelease: false
58
24
  version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
25
  requirements:
61
- - - ! '>='
26
+ - - ">="
62
27
  - !ruby/object:Gem::Version
63
28
  version: '2.0'
64
29
  - !ruby/object:Gem::Dependency
65
- name: right_popen
30
+ name: right_git
66
31
  requirement: !ruby/object:Gem::Requirement
67
- none: false
68
32
  requirements:
69
- - - ~>
33
+ - - ">="
70
34
  - !ruby/object:Gem::Version
71
- version: 1.1.1
35
+ version: '0'
72
36
  type: :runtime
73
37
  prerelease: false
74
38
  version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
39
  requirements:
77
- - - ~>
40
+ - - ">="
78
41
  - !ruby/object:Gem::Version
79
- version: 1.1.1
42
+ version: '0'
80
43
  - !ruby/object:Gem::Dependency
81
- name: right_support
44
+ name: right_popen
82
45
  requirement: !ruby/object:Gem::Requirement
83
- none: false
84
46
  requirements:
85
- - - ~>
47
+ - - ">="
86
48
  - !ruby/object:Gem::Version
87
- version: '2.6'
49
+ version: '0'
88
50
  type: :runtime
89
51
  prerelease: false
90
52
  version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
53
  requirements:
93
- - - ~>
54
+ - - ">="
94
55
  - !ruby/object:Gem::Version
95
- version: '2.6'
56
+ version: '0'
96
57
  - !ruby/object:Gem::Dependency
97
- name: rspec
98
- requirement: !ruby/object:Gem::Requirement
99
- none: false
100
- requirements:
101
- - - ~>
102
- - !ruby/object:Gem::Version
103
- version: '2.0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
- requirements:
109
- - - ~>
110
- - !ruby/object:Gem::Version
111
- version: '2.0'
112
- - !ruby/object:Gem::Dependency
113
- name: flexmock
114
- requirement: !ruby/object:Gem::Requirement
115
- none: false
116
- requirements:
117
- - - ~>
118
- - !ruby/object:Gem::Version
119
- version: '0.9'
120
- type: :development
121
- prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
- requirements:
125
- - - ~>
126
- - !ruby/object:Gem::Version
127
- version: '0.9'
128
- - !ruby/object:Gem::Dependency
129
- name: rtags
58
+ name: right_support
130
59
  requirement: !ruby/object:Gem::Requirement
131
- none: false
132
60
  requirements:
133
- - - ~>
61
+ - - "~>"
134
62
  - !ruby/object:Gem::Version
135
- version: '0.97'
136
- type: :development
63
+ version: '2.8'
64
+ type: :runtime
137
65
  prerelease: false
138
66
  version_requirements: !ruby/object:Gem::Requirement
139
- none: false
140
67
  requirements:
141
- - - ~>
142
- - !ruby/object:Gem::Version
143
- version: '0.97'
144
- description: ! "RightScraper provides a simple interface to download and keep local
145
- copies of remote\nrepositories up-to-date using the following protocols:\n * git:
146
- RightScraper will clone then pull repos from git\n * SVN: RightScraper will checkout
147
- then update SVN repositories\n * tarballs: RightScraper will download, optionally
148
- uncompress and expand a given tar file\nOn top of retrieving remote repositories,
149
- right_scraper also include \"scrapers\" that\nwill analyze the repository content
150
- and instantiate \"resources\" as a result. Currently\nsupported resources are Chef
151
- cookbooks and RightScale workflow definitions.\n"
152
- email: raphael@rightscale.com
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '2.8'
71
+ description: |
72
+ RightScraper provides a simple interface to download and keep local copies of remote
73
+ repositories up-to-date using the following protocols:
74
+ * git: RightScraper will clone then pull repos from git
75
+ * SVN: RightScraper will checkout then update SVN repositories
76
+ * tarballs: RightScraper will download, optionally uncompress and expand a given tar file
77
+ On top of retrieving remote repositories, right_scraper also include "scrapers" that
78
+ will analyze the repository content and instantiate "resources" as a result. Currently
79
+ supported resources are Chef cookbooks and RightScale workflow definitions.
80
+ email: support@rightscale.com
153
81
  executables: []
154
82
  extensions: []
155
83
  extra_rdoc_files:
156
84
  - README.rdoc
157
85
  files:
158
- - Gemfile
159
86
  - LICENSE
160
87
  - README.rdoc
161
- - Rakefile
162
88
  - lib/right_scraper.rb
89
+ - lib/right_scraper/builders.rb
163
90
  - lib/right_scraper/builders/base.rb
164
91
  - lib/right_scraper/builders/filesystem.rb
165
92
  - lib/right_scraper/builders/union.rb
166
- - lib/right_scraper/logger.rb
167
- - lib/right_scraper/loggers/noisy.rb
168
- - lib/right_scraper/processes/ssh.rb
93
+ - lib/right_scraper/loggers.rb
94
+ - lib/right_scraper/loggers/base.rb
95
+ - lib/right_scraper/loggers/default.rb
96
+ - lib/right_scraper/main.rb
97
+ - lib/right_scraper/processes.rb
98
+ - lib/right_scraper/processes/shell.rb
99
+ - lib/right_scraper/processes/ssh_agent.rb
100
+ - lib/right_scraper/processes/svn_client.rb
101
+ - lib/right_scraper/processes/warden.rb
102
+ - lib/right_scraper/registered_base.rb
103
+ - lib/right_scraper/repositories.rb
169
104
  - lib/right_scraper/repositories/base.rb
170
105
  - lib/right_scraper/repositories/download.rb
171
106
  - lib/right_scraper/repositories/git.rb
172
- - lib/right_scraper/repositories/mock.rb
173
107
  - lib/right_scraper/repositories/svn.rb
108
+ - lib/right_scraper/resources.rb
174
109
  - lib/right_scraper/resources/base.rb
175
110
  - lib/right_scraper/resources/cookbook.rb
176
111
  - lib/right_scraper/resources/workflow.rb
112
+ - lib/right_scraper/retrievers.rb
177
113
  - lib/right_scraper/retrievers/base.rb
178
- - lib/right_scraper/retrievers/checkout.rb
114
+ - lib/right_scraper/retrievers/checkout_base.rb
179
115
  - lib/right_scraper/retrievers/download.rb
180
116
  - lib/right_scraper/retrievers/git.rb
181
117
  - lib/right_scraper/retrievers/svn.rb
118
+ - lib/right_scraper/scanners.rb
182
119
  - lib/right_scraper/scanners/base.rb
183
120
  - lib/right_scraper/scanners/cookbook_manifest.rb
184
121
  - lib/right_scraper/scanners/cookbook_metadata.rb
@@ -187,83 +124,40 @@ files:
187
124
  - lib/right_scraper/scanners/workflow_manifest.rb
188
125
  - lib/right_scraper/scanners/workflow_metadata.rb
189
126
  - lib/right_scraper/scanners/workflow_s3_upload.rb
190
- - lib/right_scraper/scraper.rb
191
- - lib/right_scraper/scraper_logger.rb
127
+ - lib/right_scraper/scrapers.rb
192
128
  - lib/right_scraper/scrapers/base.rb
193
129
  - lib/right_scraper/scrapers/cookbook.rb
194
130
  - lib/right_scraper/scrapers/workflow.rb
195
- - lib/right_scraper/svn_client.rb
196
131
  - lib/right_scraper/version.rb
197
132
  - right_scraper.gemspec
198
- - right_scraper.rconf
199
- - spec/builder_spec.rb
200
- - spec/cookbook_helper.rb
201
- - spec/cookbook_manifest_spec.rb
202
- - spec/cookbook_s3_upload_spec.rb
203
- - spec/download/download_retriever_spec.rb
204
- - spec/download/download_retriever_spec_helper.rb
205
- - spec/download/download_spec.rb
206
- - spec/download/multi_dir_spec.rb
207
- - spec/download/multi_dir_spec_helper.rb
208
- - spec/git/cookbook_spec.rb
209
- - spec/git/demokey
210
- - spec/git/demokey.pub
211
- - spec/git/password_key
212
- - spec/git/password_key.pub
213
- - spec/git/repository_spec.rb
214
- - spec/git/retriever_spec.rb
215
- - spec/git/retriever_spec_helper.rb
216
- - spec/git/scraper_spec.rb
217
- - spec/git/ssh_spec.rb
218
- - spec/git/url_spec.rb
219
- - spec/logger_spec.rb
220
- - spec/repository_spec.rb
221
- - spec/retriever_spec_helper.rb
222
- - spec/scanner_spec.rb
223
- - spec/scraper_helper.rb
224
- - spec/scraper_spec.rb
225
- - spec/spec_helper.rb
226
- - spec/svn/cookbook_spec.rb
227
- - spec/svn/multi_svn_spec.rb
228
- - spec/svn/multi_svn_spec_helper.rb
229
- - spec/svn/repository_spec.rb
230
- - spec/svn/retriever_spec.rb
231
- - spec/svn/scraper_spec.rb
232
- - spec/svn/svn_retriever_spec_helper.rb
233
- - spec/svn/url_spec.rb
234
- - spec/url_spec.rb
235
133
  homepage: https://github.com/rightscale/right_scraper
236
134
  licenses: []
135
+ metadata: {}
237
136
  post_install_message:
238
137
  rdoc_options:
239
- - --main
138
+ - "--main"
240
139
  - README.rdoc
241
- - --title
140
+ - "--title"
242
141
  - RightScraper
243
142
  require_paths:
244
143
  - lib
245
144
  required_ruby_version: !ruby/object:Gem::Requirement
246
- none: false
247
145
  requirements:
248
- - - ! '>='
146
+ - - ">="
249
147
  - !ruby/object:Gem::Version
250
- version: 1.8.7
148
+ version: '2.1'
251
149
  required_rubygems_version: !ruby/object:Gem::Requirement
252
- none: false
253
150
  requirements:
254
- - - ! '>='
151
+ - - ">="
255
152
  - !ruby/object:Gem::Version
256
153
  version: '0'
257
- segments:
258
- - 0
259
- hash: -1166164135191250403
260
154
  requirements:
261
155
  - curl command line client
262
156
  - git command line client
263
157
  - Subversion command line client
264
158
  rubyforge_project: right_scraper
265
- rubygems_version: 1.8.26
159
+ rubygems_version: 2.2.5
266
160
  signing_key:
267
- specification_version: 3
161
+ specification_version: 4
268
162
  summary: Download and update remote repositories
269
163
  test_files: []