bookbindery 4.1.0 → 4.1.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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bookbinder/cf_command_runner.rb +33 -30
  3. data/lib/bookbinder/cli.rb +15 -7
  4. data/lib/bookbinder/code_example_reader.rb +5 -7
  5. data/lib/bookbinder/commands/bind/directory_preparer.rb +1 -1
  6. data/lib/bookbinder/commands/build_and_push_tarball.rb +18 -6
  7. data/lib/bookbinder/commands/collection.rb +16 -21
  8. data/lib/bookbinder/commands/push_from_local.rb +27 -19
  9. data/lib/bookbinder/commands/push_to_prod.rb +30 -34
  10. data/lib/bookbinder/commands/tag.rb +5 -6
  11. data/lib/bookbinder/commands/update_local_doc_repos.rb +0 -1
  12. data/lib/bookbinder/config/cf_credentials.rb +1 -14
  13. data/lib/bookbinder/deploy/app_fetcher.rb +36 -0
  14. data/lib/bookbinder/deploy/archive.rb +102 -0
  15. data/lib/bookbinder/deploy/artifact.rb +26 -0
  16. data/lib/bookbinder/deploy/blue_green_app.rb +29 -0
  17. data/lib/bookbinder/deploy/cf_routes.rb +32 -0
  18. data/lib/bookbinder/deploy/deployment.rb +55 -0
  19. data/lib/bookbinder/deploy/distributor.rb +76 -0
  20. data/lib/bookbinder/deploy/failure.rb +15 -0
  21. data/lib/bookbinder/deploy/pusher.rb +34 -0
  22. data/lib/bookbinder/deploy/success.rb +16 -0
  23. data/lib/bookbinder/ingest/cloner_factory.rb +4 -4
  24. data/lib/bookbinder/ingest/local_filesystem_cloner.rb +5 -6
  25. data/lib/bookbinder/local_file_system_accessor.rb +9 -0
  26. data/lib/bookbinder/{post_production → postprocessing}/sitemap_writer.rb +7 -2
  27. data/lib/bookbinder/preprocessing/{copy_to_site_gen_dir.rb → link_to_site_gen_dir.rb} +2 -2
  28. data/lib/bookbinder/server_director.rb +3 -10
  29. data/lib/bookbinder/sheller.rb +5 -1
  30. data/master_middleman/bookbinder_helpers.rb +4 -12
  31. data/template_app/config.ru +3 -7
  32. data/template_app/rack_app.rb +23 -0
  33. metadata +60 -58
  34. data/lib/bookbinder/app_fetcher.rb +0 -36
  35. data/lib/bookbinder/archive.rb +0 -102
  36. data/lib/bookbinder/artifact_namer.rb +0 -22
  37. data/lib/bookbinder/commands/bookbinder_command.rb +0 -18
  38. data/lib/bookbinder/distributor.rb +0 -80
  39. data/lib/bookbinder/pusher.rb +0 -34
  40. data/lib/bookbinder/time_fetcher.rb +0 -7
  41. data/lib/bookbinder/values/blue_green_app.rb +0 -27
  42. data/lib/bookbinder/values/cf_routes.rb +0 -30
@@ -0,0 +1,76 @@
1
+ require_relative '../cf_command_runner'
2
+ require_relative '../ingest/destination_directory'
3
+ require_relative '../sheller'
4
+ require_relative 'app_fetcher'
5
+ require_relative 'archive'
6
+ require_relative 'artifact'
7
+ require_relative 'pusher'
8
+
9
+ module Bookbinder
10
+ module Deploy
11
+ class Distributor
12
+ EXPIRATION_HOURS = 2
13
+
14
+ def self.build(streams, archive, deployment)
15
+ cf_command_runner = CfCommandRunner.new(streams, Sheller.new, deployment.cf_credentials, deployment.artifact_full_path)
16
+ cf_app_fetcher = AppFetcher.new(deployment.flat_routes, cf_command_runner)
17
+ pusher = Pusher.new(cf_command_runner, cf_app_fetcher)
18
+ new(streams, archive, pusher, deployment)
19
+ end
20
+
21
+ def initialize(streams, archive, pusher, deployment)
22
+ @streams = streams
23
+ @archive = archive
24
+ @pusher = pusher
25
+ @deployment = deployment
26
+ end
27
+
28
+ def distribute
29
+ push_app
30
+ nil
31
+ rescue => e
32
+ streams[:err].puts(<<-ERROR.chomp)
33
+ [ERROR] #{e.message}
34
+ [DEBUG INFO]
35
+ CF organization: #{cf_credentials.organization}
36
+ CF space: #{cf_credentials.space}
37
+ CF account: #{cf_credentials.username}
38
+ routes: #{cf_credentials.routes}
39
+ ERROR
40
+ raise
41
+ ensure
42
+ upload_trace
43
+ end
44
+
45
+ private
46
+
47
+ attr_reader :archive, :deployment, :pusher, :streams
48
+
49
+ def push_app
50
+ pusher.push(deployment.app_dir)
51
+ end
52
+
53
+ def upload_trace
54
+ uploaded_file = archive.upload_file(deployment.green_builds_bucket, deployment.artifact_filename, deployment.artifact_full_path)
55
+ log_success(
56
+ ["Your cf trace file is available at: #{uploaded_file.url(Time.now.to_i + EXPIRATION_HOURS*60*60)}",
57
+ "This URL will expire in #{EXPIRATION_HOURS} hours, so if you need to share it, make sure to save a copy now."]
58
+ )
59
+ rescue Errno::ENOENT
60
+ log_error("Could not find CF trace file: #{deployment.artifact_full_path}")
61
+ end
62
+
63
+ def cf_credentials
64
+ deployment.cf_credentials
65
+ end
66
+
67
+ def log_success(message)
68
+ streams[:success].puts(message)
69
+ end
70
+
71
+ def log_error(message)
72
+ streams[:err].puts(message)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,15 @@
1
+ module Bookbinder
2
+ module Deploy
3
+ class Failure
4
+ attr_reader :reason
5
+
6
+ def initialize(reason)
7
+ @reason = reason
8
+ end
9
+
10
+ def success?
11
+ false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,34 @@
1
+ module Bookbinder
2
+ module Deploy
3
+ class Pusher
4
+ def initialize(cf_cli, app_fetcher)
5
+ @cf_cli = cf_cli
6
+ @app_fetcher = app_fetcher
7
+ end
8
+
9
+ def push(app_dir)
10
+ Dir.chdir(app_dir) do
11
+ cf_cli.login
12
+
13
+ old_app = app_fetcher.fetch_current_app
14
+
15
+ if old_app
16
+ new_app = old_app.with_flipped_name
17
+ cf_cli.start(new_app)
18
+ cf_cli.push(new_app)
19
+ cf_cli.map_routes(new_app)
20
+ cf_cli.takedown_old_target_app(old_app)
21
+ else
22
+ new_app = cf_cli.new_app
23
+ cf_cli.push(new_app)
24
+ cf_cli.map_routes(new_app)
25
+ end
26
+ end
27
+ end
28
+
29
+ private
30
+
31
+ attr_reader :cf_cli, :app_fetcher
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,16 @@
1
+ module Bookbinder
2
+ module Deploy
3
+ class Success
4
+ attr_reader :reason
5
+
6
+ def initialize(reason)
7
+ @reason = reason
8
+ end
9
+
10
+ def success?
11
+ true
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -4,15 +4,15 @@ require_relative 'local_filesystem_cloner'
4
4
  module Bookbinder
5
5
  module Ingest
6
6
  class ClonerFactory
7
- def initialize(logger, filesystem, version_control_system)
8
- @logger = logger
7
+ def initialize(streams, filesystem, version_control_system)
8
+ @streams = streams
9
9
  @filesystem = filesystem
10
10
  @version_control_system = version_control_system
11
11
  end
12
12
 
13
13
  def produce(user_repo_dir)
14
14
  if user_repo_dir
15
- LocalFilesystemCloner.new(logger, filesystem, user_repo_dir)
15
+ LocalFilesystemCloner.new(streams, filesystem, user_repo_dir)
16
16
  else
17
17
  GitCloner.new(version_control_system)
18
18
  end
@@ -20,7 +20,7 @@ module Bookbinder
20
20
 
21
21
  private
22
22
 
23
- attr_reader :logger, :filesystem, :version_control_system
23
+ attr_reader :streams, :filesystem, :version_control_system
24
24
  end
25
25
  end
26
26
  end
@@ -1,4 +1,3 @@
1
- require_relative '../deprecated_logger'
2
1
  require_relative 'destination_directory'
3
2
  require_relative 'working_copy'
4
3
  require_relative 'missing_working_copy'
@@ -6,8 +5,8 @@ require_relative 'missing_working_copy'
6
5
  module Bookbinder
7
6
  module Ingest
8
7
  class LocalFilesystemCloner
9
- def initialize(logger, filesystem, user_repo_dir)
10
- @logger = logger
8
+ def initialize(streams, filesystem, user_repo_dir)
9
+ @streams = streams
11
10
  @user_repo_dir = user_repo_dir
12
11
  @filesystem = filesystem
13
12
  end
@@ -25,7 +24,7 @@ module Bookbinder
25
24
 
26
25
  private
27
26
 
28
- attr_reader :logger, :filesystem, :user_repo_dir
27
+ attr_reader :streams, :filesystem, :user_repo_dir
29
28
 
30
29
  def copy!(source_repo_name, source_dir, dest_dir)
31
30
  source_exists = filesystem.file_exist?(source_dir)
@@ -44,13 +43,13 @@ module Bookbinder
44
43
  full_name: source_repo_name,
45
44
  )
46
45
  else
47
- logger.log ' skipping (not found) '.magenta + source_dir.to_s
46
+ streams[:out].puts " skipping (not found) #{source_dir}"
48
47
  MissingWorkingCopy.new(source_repo_name)
49
48
  end
50
49
  end
51
50
 
52
51
  def announce_copy(source_dir)
53
- logger.log ' copying '.yellow + source_dir.to_s
52
+ streams[:out].puts " copying #{source_dir}"
54
53
  end
55
54
  end
56
55
  end
@@ -24,6 +24,10 @@ module Bookbinder
24
24
  File.read(path)
25
25
  end
26
26
 
27
+ def empty_directory(path)
28
+ FileUtils.rm_rf(File.join(path, '.'))
29
+ end
30
+
27
31
  def remove_directory(path)
28
32
  FileUtils.rm_rf(path)
29
33
  end
@@ -48,6 +52,11 @@ module Bookbinder
48
52
  copy file, extended_dest
49
53
  end
50
54
 
55
+ def link_creating_intermediate_dirs(src, dst)
56
+ FileUtils.mkdir_p(File.dirname(dst))
57
+ File.symlink(src, dst)
58
+ end
59
+
51
60
  def rename_file(path, new_name)
52
61
  new_path = File.expand_path File.join path, '..', new_name
53
62
  File.rename(path, new_path)
@@ -1,13 +1,18 @@
1
1
  require_relative '../server_director'
2
2
  require_relative '../spider'
3
+ require_relative '../../../template_app/rack_app'
3
4
 
4
5
  module Bookbinder
5
- module PostProduction
6
+ module Postprocessing
6
7
  class SitemapWriter
7
8
  def self.build(logger, final_app_directory, port)
8
9
  new(
9
10
  Spider.new(app_dir: final_app_directory),
10
- ServerDirector.new(directory: final_app_directory, port: port)
11
+ ServerDirector.new(
12
+ app: RackApp.new(Pathname('redirects.rb')).app,
13
+ directory: final_app_directory,
14
+ port: port
15
+ )
11
16
  )
12
17
  end
13
18
 
@@ -1,6 +1,6 @@
1
1
  module Bookbinder
2
2
  module Preprocessing
3
- class CopyToSiteGenDir
3
+ class LinkToSiteGenDir
4
4
  def initialize(filesystem)
5
5
  @filesystem = filesystem
6
6
  end
@@ -11,7 +11,7 @@ module Bookbinder
11
11
 
12
12
  def preprocess(sections, output_locations, *_)
13
13
  sections.each do |section|
14
- filesystem.copy_contents(
14
+ filesystem.link_creating_intermediate_dirs(
15
15
  section.path_to_repository,
16
16
  output_locations.source_for_site_generator.join(section.destination_directory)
17
17
  )
@@ -1,10 +1,9 @@
1
1
  require 'puma'
2
- require 'rack/rewrite'
3
- require 'vienna'
4
2
 
5
3
  module Bookbinder
6
4
  class ServerDirector
7
- def initialize(directory: nil, port: 41722)
5
+ def initialize(app: app, directory: nil, port: 41722)
6
+ @app = app
8
7
  @directory = directory
9
8
  @port = port
10
9
  end
@@ -26,12 +25,6 @@ module Bookbinder
26
25
 
27
26
  private
28
27
 
29
- def app
30
- if File.exists?('redirects.rb')
31
- Rack::Rewrite.new(Vienna) { eval(File.read('redirects.rb')) }
32
- else
33
- Vienna
34
- end
35
- end
28
+ attr_reader :app
36
29
  end
37
30
  end
@@ -43,6 +43,10 @@ module Bookbinder
43
43
  exit_status
44
44
  end
45
45
 
46
- attr_reader :view_updater
46
+ def get_stdout(command)
47
+ out = StringIO.new
48
+ run_command(command, out: out)
49
+ out.tap(&:rewind).read.chomp
50
+ end
47
51
  end
48
52
  end
@@ -17,15 +17,11 @@ module Bookbinder
17
17
  module HelperMethods
18
18
 
19
19
  def yield_for_code_snippet(from: nil, at: nil)
20
- git_accessor = config[:git_accessor]
21
- cloner = config[:cloner]
22
- attributes = {'repository' => {'name' => from}}
23
- workspace = config[:workspace]
24
- code_example_reader = CodeExampleReader.new(bookbinder_logger)
20
+ code_example_reader = CodeExampleReader.new(out: $stdout)
25
21
 
26
- working_copy = cloner.call(source_repo_name: from,
27
- source_ref: 'master',
28
- destination_parent_dir: workspace)
22
+ working_copy = config[:cloner].call(source_repo_name: from,
23
+ source_ref: 'master',
24
+ destination_parent_dir: config[:workspace])
29
25
 
30
26
  snippet, language = code_example_reader.get_snippet_and_language_at(at, working_copy)
31
27
 
@@ -104,10 +100,6 @@ module Bookbinder
104
100
  end
105
101
  content_tag :li, link, :class => css_class
106
102
  end
107
-
108
- def bookbinder_logger
109
- DeprecatedLogger.new
110
- end
111
103
  end
112
104
  end
113
105
  end
@@ -1,9 +1,5 @@
1
+ require 'pathname'
1
2
  require 'vienna'
2
-
3
- if File.exists?('redirects.rb')
4
- require 'rack/rewrite'
5
- use(Rack::Rewrite) { eval File.read('redirects.rb') }
6
- end
7
-
3
+ require './rack_app'
8
4
  require './app'
9
- run Vienna
5
+ run Bookbinder::RackApp.new(Pathname('redirects.rb')).app
@@ -0,0 +1,23 @@
1
+ require 'rack/rewrite'
2
+ require 'vienna'
3
+
4
+ module Bookbinder
5
+ class RackApp
6
+ def initialize(redirect_pathname)
7
+ @redirect_pathname = redirect_pathname
8
+ end
9
+
10
+ def app
11
+ if redirect_pathname.exist?
12
+ p = redirect_pathname
13
+ Rack::Rewrite.new(Vienna) { eval(p.read) }
14
+ else
15
+ Vienna
16
+ end
17
+ end
18
+
19
+ private
20
+
21
+ attr_reader :redirect_pathname
22
+ end
23
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bookbindery
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Grafton
@@ -15,90 +15,90 @@ authors:
15
15
  autorequire:
16
16
  bindir: install_bin
17
17
  cert_chain: []
18
- date: 2015-07-01 00:00:00.000000000 Z
18
+ date: 2015-07-30 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: fog-aws
22
22
  requirement: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.6
26
+ version: 0.7.1
27
27
  type: :runtime
28
28
  prerelease: false
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.6
33
+ version: 0.7.1
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: ansi
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.4'
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.4'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: unf
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.1'
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.1'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: middleman
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 3.3.5
69
69
  type: :runtime
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 3.3.5
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: middleman-syntax
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.0'
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '2.0'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: redcarpet
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 3.2.3
97
97
  type: :runtime
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: 3.2.3
104
104
  - !ruby/object:Gem::Dependency
@@ -119,140 +119,140 @@ dependencies:
119
119
  name: anemone
120
120
  requirement: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  type: :runtime
126
126
  prerelease: false
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  - !ruby/object:Gem::Dependency
133
133
  name: css_parser
134
134
  requirement: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  type: :runtime
140
140
  prerelease: false
141
141
  version_requirements: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: puma
148
148
  requirement: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  type: :runtime
154
154
  prerelease: false
155
155
  version_requirements: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  - !ruby/object:Gem::Dependency
161
161
  name: rack-rewrite
162
162
  requirement: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  type: :runtime
168
168
  prerelease: false
169
169
  version_requirements: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - '>='
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  - !ruby/object:Gem::Dependency
175
175
  name: therubyracer
176
176
  requirement: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  type: :runtime
182
182
  prerelease: false
183
183
  version_requirements: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '>='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  - !ruby/object:Gem::Dependency
189
189
  name: git
190
190
  requirement: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ~>
192
+ - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: 1.2.8
195
195
  type: :runtime
196
196
  prerelease: false
197
197
  version_requirements: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ~>
199
+ - - "~>"
200
200
  - !ruby/object:Gem::Version
201
201
  version: 1.2.8
202
202
  - !ruby/object:Gem::Dependency
203
203
  name: license_finder
204
204
  requirement: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - '>='
206
+ - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  type: :development
210
210
  prerelease: false
211
211
  version_requirements: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - '>='
213
+ - - ">="
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: pry-byebug
218
218
  requirement: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - '>='
220
+ - - ">="
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  type: :development
224
224
  prerelease: false
225
225
  version_requirements: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - '>='
227
+ - - ">="
228
228
  - !ruby/object:Gem::Version
229
229
  version: '0'
230
230
  - !ruby/object:Gem::Dependency
231
231
  name: rake
232
232
  requirement: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - '>='
234
+ - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
237
  type: :development
238
238
  prerelease: false
239
239
  version_requirements: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - '>='
241
+ - - ">="
242
242
  - !ruby/object:Gem::Version
243
243
  version: '0'
244
244
  - !ruby/object:Gem::Dependency
245
245
  name: rspec
246
246
  requirement: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - '>='
248
+ - - ">="
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
251
  type: :development
252
252
  prerelease: false
253
253
  version_requirements: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - '>='
255
+ - - ">="
256
256
  - !ruby/object:Gem::Version
257
257
  version: '0'
258
258
  description: A command line utility to be run in Book repositories to stitch together
@@ -263,19 +263,16 @@ executables:
263
263
  extensions: []
264
264
  extra_rdoc_files: []
265
265
  files:
266
- - lib/bookbinder/app_fetcher.rb
267
- - lib/bookbinder/archive.rb
268
- - lib/bookbinder/artifact_namer.rb
266
+ - install_bin/bookbinder
269
267
  - lib/bookbinder/cf_command_runner.rb
270
268
  - lib/bookbinder/cli.rb
271
269
  - lib/bookbinder/code_example_reader.rb
272
270
  - lib/bookbinder/colorizer.rb
273
271
  - lib/bookbinder/command_runner.rb
274
272
  - lib/bookbinder/command_validator.rb
273
+ - lib/bookbinder/commands/bind.rb
275
274
  - lib/bookbinder/commands/bind/bind_options.rb
276
275
  - lib/bookbinder/commands/bind/directory_preparer.rb
277
- - lib/bookbinder/commands/bind.rb
278
- - lib/bookbinder/commands/bookbinder_command.rb
279
276
  - lib/bookbinder/commands/build_and_push_tarball.rb
280
277
  - lib/bookbinder/commands/chain.rb
281
278
  - lib/bookbinder/commands/collection.rb
@@ -305,9 +302,18 @@ files:
305
302
  - lib/bookbinder/config/validator.rb
306
303
  - lib/bookbinder/config/yaml_loader.rb
307
304
  - lib/bookbinder/css_link_checker.rb
305
+ - lib/bookbinder/deploy/app_fetcher.rb
306
+ - lib/bookbinder/deploy/archive.rb
307
+ - lib/bookbinder/deploy/artifact.rb
308
+ - lib/bookbinder/deploy/blue_green_app.rb
309
+ - lib/bookbinder/deploy/cf_routes.rb
310
+ - lib/bookbinder/deploy/deployment.rb
311
+ - lib/bookbinder/deploy/distributor.rb
312
+ - lib/bookbinder/deploy/failure.rb
313
+ - lib/bookbinder/deploy/pusher.rb
314
+ - lib/bookbinder/deploy/success.rb
308
315
  - lib/bookbinder/deprecated_logger.rb
309
316
  - lib/bookbinder/directory_helpers.rb
310
- - lib/bookbinder/distributor.rb
311
317
  - lib/bookbinder/dita_command_creator.rb
312
318
  - lib/bookbinder/dita_html_to_middleman_formatter.rb
313
319
  - lib/bookbinder/errors/cli_error.rb
@@ -327,11 +333,10 @@ files:
327
333
  - lib/bookbinder/ingest/working_copy.rb
328
334
  - lib/bookbinder/local_file_system_accessor.rb
329
335
  - lib/bookbinder/middleman_runner.rb
330
- - lib/bookbinder/post_production/sitemap_writer.rb
331
- - lib/bookbinder/preprocessing/copy_to_site_gen_dir.rb
336
+ - lib/bookbinder/postprocessing/sitemap_writer.rb
332
337
  - lib/bookbinder/preprocessing/dita_preprocessor.rb
338
+ - lib/bookbinder/preprocessing/link_to_site_gen_dir.rb
333
339
  - lib/bookbinder/preprocessing/preprocessor.rb
334
- - lib/bookbinder/pusher.rb
335
340
  - lib/bookbinder/server_director.rb
336
341
  - lib/bookbinder/sheller.rb
337
342
  - lib/bookbinder/sieve.rb
@@ -341,25 +346,22 @@ files:
341
346
  - lib/bookbinder/streams/colorized_stream.rb
342
347
  - lib/bookbinder/subnav_formatter.rb
343
348
  - lib/bookbinder/terminal.rb
344
- - lib/bookbinder/time_fetcher.rb
345
- - lib/bookbinder/values/blue_green_app.rb
346
- - lib/bookbinder/values/cf_routes.rb
347
349
  - lib/bookbinder/values/output_locations.rb
348
350
  - lib/bookbinder/values/section.rb
349
351
  - lib/bookbinder/values/subnav.rb
350
352
  - lib/bookbinder/values/user_message.rb
351
- - template_app/app.rb
352
- - template_app/config.ru
353
- - template_app/Gemfile
354
- - template_app/Gemfile.lock
355
- - template_app/lib/rack_static.rb
356
- - template_app/lib/vienna_application.rb
357
353
  - master_middleman/archive_drop_down_menu.rb
358
354
  - master_middleman/bookbinder_helpers.rb
359
355
  - master_middleman/config.rb
360
356
  - master_middleman/quicklinks_renderer.rb
361
357
  - master_middleman/submodule_aware_assets.rb
362
- - install_bin/bookbinder
358
+ - template_app/Gemfile
359
+ - template_app/Gemfile.lock
360
+ - template_app/app.rb
361
+ - template_app/config.ru
362
+ - template_app/lib/rack_static.rb
363
+ - template_app/lib/vienna_application.rb
364
+ - template_app/rack_app.rb
363
365
  homepage: https://github.com/pivotal-cf/bookbinder
364
366
  licenses:
365
367
  - MIT
@@ -370,17 +372,17 @@ require_paths:
370
372
  - lib
371
373
  required_ruby_version: !ruby/object:Gem::Requirement
372
374
  requirements:
373
- - - ~>
375
+ - - "~>"
374
376
  - !ruby/object:Gem::Version
375
377
  version: '2.0'
376
378
  required_rubygems_version: !ruby/object:Gem::Requirement
377
379
  requirements:
378
- - - '>='
380
+ - - ">="
379
381
  - !ruby/object:Gem::Version
380
382
  version: '0'
381
383
  requirements: []
382
384
  rubyforge_project:
383
- rubygems_version: 2.0.14
385
+ rubygems_version: 2.4.5
384
386
  signing_key:
385
387
  specification_version: 4
386
388
  summary: Markdown to Rackup application documentation generator