tidy up
This commit is contained in:
parent
751c11f6eb
commit
86f76b2a53
23
.rubocop.yml
23
.rubocop.yml
|
@ -1,24 +1,11 @@
|
|||
AllCops:
|
||||
Include:
|
||||
- Rakefile
|
||||
- Gemfile
|
||||
- 'Gemfile'
|
||||
Exclude:
|
||||
- script/**/*
|
||||
- vendor/**/*
|
||||
- bin/**/*
|
||||
LineLength:
|
||||
Enabled: false
|
||||
MethodLength:
|
||||
Enabled: false
|
||||
ClassLength:
|
||||
Enabled: false
|
||||
- 'script/**/*'
|
||||
- 'vendor/**/*'
|
||||
- 'bin/**/*'
|
||||
Documentation:
|
||||
Enabled: false
|
||||
Encoding:
|
||||
ClassAndModuleChildren:
|
||||
Enabled: false
|
||||
Blocks:
|
||||
Enabled: false
|
||||
AlignParameters:
|
||||
Enabled: false
|
||||
HashSyntax:
|
||||
EnforcedStyle: ruby19
|
|
@ -35,7 +35,7 @@ module Middleman
|
|||
aliases: '-b',
|
||||
desc: 'Run `middleman build` before the deploy step'
|
||||
|
||||
def self.subcommand_help options
|
||||
def self.subcommand_help(_options)
|
||||
# TODO
|
||||
end
|
||||
|
||||
|
@ -44,7 +44,6 @@ module Middleman
|
|||
true
|
||||
end
|
||||
|
||||
|
||||
def deploy
|
||||
env = options['environment'] ? :production : options['environment'].to_s.to_sym
|
||||
verbose = options['verbose'] ? 0 : 1
|
||||
|
@ -62,7 +61,7 @@ module Middleman
|
|||
protected
|
||||
|
||||
def build_before(options = {})
|
||||
build_enabled = options.fetch('build_before', self.deploy_options.build_before)
|
||||
build_enabled = options.fetch('build_before', deploy_options.build_before)
|
||||
|
||||
if build_enabled
|
||||
# http://forum.middlemanapp.com/t/problem-with-the-build-task-in-an-extension
|
||||
|
@ -71,16 +70,14 @@ module Middleman
|
|||
end
|
||||
|
||||
def print_usage_and_die(message)
|
||||
raise StandardError, "ERROR: #{message}\n#{Middleman::Deploy::README}"
|
||||
fail StandardError, "ERROR: #{message}\n#{Middleman::Deploy::README}"
|
||||
end
|
||||
|
||||
|
||||
|
||||
def process
|
||||
server_instance = @app
|
||||
camelized_method = self.deploy_options.deploy_method.to_s.split('_').map { |word| word.capitalize}.join
|
||||
camelized_method = deploy_options.deploy_method.to_s.split('_').map(&:capitalize).join
|
||||
method_class_name = "Middleman::Deploy::Methods::#{camelized_method}"
|
||||
method_instance = method_class_name.constantize.new(server_instance, self.deploy_options)
|
||||
method_instance = method_class_name.constantize.new(server_instance, deploy_options)
|
||||
|
||||
method_instance.process
|
||||
end
|
||||
|
|
|
@ -4,23 +4,15 @@ require 'middleman-core'
|
|||
# Extension namespace
|
||||
module Middleman
|
||||
module Deploy
|
||||
|
||||
@options
|
||||
|
||||
class << self
|
||||
attr_reader :options
|
||||
|
||||
def options
|
||||
@options
|
||||
end
|
||||
|
||||
def options= options
|
||||
@options = options
|
||||
end
|
||||
|
||||
attr_writer :options
|
||||
end
|
||||
|
||||
class Extension < Extension
|
||||
|
||||
option :deploy_method, nil
|
||||
option :host, nil
|
||||
option :port, nil
|
||||
|
@ -35,8 +27,6 @@ module Middleman
|
|||
option :flags, nil
|
||||
option :commit_message, nil
|
||||
|
||||
|
||||
|
||||
def initialize(app, options_hash = {}, &block)
|
||||
super
|
||||
|
||||
|
@ -50,17 +40,14 @@ module Middleman
|
|||
options.remote ||= 'origin'
|
||||
options.branch ||= 'gh-pages'
|
||||
options.strategy ||= :force_push
|
||||
options.commit_message ||= nil
|
||||
options.commit_message ||= nil
|
||||
|
||||
options.build_before ||= false
|
||||
|
||||
end
|
||||
|
||||
def after_configuration
|
||||
::Middleman::Deploy.options = options
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,11 +10,11 @@ module Middleman
|
|||
end
|
||||
|
||||
def build_dir
|
||||
self.server_instance.config.setting(:build_dir).value
|
||||
server_instance.config.setting(:build_dir).value
|
||||
end
|
||||
|
||||
def process
|
||||
raise NotImplementedError
|
||||
fail NotImplementedError
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,11 +18,11 @@ module Middleman
|
|||
end
|
||||
|
||||
def process
|
||||
puts "## Deploying via ftp to #{self.user}@#{self.host}:#{self.path}"
|
||||
puts "## Deploying via ftp to #{user}@#{host}:#{path}"
|
||||
|
||||
ftp = open_connection
|
||||
|
||||
Dir.chdir(self.build_dir) do
|
||||
Dir.chdir(build_dir) do
|
||||
filtered_files.each do |filename|
|
||||
if File.directory?(filename)
|
||||
upload_directory(ftp, filename)
|
||||
|
@ -57,9 +57,9 @@ module Middleman
|
|||
end
|
||||
|
||||
def open_connection
|
||||
ftp = Net::FTP.new(self.host)
|
||||
ftp.login(self.user, self.pass)
|
||||
ftp.chdir(self.path)
|
||||
ftp = Net::FTP.new(host)
|
||||
ftp.login(user, pass)
|
||||
ftp.chdir(path)
|
||||
ftp.passive = true
|
||||
|
||||
ftp
|
||||
|
@ -76,11 +76,9 @@ module Middleman
|
|||
end
|
||||
|
||||
def upload_directory(ftp, filename)
|
||||
begin
|
||||
ftp.mkdir(filename)
|
||||
puts "Created directory #{filename}"
|
||||
rescue
|
||||
end
|
||||
ftp.mkdir(filename)
|
||||
puts "Created directory #{filename}"
|
||||
rescue
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,11 +3,11 @@ module Middleman
|
|||
module Methods
|
||||
class Git < Base
|
||||
def process
|
||||
puts "## Deploying via git to remote=\"#{self.options.remote}\" and branch=\"#{self.options.branch}\""
|
||||
puts "## Deploying via git to remote=\"#{options.remote}\" and branch=\"#{options.branch}\""
|
||||
|
||||
camelized_strategy = self.options.strategy.to_s.split('_').map { |word| word.capitalize}.join
|
||||
camelized_strategy = options.strategy.to_s.split('_').map(&:capitalize).join
|
||||
strategy_class_name = "Middleman::Deploy::Strategies::Git::#{camelized_strategy}"
|
||||
strategy_instance = strategy_class_name.constantize.new(self.build_dir, self.options.remote, self.options.branch, self.options.commit_message)
|
||||
strategy_instance = strategy_class_name.constantize.new(build_dir, options.remote, options.branch, options.commit_message)
|
||||
|
||||
strategy_instance.process
|
||||
end
|
||||
|
|
|
@ -17,17 +17,15 @@ module Middleman
|
|||
|
||||
def process
|
||||
# Append "@" to user if provided.
|
||||
user = "#{self.user}@" if self.user && !self.user.empty?
|
||||
user = "#{self.user}@" if user && !user.empty?
|
||||
|
||||
dest_url = "#{user}#{self.host}:#{self.path}"
|
||||
dest_url = "#{user}#{host}:#{path}"
|
||||
flags = self.flags || '-avz'
|
||||
command = "rsync #{flags} '-e ssh -p #{self.port}' #{self.build_dir}/ #{dest_url}"
|
||||
command = "rsync #{flags} '-e ssh -p #{port}' #{build_dir}/ #{dest_url}"
|
||||
|
||||
if self.clean
|
||||
command += ' --delete'
|
||||
end
|
||||
command += ' --delete' if clean
|
||||
|
||||
puts "## Deploying via rsync to #{dest_url} port=#{self.port}"
|
||||
puts "## Deploying via rsync to #{dest_url} port=#{port}"
|
||||
exec command
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,13 +6,13 @@ module Middleman
|
|||
module Methods
|
||||
class Sftp < Ftp
|
||||
def process
|
||||
puts "## Deploying via sftp to #{self.user}@#{self.host}:#{path}"
|
||||
puts "## Deploying via sftp to #{user}@#{host}:#{path}"
|
||||
|
||||
# `nil` is a valid value for user and/or pass.
|
||||
Net::SFTP.start(self.host, self.user, password: self.pass, port: self.port) do |sftp|
|
||||
sftp.mkdir(self.path)
|
||||
Net::SFTP.start(host, user, password: pass, port: port) do |sftp|
|
||||
sftp.mkdir(path)
|
||||
|
||||
Dir.chdir(self.build_dir) do
|
||||
Dir.chdir(build_dir) do
|
||||
filtered_files.each do |filename|
|
||||
if File.directory?(filename)
|
||||
upload_directory(sftp, filename)
|
||||
|
@ -26,17 +26,15 @@ module Middleman
|
|||
|
||||
protected
|
||||
|
||||
def handle_exception(exception,filename, file_path)
|
||||
def handle_exception(exception, filename, file_path)
|
||||
reply = exception.message
|
||||
err_code = reply[0, 3].to_i
|
||||
|
||||
if err_code == 550
|
||||
sftp.upload(filename, file_path)
|
||||
end
|
||||
sftp.upload(filename, file_path) if err_code == 550
|
||||
end
|
||||
|
||||
def upload_directory(sftp, filename)
|
||||
file_path = "#{self.path}/#{filename}"
|
||||
file_path = "#{path}/#{filename}"
|
||||
|
||||
begin
|
||||
sftp.mkdir(file_path)
|
||||
|
@ -46,7 +44,7 @@ module Middleman
|
|||
end
|
||||
|
||||
def upload_file(sftp, filename)
|
||||
file_path = "#{self.path}/#{filename}"
|
||||
file_path = "#{path}/#{filename}"
|
||||
|
||||
begin
|
||||
sftp.upload(filename, file_path)
|
||||
|
|
|
@ -15,7 +15,7 @@ module Middleman
|
|||
end
|
||||
|
||||
def process
|
||||
raise NotImplementedError
|
||||
fail NotImplementedError
|
||||
end
|
||||
|
||||
protected
|
||||
|
@ -29,24 +29,25 @@ module Middleman
|
|||
|
||||
def checkout_branch
|
||||
# if there is a branch with that name, switch to it, otherwise create a new one and switch to it
|
||||
if `git branch`.split("\n").any? { |b| b =~ /#{self.branch}/i }
|
||||
`git checkout #{self.branch}`
|
||||
if `git branch`.split("\n").any? { |b| b =~ /#{branch}/i }
|
||||
`git checkout #{branch}`
|
||||
else
|
||||
`git checkout -b #{self.branch}`
|
||||
`git checkout -b #{branch}`
|
||||
end
|
||||
end
|
||||
|
||||
def commit_branch(options = '')
|
||||
message = self.commit_message ? self.commit_message : add_signature_to_commit_message('Automated commit')
|
||||
message = commit_message ? commit_message : add_signature_to_commit_message('Automated commit')
|
||||
|
||||
run_or_fail("git add -A")
|
||||
run_or_fail('git add -A')
|
||||
run_or_fail("git commit --allow-empty -am \"#{message}\"")
|
||||
run_or_fail("git push #{options} origin #{self.branch}")
|
||||
run_or_fail("git push #{options} origin #{branch}")
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def run_or_fail(command)
|
||||
system(command) || raise("ERROR running: #{command}")
|
||||
system(command) || fail("ERROR running: #{command}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ module Middleman
|
|||
module Git
|
||||
class ForcePush < Base
|
||||
def process
|
||||
Dir.chdir(self.build_dir) do
|
||||
Dir.chdir(build_dir) do
|
||||
add_remote_url
|
||||
checkout_branch
|
||||
commit_branch('-f')
|
||||
|
@ -19,8 +19,8 @@ module Middleman
|
|||
unless File.exist?('.git')
|
||||
`git init`
|
||||
`git remote add origin #{url}`
|
||||
`git config user.name "#{self.user_name}"`
|
||||
`git config user.email "#{self.user_email}"`
|
||||
`git config user.name "#{user_name}"`
|
||||
`git config user.email "#{user_email}"`
|
||||
else
|
||||
# check if the remote repo has changed
|
||||
unless url == `git config --get remote.origin.url`.chop
|
||||
|
@ -28,9 +28,9 @@ module Middleman
|
|||
`git remote add origin #{url}`
|
||||
end
|
||||
# check if the user name has changed
|
||||
`git config user.name "#{self.user_name}"` unless self.user_name == `git config --get user.name`
|
||||
`git config user.name "#{user_name}"` unless user_name == `git config --get user.name`
|
||||
# check if the user email has changed
|
||||
`git config user.email "#{self.user_email}"` unless self.user_email == `git config --get user.email`
|
||||
`git config user.email "#{user_email}"` unless user_email == `git config --get user.email`
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ module Middleman
|
|||
module Git
|
||||
class Submodule < Base
|
||||
def process
|
||||
Dir.chdir(self.build_dir) do
|
||||
Dir.chdir(build_dir) do
|
||||
checkout_branch
|
||||
pull_submodule
|
||||
commit_branch
|
||||
|
@ -19,7 +19,7 @@ module Middleman
|
|||
current_branch = `git rev-parse --abbrev-ref HEAD`
|
||||
message = add_signature_to_commit_message('Deployed')
|
||||
|
||||
`git add #{self.build_dir}`
|
||||
`git add #{build_dir}`
|
||||
`git commit --allow-empty -m "#{message}"`
|
||||
`git push origin #{current_branch}`
|
||||
end
|
||||
|
@ -27,11 +27,11 @@ module Middleman
|
|||
def pull_submodule
|
||||
`git fetch`
|
||||
`git stash`
|
||||
`git rebase #{self.remote}/#{self.branch}`
|
||||
`git rebase #{remote}/#{branch}`
|
||||
`git stash pop`
|
||||
|
||||
if $?.exitstatus == 1
|
||||
puts "Can't deploy! Please resolve conflicts. Then process to manual commit and push on #{self.branch} branch."
|
||||
if $CHILD_STATUS.exitstatus == 1
|
||||
puts "Can't deploy! Please resolve conflicts. Then process to manual commit and push on #{branch} branch."
|
||||
exit
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue