lib/j1/commands/generate.rb in j1-template-2022.0.17 vs lib/j1/commands/generate.rb in j1-template-2022.0.18

- old
+ new

@@ -20,25 +20,28 @@ end end end def process(args, options = {}) - raise ArgumentError, 'GENERATE: You must specify a path.' if args.empty? + timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S") + raise ArgumentError, "#{timestamp} - GENERATE: You must specify a path." if args.empty? new_blog_path = File.expand_path(args.join(' '), Dir.pwd) FileUtils.mkdir_p new_blog_path if preserve_source_location?(new_blog_path, options) - J1.logger.abort_with 'GENERATE: Conflict:', "#{new_blog_path} exists and is not empty." + J1.logger.abort_with "#{timestamp} - GENERATE: Conflict:", "#{new_blog_path} exists and is not empty." end if options['blank'] create_blank_site new_blog_path else create_site new_blog_path end after_install(new_blog_path, options) + timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S") + J1.logger.info "#{timestamp} - GENERATE: To setup the site, change to the project folder #{new_blog_path} and run: j1 setup" end def create_blank_site(path) Dir.chdir(path) do FileUtils.mkdir(%w(_layouts posts/public/featured/_posts _drafts)) @@ -85,66 +88,74 @@ # After a generate blog has been created, print a success notification and # then automatically execute bundle install from within the generate blog dir # unless the user opts to generate a blank blog or skip 'bundle install'. def after_install(path, options = {}) + timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S") unless options['skip-bundle'] bundle_install(path, options) if options['skip-patches'] - J1.logger.info "GENERATE: Install build-in patches skipped ..." + J1.logger.info "#{timestamp} - GENERATE: Install build-in patches skipped ..." else patch_install(options) end end + timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S") if options['force'] - J1.logger.info "GENERATE: Generated Jekyll site force installed in folder #{path}" + J1.logger.info "#{timestamp} - GENERATE: Generated Jekyll site force installed in folder #{path}" else - J1.logger.info "GENERATE: Generated Jekyll site installed in folder #{path}" + J1.logger.info "#{timestamp} - GENERATE: Generated Jekyll site installed in folder #{path}" end - J1.logger.info 'GENERATE: Installation (bundle) of RubyGems skipped' if options['skip-bundle'] + J1.logger.info "#{timestamp} - GENERATE: Installation (bundle) of RubyGems skipped" if options['skip-bundle'] end def bundle_install(path, options) + timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S") J1::External.require_with_graceful_fail 'bundler' - J1.logger.info "GENERATE: Running bundle install in #{path} ..." + J1.logger.info "#{timestamp} - GENERATE: Running bundle install in #{path} ..." Dir.chdir(path) do if options['system'] - J1.logger.info "GENERATE: Install bundle in Ruby gem SYSTEM folder ..." + J1.logger.info "#{timestamp} - GENERATE: Install bundle in Ruby gem SYSTEM folder ..." else - J1.logger.info "GENERATE: Install bundle in USER gem folder ~/.gem ..." + J1.logger.info "#{timestamp} - GENERATE: Install bundle in USER gem folder ~/.gem ..." process = J1::Utils::Exec2.run('GENERATE','bundle', 'config', 'set', '--local', 'path', '~/.gem') raise SystemExit unless process.success? end process = J1::Utils::Exec2.run( 'GENERATE', 'bundle', 'install') raise SystemExit unless process.success? end end def patch_install(options) + timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S") if J1::Utils::is_windows? major, minor = RUBY_VERSION.split('.') lib_version = major + '.' + minor curr_path = File.expand_path(File.dirname(File.dirname(__FILE__))) patch_gem_eventmachine = 'eventmachine-1.2.7-x64-mingw32' patch_gem_execjs = 'execjs-2.7.0' patch_eventmachine_source_path = curr_path + '/patches/rubygems' + '/' + patch_gem_eventmachine + '/lib/' + lib_version patch_execjs_source_path = curr_path + '/patches/rubygems' + '/' + patch_gem_execjs + '/lib/execjs/external_runtime.rb' process, output = J1::Utils::Exec1.run('gem', 'env', 'gempath') + output.to_s.each_line do |line| + J1.logger.info("#{timestamp} - GENERATE: ", line.strip) unless line.to_s.empty? + end raise SystemExit unless process.success? result = output.split(';') user_path = result[0] system_path = result[1] + timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S") if options['system'] - J1.logger.info "GENERATE: Install patches in SYSTEM folder ..." - J1.logger.info "GENERATE: Install patches on path #{system_path} ..." + J1.logger.info "#{timestamp} - GENERATE: Install patches in SYSTEM folder ..." + J1.logger.info "#{timestamp} - GENERATE: Install patches on path #{system_path} ..." dest = system_path + '/gems/' + patch_gem_eventmachine + '/lib' else - J1.logger.info "GENERATE: Install patches in USER gem folder ~/.gem ..." - J1.logger.info "GENERATE: Install patches on path #{user_path} ..." + J1.logger.info "#{timestamp} - GENERATE: Install patches in USER gem folder ~/.gem ..." + J1.logger.info "#{timestamp} - GENERATE: Install patches on path #{user_path} ..." dest = user_path + '/gems/' + patch_gem_eventmachine + '/lib' end src = patch_eventmachine_source_path FileUtils.cp_r(src, dest) @@ -156,10 +167,10 @@ end src = patch_execjs_source_path if Dir.exist?(dest) FileUtils.cp(src, dest) else - J1.logger.info "GENERATE: Skipped install patches for execjs-2.7.0 ..." + J1.logger.info "#{timestamp} - GENERATE: Skipped install patches for execjs-2.7.0 ..." end end end end