lib/salesforcedeploytool/app.rb in salesforce-deploy-tool-0.9.10 vs lib/salesforcedeploytool/app.rb in salesforce-deploy-tool-0.10.1
- old
+ new
@@ -4,24 +4,34 @@
attr_accessor :build_number
attr_accessor :test
def initialize config
-
+
+ # Parameter Normalization
+ config[:git_dir] = File.expand_path config[:git_dir]
+ config[:tmp_dir] = File.expand_path config[:tmp_dir]
+ config[:version_file] = File.expand_path config[:version_file]
+ config[:deploy_ignore_files] = config[:deploy_ignore_files].map {|f| File.expand_path File.join(config[:git_dir],f)}
+
+ # Defaults
@debug = config[:debug]
@test = config[:test]
-
@build_number = 'N/A'
+
+ # Config file validation:
( @git_repo = config[:git_repo] ).nil? and raise "Invalid Config: git_repo not found"
( @git_dir = config[:git_dir] ).nil? and raise "Invalid Config: git_dir not found"
( @sandbox = config[:sandbox] ).nil? and raise "Invalid Config: sandbox not found"
( @password = config[:password] ).nil? and raise "Invalid Config: password not found, please run `sf config`"
( @deploy_ignore_files = config[:deploy_ignore_files] ).nil? and raise "Invalid Config: deploy_ignore_files not found"
( @build_number_pattern = config[:build_number_pattern] ).nil? and raise "Invalid Config: build_number_pattern not found"
( @commit_hash_pattern = config[:commit_hash_pattern] ).nil? and raise "Invalid Config: commit_hash_pattern not found"
( @version_file = config[:version_file] ).nil? and raise "Invalid Config: version_file not found"
+
+
config[:username].nil? and raise "Invalid Config: username not found, please run `sf config`"
config[:password].nil? and raise "Invalid Config: password not found, please run `sf config`"
@username = @sandbox == 'prod' ? config[:username] : config[:username] + '.' + @sandbox
@server_url = @sandbox == 'prod' ? 'https://login.salesforce.com' : 'https://test.salesforce.com'
@@ -101,10 +111,16 @@
exec_options[:message] += "\n\n"
exec_options[:okmsg] = nil
exec_options[:failmsg] = nil
end
+ # Pull the code
exit_code = myexec full_cmd, exec_options
+
+ # Delete files to be ignored:
+ @deploy_ignore_files.each do |file|
+ FileUtils.rm file if File.exists? file
+ end
exit exit_code if exit_code != 0
end