nanoc-cli 4.12.20 → 4.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 75718c2d05f009f344a77d79bf30525a0c0639a4f0cfd34b4b27017ff5de70bf
4
- data.tar.gz: 2e1780b02a4d021ad6dd14d6cd5f76e5410ca19de826c08b6c38b4df53ce035c
3
+ metadata.gz: 4f128a32f18562448ea9aa76e5f9ec8c123753d72868a99e928d1f0c3ce39782
4
+ data.tar.gz: 7b7385b30702c3b5e6062ab5aadd9d84eaffa6f3de52d282892e51df01a1f13f
5
5
  SHA512:
6
- metadata.gz: 401911ef51c5273bf09c85ab89f2c3adb45f8608748bd901ec24faf987cebff4d73e157ca7d3aade7b2f9718f70a528d038751b6712d83ed5e7e00ee5f932404
7
- data.tar.gz: 979f6e303b057b1568b3bababf5222a80cc08df5a565ff6d90752658f41fd50745f3a7c6b1845bd31ad4ec4c1a5fd5129c5e2fa48d7dde3254b96b2cc016e18d
6
+ metadata.gz: 8b4038d82337732797ab3de5045f4016e73836fb9b5a688120275a526100c1f49bca732a3d3647e953142890f731547953b44f5fc1735bf9fb7ed738a5187b50
7
+ data.tar.gz: 4c7696dbf5772faa47a079cca94092f2395ceba6a9e5b95dfa4743fcbe6e9adced430d8de086c8470a9b971dbc76471ed5457734e8b76f807fb435424194dd85
@@ -81,6 +81,11 @@ module Nanoc
81
81
  end
82
82
  end
83
83
 
84
+ # @see IO#printf
85
+ def printf(*args)
86
+ @stream.printf(*args)
87
+ end
88
+
84
89
  # @see IO#puts
85
90
  def puts(*str)
86
91
  _nanoc_swallow_broken_pipe_errors_while do
@@ -9,6 +9,7 @@ no_params
9
9
 
10
10
  flag nil, :diff, 'generate diff'
11
11
  flag :W, :watch, 'watch for changes and recompile when needed'
12
+ option nil, :focus, 'compile only items matching the given pattern', argument: :required, multiple: true
12
13
 
13
14
  module Nanoc::CLI::Commands
14
15
  class Compile < ::Nanoc::CLI::CommandRunner
@@ -26,7 +27,7 @@ module Nanoc::CLI::Commands
26
27
 
27
28
  def run_repeat
28
29
  require 'nanoc/live'
29
- Nanoc::Live::LiveRecompiler.new(command_runner: self).run
30
+ Nanoc::Live::LiveRecompiler.new(command_runner: self, focus: options[:focus]).run
30
31
  end
31
32
 
32
33
  def run_once
@@ -35,11 +36,11 @@ module Nanoc::CLI::Commands
35
36
  @site = load_site
36
37
 
37
38
  puts 'Compiling site…'
38
- compiler = Nanoc::Core::Compiler.new_for(@site)
39
+ compiler = Nanoc::Core::Compiler.new_for(@site, focus: options[:focus])
39
40
  listener = Nanoc::CLI::CompileListeners::Aggregate.new(
40
41
  command_runner: self,
41
42
  site: @site,
42
- compiler: compiler,
43
+ compiler:,
43
44
  )
44
45
  listener.run_while do
45
46
  compiler.run_until_end
@@ -48,6 +49,11 @@ module Nanoc::CLI::Commands
48
49
  time_after = Time.now
49
50
  puts
50
51
  puts "Site compiled in #{format('%.2f', time_after - time_before)}s."
52
+
53
+ if options[:focus]
54
+ warn 'CAUTION: A --focus option is specified. Not the entire site has been compiled.'
55
+ warn 'Re-run without --focus to compile the entire site.'
56
+ end
51
57
  end
52
58
  end
53
59
  end
@@ -23,7 +23,7 @@ module Nanoc::CLI::Commands
23
23
  reps = res.fetch(:reps)
24
24
 
25
25
  listener_class = Nanoc::CLI::CompileListeners::FileActionPrinter
26
- listener = listener_class.new(reps: reps)
26
+ listener = listener_class.new(reps:)
27
27
  listener.start_safely
28
28
 
29
29
  if options.key?(:yes)
@@ -8,10 +8,10 @@ description <<~EOS
8
8
  `adsf` (not `asdf`!).
9
9
  EOS
10
10
 
11
- required :H, :handler, 'specify the handler to use (webrick/puma/...)'
12
- required :o, :host, 'specify the host to listen on', default: '127.0.0.1'
13
- required :p, :port, 'specify the port to listen on', transform: Nanoc::CLI::Transform::Port, default: 3000
14
- flag :L, :'live-reload', 'reload on changes'
11
+ option :H, :handler, 'specify the handler to use (webrick/puma/...)', argument: :required
12
+ option :o, :host, 'specify the host to listen on', default: '127.0.0.1', argument: :required
13
+ option :p, :port, 'specify the port to listen on', transform: Nanoc::CLI::Transform::Port, default: 3000, argument: :required
14
+ flag :L, :'live-reload', 'reload on changes'
15
15
  no_params
16
16
 
17
17
  module Nanoc::CLI::Commands
@@ -36,7 +36,7 @@ module Nanoc::CLI::CompileListeners
36
36
  @listeners =
37
37
  @listener_classes
38
38
  .select { |klass| klass.enable_for?(@command_runner, @site) }
39
- .map { |klass| klass.new(reps: reps) }
39
+ .map { |klass| klass.new(reps:) }
40
40
 
41
41
  @listeners.each(&:start_safely)
42
42
  end
@@ -55,6 +55,7 @@ module Nanoc::CLI::CompileListeners
55
55
  :low
56
56
  end
57
57
 
58
+ # Make path relative (to current working directory)
58
59
  # FIXME: do not depend on working directory
59
60
  if path.start_with?(Dir.getwd)
60
61
  path = path[(Dir.getwd.size + 1)..path.size]
@@ -64,10 +65,22 @@ module Nanoc::CLI::CompileListeners
64
65
  end
65
66
 
66
67
  on(:file_pruned) do |path|
68
+ # Make path relative (to current working directory)
69
+ # FIXME: do not depend on working directory
70
+ if path.start_with?(Dir.getwd)
71
+ path = path[(Dir.getwd.size + 1)..path.size]
72
+ end
73
+
67
74
  Nanoc::CLI::Logger.instance.file(:high, :delete, path)
68
75
  end
69
76
 
70
77
  on(:file_listed_for_pruning) do |path|
78
+ # Make path relative (to current working directory)
79
+ # FIXME: do not depend on working directory
80
+ if path.start_with?(Dir.getwd)
81
+ path = path[(Dir.getwd.size + 1)..path.size]
82
+ end
83
+
71
84
  Nanoc::CLI::Logger.instance.file(:high, :delete, '(dry run) ' + path)
72
85
  end
73
86
  end
@@ -12,7 +12,7 @@ module Nanoc::CLI
12
12
  if @disabled
13
13
  yield
14
14
  else
15
- new.handle_while(exit_on_error: exit_on_error, &block)
15
+ new.handle_while(exit_on_error:, &block)
16
16
  end
17
17
  end
18
18
 
@@ -66,7 +66,7 @@ module Nanoc::CLI
66
66
  puts
67
67
  exit(1)
68
68
  when StandardError, ScriptError
69
- handle_error(e, exit_on_error: exit_on_error)
69
+ handle_error(e, exit_on_error:)
70
70
  else
71
71
  raise e
72
72
  end
@@ -283,7 +283,7 @@ module Nanoc::CLI
283
283
  end
284
284
 
285
285
  def write_error_message(stream, error, verbose: false)
286
- write_section_header(stream, 'Message', verbose: verbose)
286
+ write_section_header(stream, 'Message', verbose:)
287
287
 
288
288
  error = unwrap_error(error)
289
289
 
@@ -317,33 +317,33 @@ module Nanoc::CLI
317
317
  def write_item_rep(stream, error, verbose: false)
318
318
  return unless error.is_a?(Nanoc::Core::Errors::CompilationError)
319
319
 
320
- write_section_header(stream, 'Item being compiled', verbose: verbose)
320
+ write_section_header(stream, 'Item being compiled', verbose:)
321
321
 
322
322
  item_rep = error.item_rep
323
323
  stream.puts "Current item: #{item_rep.item.identifier} (#{item_rep.name.inspect} representation)"
324
324
  end
325
325
 
326
326
  def write_stack_trace(stream, error, verbose: false)
327
- write_section_header(stream, 'Stack trace', verbose: verbose)
327
+ write_section_header(stream, 'Stack trace', verbose:)
328
328
 
329
329
  writer = Nanoc::CLI::StackTraceWriter.new(stream)
330
- writer.write(unwrap_error(error), verbose: verbose)
330
+ writer.write(unwrap_error(error), verbose:)
331
331
  end
332
332
 
333
333
  def write_version_information(stream, verbose: false)
334
- write_section_header(stream, 'Version information', verbose: verbose)
334
+ write_section_header(stream, 'Version information', verbose:)
335
335
  stream.puts Nanoc::Core.version_information
336
336
  end
337
337
 
338
338
  def write_system_information(stream, verbose: false)
339
339
  uname = `uname -a`
340
- write_section_header(stream, 'System information', verbose: verbose)
340
+ write_section_header(stream, 'System information', verbose:)
341
341
  stream.puts uname
342
342
  rescue Errno::ENOENT
343
343
  end
344
344
 
345
345
  def write_installed_gems(stream, verbose: false)
346
- write_section_header(stream, 'Installed gems', verbose: verbose)
346
+ write_section_header(stream, 'Installed gems', verbose:)
347
347
  gems_and_versions.each do |g|
348
348
  stream.puts " #{g.first} #{g.last.join(', ')}"
349
349
  end
@@ -351,13 +351,13 @@ module Nanoc::CLI
351
351
 
352
352
  def write_gemfile_lock(stream, verbose: false)
353
353
  if File.exist?('Gemfile.lock')
354
- write_section_header(stream, 'Gemfile.lock', verbose: verbose)
354
+ write_section_header(stream, 'Gemfile.lock', verbose:)
355
355
  stream.puts File.read('Gemfile.lock')
356
356
  end
357
357
  end
358
358
 
359
359
  def write_load_paths(stream, verbose: false)
360
- write_section_header(stream, 'Load paths', verbose: verbose)
360
+ write_section_header(stream, 'Load paths', verbose:)
361
361
  $LOAD_PATH.each_with_index do |i, index|
362
362
  stream.puts " #{index}. #{i}"
363
363
  end
@@ -5,7 +5,7 @@ module Nanoc
5
5
  # @api private
6
6
  module Transform
7
7
  module Port
8
- RANGE = (0x0001..0xffff).freeze
8
+ RANGE = (0x0001..0xffff)
9
9
 
10
10
  def self.call(data)
11
11
  Integer(data).tap do |int|
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Nanoc
4
4
  module CLI
5
- VERSION = '4.12.20'
5
+ VERSION = '4.13.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nanoc-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.12.20
4
+ version: 4.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Defreyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-15 00:00:00.000000000 Z
11
+ date: 2024-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cri
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 4.12.20
47
+ version: 4.13.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 4.12.20
54
+ version: 4.13.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +120,7 @@ licenses:
120
120
  - MIT
121
121
  metadata:
122
122
  rubygems_mfa_required: 'true'
123
- source_code_uri: https://github.com/nanoc/nanoc/tree/nanoc-cli-v4.12.20/nanoc-cli
123
+ source_code_uri: https://github.com/nanoc/nanoc/tree/nanoc-cli-v4.13.0/nanoc-cli
124
124
  post_install_message:
125
125
  rdoc_options: []
126
126
  require_paths:
@@ -129,14 +129,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - ">="
131
131
  - !ruby/object:Gem::Version
132
- version: '2.7'
132
+ version: '3.1'
133
133
  required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - ">="
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
138
  requirements: []
139
- rubygems_version: 3.5.3
139
+ rubygems_version: 3.5.11
140
140
  signing_key:
141
141
  specification_version: 4
142
142
  summary: CLI for Nanoc