Skip to content

Commit a980c9d

Browse files
committed
Log compiler actions verbosely
1 parent 2331305 commit a980c9d

1 file changed

Lines changed: 45 additions & 10 deletions

File tree

lib/nanoc/base/compilation/compiler.rb

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,23 +71,58 @@ def initialize(site, compiled_content_cache:, checksum_store:, rule_memory_store
7171
@stack = []
7272
end
7373

74+
def log_time(msg)
75+
# TODO: only verbose
76+
77+
raise ArgumentError unless block_given?
78+
79+
before = Time.now
80+
puts "-> #{msg}…"
81+
82+
yield
83+
84+
after = Time.now
85+
duration = after - before
86+
puts "-> #{msg}: done [#{format '%3.2f', duration}s]"
87+
end
88+
7489
def run_all
75-
@action_provider.preprocess(@site)
76-
build_reps
90+
log_time 'Preprocessing' do
91+
@action_provider.preprocess(@site)
92+
end
93+
94+
log_time 'Building reps' do
95+
build_reps
96+
end
97+
7798
run
78-
@action_provider.postprocess(@site, @reps)
99+
100+
log_time 'Postprocessing' do
101+
@action_provider.postprocess(@site, @reps)
102+
end
79103
end
80104

81105
def run
82-
load_stores
83-
@site.freeze
106+
log_time 'Loading stores' do
107+
load_stores
108+
end
84109

85-
# Determine which reps need to be recompiled
86-
forget_dependencies_if_outdated
110+
log_time 'Freezing' do
111+
@site.freeze
112+
end
87113

88-
@stack = []
89-
compile_reps
90-
store
114+
log_time 'Unsetting dependencies for outdated items' do
115+
forget_dependencies_if_outdated
116+
end
117+
118+
log_time 'Compiling' do
119+
@stack = []
120+
compile_reps
121+
end
122+
123+
log_time 'Storing caches' do
124+
store
125+
end
91126
ensure
92127
Nanoc::Int::TempFilenameFactory.instance.cleanup(
93128
Nanoc::Filter::TMP_BINARY_ITEMS_DIR,

0 commit comments

Comments
 (0)