bookbindery 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bookbinder.rb +0 -4
  3. data/lib/bookbinder/archive.rb +12 -5
  4. data/lib/bookbinder/archive_menu_configuration.rb +4 -4
  5. data/lib/bookbinder/commands/bind.rb +29 -97
  6. data/lib/bookbinder/commands/bind/bind_options.rb +50 -0
  7. data/lib/bookbinder/commands/bind/directory_preparer.rb +13 -12
  8. data/lib/bookbinder/commands/build_and_push_tarball.rb +1 -8
  9. data/lib/bookbinder/commands/help.rb +1 -1
  10. data/lib/bookbinder/commands/run_publish_ci.rb +1 -3
  11. data/lib/bookbinder/commands/tag.rb +12 -9
  12. data/lib/bookbinder/commands/update_local_doc_repos.rb +23 -7
  13. data/lib/bookbinder/config/bind_config_factory.rb +5 -7
  14. data/lib/bookbinder/config/remote_bind_configuration.rb +23 -31
  15. data/lib/bookbinder/config/section_config.rb +56 -0
  16. data/lib/bookbinder/configuration.rb +58 -18
  17. data/lib/bookbinder/configuration_fetcher.rb +3 -5
  18. data/lib/bookbinder/configuration_validator.rb +1 -8
  19. data/lib/bookbinder/distributor.rb +1 -1
  20. data/lib/bookbinder/dita_command_creator.rb +60 -16
  21. data/lib/bookbinder/dita_html_to_middleman_formatter.rb +3 -2
  22. data/lib/bookbinder/errors/programmer_mistake.rb +5 -0
  23. data/lib/bookbinder/git_accessor.rb +36 -2
  24. data/lib/bookbinder/ingest/cloner_factory.rb +3 -3
  25. data/lib/bookbinder/ingest/destination_directory.rb +7 -1
  26. data/lib/bookbinder/ingest/{git_hub_repository_cloner.rb → git_cloner.rb} +3 -2
  27. data/lib/bookbinder/ingest/repo_identifier.rb +45 -0
  28. data/lib/bookbinder/local_file_system_accessor.rb +4 -9
  29. data/lib/bookbinder/middleman_runner.rb +5 -6
  30. data/lib/bookbinder/preprocessing/copy_to_site_gen_dir.rb +27 -0
  31. data/lib/bookbinder/preprocessing/dita_preprocessor.rb +103 -0
  32. data/lib/bookbinder/preprocessing/preprocessor.rb +26 -0
  33. data/lib/bookbinder/repositories/command_repository.rb +17 -21
  34. data/lib/bookbinder/repositories/section_repository.rb +24 -16
  35. data/lib/bookbinder/repositories/section_repository_factory.rb +19 -0
  36. data/lib/bookbinder/streams/{switchable_stdout_and_red_stderr.rb → colorized_stream.rb} +0 -17
  37. data/lib/bookbinder/time_fetcher.rb +7 -0
  38. data/lib/bookbinder/validation_checkers/dita_section_checker.rb +2 -2
  39. data/lib/bookbinder/values/output_locations.rb +13 -12
  40. data/lib/bookbinder/values/section.rb +22 -5
  41. data/master_middleman/bookbinder_helpers.rb +4 -11
  42. metadata +59 -75
  43. data/lib/bookbinder/book.rb +0 -59
  44. data/lib/bookbinder/config/local_bind_configuration.rb +0 -23
  45. data/lib/bookbinder/dita_preprocessor.rb +0 -68
  46. data/lib/bookbinder/dita_section_gatherer_factory.rb +0 -23
  47. data/lib/bookbinder/git_client.rb +0 -66
  48. data/lib/bookbinder/git_hub_repository.rb +0 -101
  49. data/lib/bookbinder/local_dita_section_gatherer.rb +0 -32
  50. data/lib/bookbinder/remote_dita_section_gatherer.rb +0 -35
  51. data/lib/bookbinder/validation_checkers/config_version_checker.rb +0 -91
  52. data/lib/bookbinder/values/code_example.rb +0 -7
  53. data/lib/bookbinder/values/dita_section.rb +0 -39
@@ -0,0 +1,26 @@
1
+ module Bookbinder
2
+ module Preprocessing
3
+ class Preprocessor
4
+ class NullProcess
5
+ def preprocess(*)
6
+ end
7
+ end
8
+
9
+ def initialize(*processes)
10
+ @processes = processes
11
+ end
12
+
13
+ def preprocess(objs, *args, &block)
14
+ objs.group_by { |obj|
15
+ processes.detect ->{ NullProcess.new } { |process| process.applicable_to?(obj) }
16
+ }.each do |process, objs|
17
+ process.preprocess(objs, *args)
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ attr_reader :processes
24
+ end
25
+ end
26
+ end
@@ -8,17 +8,19 @@ require_relative '../configuration_fetcher'
8
8
  require_relative '../configuration_validator'
9
9
  require_relative '../dita_command_creator'
10
10
  require_relative '../dita_html_to_middleman_formatter'
11
- require_relative '../dita_preprocessor'
12
11
  require_relative '../html_document_manipulator'
13
12
  require_relative '../ingest/cloner_factory'
14
13
  require_relative '../local_file_system_accessor'
15
14
  require_relative '../middleman_runner'
16
15
  require_relative '../post_production/sitemap_writer'
16
+ require_relative '../preprocessing/copy_to_site_gen_dir'
17
+ require_relative '../preprocessing/dita_preprocessor'
18
+ require_relative '../preprocessing/preprocessor'
17
19
  require_relative '../remote_yaml_credential_provider'
18
20
  require_relative '../sheller'
19
21
  require_relative '../subnav_formatter'
20
22
  require_relative '../yaml_loader'
21
- require_relative 'section_repository'
23
+ require_relative 'section_repository_factory'
22
24
 
23
25
  module Bookbinder
24
26
  module Repositories
@@ -61,8 +63,8 @@ module Bookbinder
61
63
  push_local_to_staging,
62
64
  Commands::PushToProd.new(logger, configuration_fetcher),
63
65
  Commands::RunPublishCI.new(bind, push_local_to_staging, build_and_push_tarball),
64
- Commands::Tag.new(logger, configuration_fetcher),
65
- Commands::UpdateLocalDocRepos.new(logger, configuration_fetcher),
66
+ Commands::Tag.new(logger, configuration_fetcher, version_control_system),
67
+ Commands::UpdateLocalDocRepos.new(logger, configuration_fetcher, version_control_system, local_file_system_accessor),
66
68
  ]
67
69
  end
68
70
 
@@ -73,7 +75,6 @@ module Bookbinder
73
75
  def bind
74
76
  @bind ||= Commands::Bind.new(
75
77
  logger,
76
- configuration_fetcher,
77
78
  bind_config_factory,
78
79
  ArchiveMenuConfiguration.new(
79
80
  loader: config_loader,
@@ -85,12 +86,17 @@ module Bookbinder
85
86
  PostProduction::SitemapWriter.build(logger, final_app_directory, sitemap_port),
86
87
  final_app_directory,
87
88
  File.absolute_path('.'),
88
- dita_preprocessor,
89
+ Preprocessing::Preprocessor.new(
90
+ Preprocessing::DitaPreprocessor.new(
91
+ dita_html_to_middleman_formatter,
92
+ local_file_system_accessor,
93
+ DitaCommandCreator.new(ENV['PATH_TO_DITA_OT_LIBRARY']),
94
+ Sheller.new
95
+ ),
96
+ Preprocessing::CopyToSiteGenDir.new(local_file_system_accessor),
97
+ ),
89
98
  Ingest::ClonerFactory.new(logger, local_file_system_accessor, version_control_system),
90
- DitaSectionGathererFactory.new(version_control_system, logger),
91
- Repositories::SectionRepository.new(logger),
92
- dita_command_creator,
93
- Sheller.new,
99
+ Repositories::SectionRepositoryFactory.new(logger),
94
100
  Commands::BindComponents::DirectoryPreparer.new(logger, local_file_system_accessor, version_control_system)
95
101
  )
96
102
  end
@@ -133,16 +139,6 @@ module Bookbinder
133
139
  @final_app_directory ||= File.absolute_path('final_app')
134
140
  end
135
141
 
136
- def dita_preprocessor
137
- @dita_preprocessor ||=
138
- DitaPreprocessor.new(dita_html_to_middleman_formatter,
139
- local_file_system_accessor)
140
- end
141
-
142
- def dita_command_creator
143
- @dita_command_creator ||= DitaCommandCreator.new(ENV['PATH_TO_DITA_OT_LIBRARY'])
144
- end
145
-
146
142
  def dita_html_to_middleman_formatter
147
143
  @dita_html_to_middleman_formatter ||= DitaHtmlToMiddlemanFormatter.new(local_file_system_accessor,
148
144
  subnav_formatter,
@@ -162,7 +158,7 @@ module Bookbinder
162
158
  end
163
159
 
164
160
  def bind_config_factory
165
- @bind_config_factory ||= Config::BindConfigFactory.new(logger, version_control_system, configuration_fetcher)
161
+ @bind_config_factory ||= Config::BindConfigFactory.new(version_control_system, configuration_fetcher)
166
162
  end
167
163
 
168
164
  def sitemap_port
@@ -1,31 +1,39 @@
1
1
  require 'tmpdir'
2
+ require_relative '../deprecated_logger'
3
+ require_relative '../values/section'
2
4
 
3
5
  module Bookbinder
4
6
  module Repositories
5
7
  class SectionRepository
6
- def initialize(logger)
8
+ def initialize(logger, cloner)
7
9
  @logger = logger
10
+ @cloner = cloner
8
11
  end
9
12
 
10
- def get_instance(section_config,
11
- working_copy: nil,
12
- destination_dir: Dir.mktmpdir,
13
- &build)
14
- repository_config = section_config['repository']
15
- raise "section repository '#{repository_config}' is not a hash" unless repository_config.is_a?(Hash)
16
- raise "section repository '#{repository_config}' missing name key" unless repository_config['name']
17
- logger.log "Gathering #{repository_config['name'].cyan}"
18
- build[working_copy.copied_to,
19
- working_copy.full_name,
20
- working_copy.copied?,
21
- section_config['subnav_template'],
22
- destination_dir,
23
- working_copy.directory]
13
+ def fetch(configured_sections: [],
14
+ destination_dir: nil,
15
+ ref_override: nil)
16
+ configured_sections.map do |section_config|
17
+ logger.log "Gathering #{section_config.repo_name.cyan}"
18
+ working_copy = cloner.call(source_repo_name: section_config.repo_name,
19
+ source_ref: ref_override || section_config.repo_ref,
20
+ destination_parent_dir: destination_dir,
21
+ destination_dir_name: section_config.desired_directory_name)
22
+ Section.new(
23
+ working_copy.copied_to,
24
+ working_copy.full_name,
25
+ working_copy.copied?,
26
+ destination_dir,
27
+ working_copy.directory,
28
+ section_config.subnav_template,
29
+ section_config.preprocessor_config
30
+ )
31
+ end
24
32
  end
25
33
 
26
34
  private
27
35
 
28
- attr_reader :logger
36
+ attr_reader :logger, :cloner
29
37
  end
30
38
  end
31
39
  end
@@ -0,0 +1,19 @@
1
+ require_relative 'section_repository'
2
+
3
+ module Bookbinder
4
+ module Repositories
5
+ class SectionRepositoryFactory
6
+ def initialize(logger)
7
+ @logger = logger
8
+ end
9
+
10
+ def produce(cloner)
11
+ SectionRepository.new(logger, cloner)
12
+ end
13
+
14
+ private
15
+
16
+ attr_reader :logger
17
+ end
18
+ end
19
+ end
@@ -2,23 +2,6 @@ require_relative '../colorizer'
2
2
 
3
3
  module Bookbinder
4
4
  module Streams
5
- class SwitchableStdoutAndRedStderr
6
- def initialize(options)
7
- @options = options
8
- end
9
-
10
- def to_h
11
- {
12
- out: options.include?('--verbose') ? $stdout : Sheller::DevNull.new,
13
- err: ColorizedStream.new(Colorizer::Colors.red, $stderr)
14
- }
15
- end
16
-
17
- private
18
-
19
- attr_reader :options
20
- end
21
-
22
5
  class ColorizedStream
23
6
  def initialize(color, stream)
24
7
  @color = color
@@ -0,0 +1,7 @@
1
+ module Bookbinder
2
+ class TimeFetcher
3
+ def current_time
4
+ Time.now.strftime("%Y%m%d_%H%M")
5
+ end
6
+ end
7
+ end
@@ -12,8 +12,8 @@ module Bookbinder
12
12
  end
13
13
  end
14
14
 
15
- if !dita_sections.empty? && (sum < 1 || sum > 1)
16
- DitamapLocationError.new "You must have exactly one 'ditamap_location' key in dita_sections."
15
+ if !dita_sections.empty? && (sum < 1)
16
+ DitamapLocationError.new "You must have at least one 'ditamap_location' key in dita_sections."
17
17
  end
18
18
  end
19
19
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../directory_helpers'
2
+ require_relative '../errors/programmer_mistake'
2
3
 
3
4
  module Bookbinder
4
5
  class OutputLocations
@@ -44,20 +45,20 @@ module Bookbinder
44
45
  Pathname(@local_repo_dir) if @local_repo_dir
45
46
  end
46
47
 
47
- def dita_home_dir
48
- output_dir.join('dita')
48
+ def preprocessing_home_dir
49
+ output_dir.join('preprocessing')
49
50
  end
50
51
 
51
- def cloned_dita_dir
52
- dita_home_dir.join('dita_sections')
52
+ def cloned_preprocessing_dir
53
+ preprocessing_home_dir.join('sections')
53
54
  end
54
55
 
55
- def html_from_dita_dir
56
- dita_home_dir.join('html_from_dita')
56
+ def html_from_preprocessing_dir
57
+ preprocessing_home_dir.join('html_from_preprocessing')
57
58
  end
58
59
 
59
60
  def formatted_dir
60
- dita_home_dir.join('site_generator_ready')
61
+ preprocessing_home_dir.join('site_generator_ready')
61
62
  end
62
63
 
63
64
  def site_generator_home
@@ -72,14 +73,14 @@ module Bookbinder
72
73
  source_for_site_generator.join('subnavs')
73
74
  end
74
75
 
75
- def dita_subnav_template_path
76
- source_for_site_generator.join('subnavs', '_dita_subnav_template.erb')
77
- end
78
-
79
76
  private
80
77
 
81
78
  def context_dir
82
- Pathname(@context_dir)
79
+ if @context_dir.nil?
80
+ raise Errors::ProgrammerMistake.new("You must provide a context_dir to OutputLocations")
81
+ else
82
+ Pathname(@context_dir)
83
+ end
83
84
  end
84
85
  end
85
86
  end
@@ -1,10 +1,18 @@
1
+ require_relative '../errors/programmer_mistake'
2
+ require_relative '../ingest/destination_directory'
3
+
1
4
  module Bookbinder
2
5
  Section = Struct.new(:path_to_repository,
3
6
  :full_name,
4
7
  :copied,
5
- :subnav_templ,
6
8
  :destination_dir,
7
- :directory_name) do
9
+ :desired_directory_name,
10
+ :subnav_templ,
11
+ :preprocessor_config) do
12
+ def requires_preprocessing?
13
+ !preprocessor_config.nil?
14
+ end
15
+
8
16
  def path_to_repository
9
17
  Pathname(self[:path_to_repository].to_s)
10
18
  end
@@ -13,14 +21,23 @@ module Bookbinder
13
21
  subnav_templ.sub(/^_/, '').sub(/\.erb$/, '') if subnav_templ
14
22
  end
15
23
 
16
- def directory
17
- directory_name
24
+ def desired_directory
25
+ Ingest::DestinationDirectory.new(full_name, desired_directory_name)
18
26
  end
19
27
 
20
28
  def subnav
21
- namespace = directory.gsub('/', '_')
29
+ namespace = desired_directory.to_s.gsub('/', '_')
22
30
  template = subnav_template || 'default'
23
31
  {namespace => template}
24
32
  end
33
+
34
+ def path_to_preprocessor_attribute(attr)
35
+ path_to_repository.join(preprocessor_config[attr]) if preprocessor_config[attr]
36
+ rescue NoMethodError => e
37
+ raise Errors::ProgrammerMistake.new(
38
+ "path_to_preprocessor_attribute assumes preprocessor_config is available, got nil.\n" +
39
+ "Original exception:\n\n#{e.inspect}\n\n#{e.backtrace.join("\n")}"
40
+ )
41
+ end
25
42
  end
26
43
  end
@@ -26,14 +26,11 @@ module Bookbinder
26
26
  working_copy = cloner.call(source_repo_name: from,
27
27
  source_ref: 'master',
28
28
  destination_parent_dir: workspace)
29
- example = code_example_repo.get_instance(attributes, working_copy: working_copy) {
30
- |path, name, copied, _, dest, directory|
31
- CodeExample.new(path, name, copied, dest, directory)
32
- }
29
+
33
30
  snippet, language = code_example_reader.get_snippet_and_language_at(at,
34
- example.path_to_repository,
35
- example.copied,
36
- example.full_name)
31
+ working_copy.copied_to,
32
+ working_copy.copied?,
33
+ working_copy.full_name)
37
34
 
38
35
  delimiter = '```'
39
36
 
@@ -83,10 +80,6 @@ module Bookbinder
83
80
 
84
81
  private
85
82
 
86
- def code_example_repo
87
- @code_example_repo ||= Repositories::SectionRepository.new(bookbinder_logger)
88
- end
89
-
90
83
  def index_subnav
91
84
  return true if current_page.data.index_subnav
92
85
  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: 3.0.1
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Grafton
@@ -15,104 +15,90 @@ authors:
15
15
  autorequire:
16
16
  bindir: install_bin
17
17
  cert_chain: []
18
- date: 2015-05-05 00:00:00.000000000 Z
18
+ date: 2015-05-21 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
26
  version: 0.0.6
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
33
  version: 0.0.6
34
- - !ruby/object:Gem::Dependency
35
- name: octokit
36
- requirement: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '='
39
- - !ruby/object:Gem::Version
40
- version: 2.7.0
41
- type: :runtime
42
- prerelease: false
43
- version_requirements: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '='
46
- - !ruby/object:Gem::Version
47
- version: 2.7.0
48
34
  - !ruby/object:Gem::Dependency
49
35
  name: ansi
50
36
  requirement: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - ~>
38
+ - - "~>"
53
39
  - !ruby/object:Gem::Version
54
40
  version: '1.4'
55
41
  type: :runtime
56
42
  prerelease: false
57
43
  version_requirements: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - ~>
45
+ - - "~>"
60
46
  - !ruby/object:Gem::Version
61
47
  version: '1.4'
62
48
  - !ruby/object:Gem::Dependency
63
49
  name: unf
64
50
  requirement: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - ~>
52
+ - - "~>"
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0.1'
69
55
  type: :runtime
70
56
  prerelease: false
71
57
  version_requirements: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - ~>
59
+ - - "~>"
74
60
  - !ruby/object:Gem::Version
75
61
  version: '0.1'
76
62
  - !ruby/object:Gem::Dependency
77
63
  name: middleman
78
64
  requirement: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - ~>
66
+ - - "~>"
81
67
  - !ruby/object:Gem::Version
82
68
  version: 3.3.5
83
69
  type: :runtime
84
70
  prerelease: false
85
71
  version_requirements: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - ~>
73
+ - - "~>"
88
74
  - !ruby/object:Gem::Version
89
75
  version: 3.3.5
90
76
  - !ruby/object:Gem::Dependency
91
77
  name: middleman-syntax
92
78
  requirement: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - ~>
80
+ - - "~>"
95
81
  - !ruby/object:Gem::Version
96
82
  version: '2.0'
97
83
  type: :runtime
98
84
  prerelease: false
99
85
  version_requirements: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ~>
87
+ - - "~>"
102
88
  - !ruby/object:Gem::Version
103
89
  version: '2.0'
104
90
  - !ruby/object:Gem::Dependency
105
91
  name: redcarpet
106
92
  requirement: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ~>
94
+ - - "~>"
109
95
  - !ruby/object:Gem::Version
110
96
  version: 3.2.3
111
97
  type: :runtime
112
98
  prerelease: false
113
99
  version_requirements: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - ~>
101
+ - - "~>"
116
102
  - !ruby/object:Gem::Version
117
103
  version: 3.2.3
118
104
  - !ruby/object:Gem::Dependency
@@ -133,140 +119,140 @@ dependencies:
133
119
  name: anemone
134
120
  requirement: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - '>='
122
+ - - ">="
137
123
  - !ruby/object:Gem::Version
138
124
  version: '0'
139
125
  type: :runtime
140
126
  prerelease: false
141
127
  version_requirements: !ruby/object:Gem::Requirement
142
128
  requirements:
143
- - - '>='
129
+ - - ">="
144
130
  - !ruby/object:Gem::Version
145
131
  version: '0'
146
132
  - !ruby/object:Gem::Dependency
147
133
  name: css_parser
148
134
  requirement: !ruby/object:Gem::Requirement
149
135
  requirements:
150
- - - '>='
136
+ - - ">="
151
137
  - !ruby/object:Gem::Version
152
138
  version: '0'
153
139
  type: :runtime
154
140
  prerelease: false
155
141
  version_requirements: !ruby/object:Gem::Requirement
156
142
  requirements:
157
- - - '>='
143
+ - - ">="
158
144
  - !ruby/object:Gem::Version
159
145
  version: '0'
160
146
  - !ruby/object:Gem::Dependency
161
147
  name: puma
162
148
  requirement: !ruby/object:Gem::Requirement
163
149
  requirements:
164
- - - '>='
150
+ - - ">="
165
151
  - !ruby/object:Gem::Version
166
152
  version: '0'
167
153
  type: :runtime
168
154
  prerelease: false
169
155
  version_requirements: !ruby/object:Gem::Requirement
170
156
  requirements:
171
- - - '>='
157
+ - - ">="
172
158
  - !ruby/object:Gem::Version
173
159
  version: '0'
174
160
  - !ruby/object:Gem::Dependency
175
161
  name: rack-rewrite
176
162
  requirement: !ruby/object:Gem::Requirement
177
163
  requirements:
178
- - - '>='
164
+ - - ">="
179
165
  - !ruby/object:Gem::Version
180
166
  version: '0'
181
167
  type: :runtime
182
168
  prerelease: false
183
169
  version_requirements: !ruby/object:Gem::Requirement
184
170
  requirements:
185
- - - '>='
171
+ - - ">="
186
172
  - !ruby/object:Gem::Version
187
173
  version: '0'
188
174
  - !ruby/object:Gem::Dependency
189
175
  name: therubyracer
190
176
  requirement: !ruby/object:Gem::Requirement
191
177
  requirements:
192
- - - '>='
178
+ - - ">="
193
179
  - !ruby/object:Gem::Version
194
180
  version: '0'
195
181
  type: :runtime
196
182
  prerelease: false
197
183
  version_requirements: !ruby/object:Gem::Requirement
198
184
  requirements:
199
- - - '>='
185
+ - - ">="
200
186
  - !ruby/object:Gem::Version
201
187
  version: '0'
202
188
  - !ruby/object:Gem::Dependency
203
189
  name: git
204
190
  requirement: !ruby/object:Gem::Requirement
205
191
  requirements:
206
- - - ~>
192
+ - - "~>"
207
193
  - !ruby/object:Gem::Version
208
194
  version: 1.2.8
209
195
  type: :runtime
210
196
  prerelease: false
211
197
  version_requirements: !ruby/object:Gem::Requirement
212
198
  requirements:
213
- - - ~>
199
+ - - "~>"
214
200
  - !ruby/object:Gem::Version
215
201
  version: 1.2.8
216
202
  - !ruby/object:Gem::Dependency
217
203
  name: license_finder
218
204
  requirement: !ruby/object:Gem::Requirement
219
205
  requirements:
220
- - - '>='
206
+ - - ">="
221
207
  - !ruby/object:Gem::Version
222
208
  version: '0'
223
209
  type: :development
224
210
  prerelease: false
225
211
  version_requirements: !ruby/object:Gem::Requirement
226
212
  requirements:
227
- - - '>='
213
+ - - ">="
228
214
  - !ruby/object:Gem::Version
229
215
  version: '0'
230
216
  - !ruby/object:Gem::Dependency
231
217
  name: pry-byebug
232
218
  requirement: !ruby/object:Gem::Requirement
233
219
  requirements:
234
- - - '>='
220
+ - - ">="
235
221
  - !ruby/object:Gem::Version
236
222
  version: '0'
237
223
  type: :development
238
224
  prerelease: false
239
225
  version_requirements: !ruby/object:Gem::Requirement
240
226
  requirements:
241
- - - '>='
227
+ - - ">="
242
228
  - !ruby/object:Gem::Version
243
229
  version: '0'
244
230
  - !ruby/object:Gem::Dependency
245
231
  name: rake
246
232
  requirement: !ruby/object:Gem::Requirement
247
233
  requirements:
248
- - - '>='
234
+ - - ">="
249
235
  - !ruby/object:Gem::Version
250
236
  version: '0'
251
237
  type: :development
252
238
  prerelease: false
253
239
  version_requirements: !ruby/object:Gem::Requirement
254
240
  requirements:
255
- - - '>='
241
+ - - ">="
256
242
  - !ruby/object:Gem::Version
257
243
  version: '0'
258
244
  - !ruby/object:Gem::Dependency
259
245
  name: rspec
260
246
  requirement: !ruby/object:Gem::Requirement
261
247
  requirements:
262
- - - '>='
248
+ - - ">="
263
249
  - !ruby/object:Gem::Version
264
250
  version: '0'
265
251
  type: :development
266
252
  prerelease: false
267
253
  version_requirements: !ruby/object:Gem::Requirement
268
254
  requirements:
269
- - - '>='
255
+ - - ">="
270
256
  - !ruby/object:Gem::Version
271
257
  version: '0'
272
258
  description: A command line utility to be run in Book repositories to stitch together
@@ -277,21 +263,19 @@ executables:
277
263
  extensions: []
278
264
  extra_rdoc_files: []
279
265
  files:
280
- - install_bin/bookbinder
281
- - lib/bookbinder.rb
282
266
  - lib/bookbinder/app_fetcher.rb
283
267
  - lib/bookbinder/archive.rb
284
268
  - lib/bookbinder/archive_menu_configuration.rb
285
269
  - lib/bookbinder/artifact_namer.rb
286
- - lib/bookbinder/book.rb
287
270
  - lib/bookbinder/cf_command_runner.rb
288
271
  - lib/bookbinder/cli.rb
289
272
  - lib/bookbinder/code_example_reader.rb
290
273
  - lib/bookbinder/colorizer.rb
291
274
  - lib/bookbinder/command_runner.rb
292
275
  - lib/bookbinder/command_validator.rb
293
- - lib/bookbinder/commands/bind.rb
276
+ - lib/bookbinder/commands/bind/bind_options.rb
294
277
  - lib/bookbinder/commands/bind/directory_preparer.rb
278
+ - lib/bookbinder/commands/bind.rb
295
279
  - lib/bookbinder/commands/bookbinder_command.rb
296
280
  - lib/bookbinder/commands/build_and_push_tarball.rb
297
281
  - lib/bookbinder/commands/chain.rb
@@ -306,8 +290,8 @@ files:
306
290
  - lib/bookbinder/config/aws_credentials.rb
307
291
  - lib/bookbinder/config/bind_config_factory.rb
308
292
  - lib/bookbinder/config/cf_credentials.rb
309
- - lib/bookbinder/config/local_bind_configuration.rb
310
293
  - lib/bookbinder/config/remote_bind_configuration.rb
294
+ - lib/bookbinder/config/section_config.rb
311
295
  - lib/bookbinder/configuration.rb
312
296
  - lib/bookbinder/configuration_fetcher.rb
313
297
  - lib/bookbinder/configuration_validator.rb
@@ -317,27 +301,27 @@ files:
317
301
  - lib/bookbinder/distributor.rb
318
302
  - lib/bookbinder/dita_command_creator.rb
319
303
  - lib/bookbinder/dita_html_to_middleman_formatter.rb
320
- - lib/bookbinder/dita_preprocessor.rb
321
- - lib/bookbinder/dita_section_gatherer_factory.rb
322
304
  - lib/bookbinder/errors/cli_error.rb
305
+ - lib/bookbinder/errors/programmer_mistake.rb
323
306
  - lib/bookbinder/git_accessor.rb
324
- - lib/bookbinder/git_client.rb
325
- - lib/bookbinder/git_hub_repository.rb
326
307
  - lib/bookbinder/html_document_manipulator.rb
327
308
  - lib/bookbinder/ingest/cloner_factory.rb
328
309
  - lib/bookbinder/ingest/destination_directory.rb
329
- - lib/bookbinder/ingest/git_hub_repository_cloner.rb
310
+ - lib/bookbinder/ingest/git_cloner.rb
330
311
  - lib/bookbinder/ingest/local_filesystem_cloner.rb
312
+ - lib/bookbinder/ingest/repo_identifier.rb
331
313
  - lib/bookbinder/ingest/working_copy.rb
332
- - lib/bookbinder/local_dita_section_gatherer.rb
333
314
  - lib/bookbinder/local_file_system_accessor.rb
334
315
  - lib/bookbinder/middleman_runner.rb
335
316
  - lib/bookbinder/post_production/sitemap_writer.rb
317
+ - lib/bookbinder/preprocessing/copy_to_site_gen_dir.rb
318
+ - lib/bookbinder/preprocessing/dita_preprocessor.rb
319
+ - lib/bookbinder/preprocessing/preprocessor.rb
336
320
  - lib/bookbinder/pusher.rb
337
- - lib/bookbinder/remote_dita_section_gatherer.rb
338
321
  - lib/bookbinder/remote_yaml_credential_provider.rb
339
322
  - lib/bookbinder/repositories/command_repository.rb
340
323
  - lib/bookbinder/repositories/section_repository.rb
324
+ - lib/bookbinder/repositories/section_repository_factory.rb
341
325
  - lib/bookbinder/server_director.rb
342
326
  - lib/bookbinder/shell_out.rb
343
327
  - lib/bookbinder/sheller.rb
@@ -345,36 +329,36 @@ files:
345
329
  - lib/bookbinder/sitemap_generator.rb
346
330
  - lib/bookbinder/spider.rb
347
331
  - lib/bookbinder/stabilimentum.rb
348
- - lib/bookbinder/streams/switchable_stdout_and_red_stderr.rb
332
+ - lib/bookbinder/streams/colorized_stream.rb
349
333
  - lib/bookbinder/subnav_formatter.rb
350
334
  - lib/bookbinder/terminal.rb
335
+ - lib/bookbinder/time_fetcher.rb
351
336
  - lib/bookbinder/validation_checkers/archive_menu_checker.rb
352
- - lib/bookbinder/validation_checkers/config_version_checker.rb
353
337
  - lib/bookbinder/validation_checkers/dita_section_checker.rb
354
338
  - lib/bookbinder/validation_checkers/duplicate_section_name_checker.rb
355
339
  - lib/bookbinder/validation_checkers/repository_name_presence_checker.rb
356
340
  - lib/bookbinder/validation_checkers/required_keys_checker.rb
357
341
  - lib/bookbinder/values/blue_green_app.rb
358
342
  - lib/bookbinder/values/cf_routes.rb
359
- - lib/bookbinder/values/code_example.rb
360
- - lib/bookbinder/values/dita_section.rb
361
343
  - lib/bookbinder/values/output_locations.rb
362
344
  - lib/bookbinder/values/section.rb
363
345
  - lib/bookbinder/values/subnav.rb
364
346
  - lib/bookbinder/values/user_message.rb
365
347
  - lib/bookbinder/yaml_loader.rb
348
+ - lib/bookbinder.rb
349
+ - template_app/app.rb
350
+ - template_app/config.ru
351
+ - template_app/Gemfile
352
+ - template_app/Gemfile.lock
353
+ - template_app/lib/rack_static.rb
354
+ - template_app/lib/vienna_application.rb
366
355
  - master_middleman/archive_drop_down_menu.rb
367
356
  - master_middleman/bookbinder_helpers.rb
368
357
  - master_middleman/config.rb
369
358
  - master_middleman/quicklinks_renderer.rb
370
359
  - master_middleman/submodule_aware_assets.rb
371
- - template_app/Gemfile
372
- - template_app/Gemfile.lock
373
- - template_app/app.rb
374
- - template_app/config.ru
375
- - template_app/lib/rack_static.rb
376
- - template_app/lib/vienna_application.rb
377
- homepage: https://github.com/cloudfoundry-incubator/bookbinder
360
+ - install_bin/bookbinder
361
+ homepage: https://github.com/pivotal-cf/bookbinder
378
362
  licenses:
379
363
  - MIT
380
364
  metadata: {}
@@ -384,17 +368,17 @@ require_paths:
384
368
  - lib
385
369
  required_ruby_version: !ruby/object:Gem::Requirement
386
370
  requirements:
387
- - - '>='
371
+ - - "~>"
388
372
  - !ruby/object:Gem::Version
389
- version: '0'
373
+ version: '2.0'
390
374
  required_rubygems_version: !ruby/object:Gem::Requirement
391
375
  requirements:
392
- - - '>='
376
+ - - ">="
393
377
  - !ruby/object:Gem::Version
394
378
  version: '0'
395
379
  requirements: []
396
380
  rubyforge_project:
397
- rubygems_version: 2.4.2
381
+ rubygems_version: 2.0.14
398
382
  signing_key:
399
383
  specification_version: 4
400
384
  summary: Markdown to Rackup application documentation generator