right_scraper 3.2.6 → 5.0.1

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 (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: []