class EL_VERSION_APP
Version app
note
	description: "Version app"
	author: "Finnian Reilly"
	copyright: "Copyright (c) 2001-2022 Finnian Reilly"
	contact: "finnian at eiffel hyphen loop dot com"
	license: "MIT license (See: en.wikipedia.org/wiki/MIT_License)"
	date: "2024-08-20 17:37:10 GMT (Tuesday 20th August 2024)"
	revision: "15"
		
		class
	EL_VERSION_APP
inherit
	EL_APPLICATION
		redefine
			Option_name
		end
	EL_MODULE_ARGS
create
	default_create
feature {NONE} -- Initiliazation
	initialize
			--
		do
			if Args.has_value (Option_name) then
				file_path := Args.file_path (Option_name)
			else
				create file_path
			end
		end
feature -- Basic operations
	run
			--
		local
			version_out: PLAIN_TEXT_FILE
		do
			if file_path.is_empty then
				io.put_string (Software_version.string)
			else
				File_system.make_directory (file_path.parent)
				create version_out.make_open_write (file_path)
				version_out.put_string (Software_version.string)
				version_out.close
			end
		end
feature {NONE} -- Implementation
	file_path: FILE_PATH
feature {NONE} -- Constants
	Option_name: STRING = "version"
	Description: STRING = "Write application version information to a file"
end