From 2bab9b47a9f04afe302943e28bf8f4bc2efd8606 Mon Sep 17 00:00:00 2001 From: Jumpei Matsuda Date: Wed, 22 Aug 2018 22:51:27 +0900 Subject: [PATCH] Just create a version file --- lib/remocon/command/create_command.rb | 2 +- lib/remocon/command/lib/config.rb | 5 +++++ lib/remocon/command/pull_command.rb | 10 ++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/remocon/command/create_command.rb b/lib/remocon/command/create_command.rb index 1539356..e942f92 100644 --- a/lib/remocon/command/create_command.rb +++ b/lib/remocon/command/create_command.rb @@ -25,7 +25,7 @@ def run artifact = { conditions: condition_array, - parameters: parameter_hash + parameters: parameter_hash, }.skip_nil_values.stringify_values File.open(config.config_json_file_path, "w+") do |f| diff --git a/lib/remocon/command/lib/config.rb b/lib/remocon/command/lib/config.rb index ec6fd25..35a0fbc 100644 --- a/lib/remocon/command/lib/config.rb +++ b/lib/remocon/command/lib/config.rb @@ -10,6 +10,7 @@ class Config CONFIG_JSON_FILE = "config.json" CONDITIONS_FILE_NAME = "conditions.yml" PARAMETERS_FILE_NAME = "parameters.yml" + VERSION_FILE_NAME = "version.json" ETAG_FILE_NAME = "etag" attr_reader :opts @@ -67,6 +68,10 @@ def parameters_file_path end end + def version_file_path + @version_file_path = File.join(project_dir_path, VERSION_FILE_NAME) + end + def etag_file_path @etag_file_path ||= opts[:etag] || begin File.join(project_dir_path, ETAG_FILE_NAME) diff --git a/lib/remocon/command/pull_command.rb b/lib/remocon/command/pull_command.rb index da78c0b..a7a87dc 100644 --- a/lib/remocon/command/pull_command.rb +++ b/lib/remocon/command/pull_command.rb @@ -51,6 +51,7 @@ def run conditions = raw_hash[:conditions] || [] parameters = raw_hash[:parameters] || {} + versions = raw_hash[:versions] || {} if config.merge? && File.exist?(config.parameters_file_path) && File.exist?(config.parameters_file_path) unchanged_conditions, added_conditions, changed_conditions, = conditions_diff(left.conditions_to_be_compared, conditions) @@ -63,7 +64,7 @@ def run parameters_hash = JSON.parse(sort_parameters(Remocon::ParameterFileDumper.new(parameters).dump).to_json) end - write_to_files(conditions_array, parameters_hash, etag) + write_to_files(conditions_array, parameters_hash, versions, etag) end def conditions_diff(left, right) @@ -133,7 +134,7 @@ def parameters_diff(left, right) private - def write_to_files(conditions_array, parameters_hash, etag) + def write_to_files(conditions_array, parameters_hash, versions, etag) File.open(config.conditions_file_path, "w+") do |f| f.write(conditions_array.to_yaml) f.flush @@ -144,6 +145,11 @@ def write_to_files(conditions_array, parameters_hash, etag) f.flush end + File.open(config.version_file_path, "w+") do |f| + f.write(JSON.pretty_generate(JSON.parse(versions.to_json))) + f.flush + end + File.open(config.etag_file_path, "w+") do |f| f.write(etag) f.flush