class LIBRARY_MIGRATION_APP

(source code)

description

Command line interface to LIBRARY_MIGRATION_COMMAND

notes

el_eiffel -library_migration -sources <directory or manifest path> \
   -alias_map <path to alias mapping>
   -home <current library home directory> -suffix <basename suffix>
note
	description: "Command line interface to ${LIBRARY_MIGRATION_COMMAND}"
	notes: "[
			el_eiffel -library_migration -sources <directory or manifest path> \
				-alias_map <path to alias mapping>
				-home <current library home directory> -suffix <basename suffix>
	]"

	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: "2025-11-18 7:56:52 GMT (Tuesday 18th November 2025)"
	revision: "36"

class
	LIBRARY_MIGRATION_APP

inherit
	SOURCE_MANIFEST_APPLICATION [LIBRARY_GRADUAL_COPY_COMMAND]
		redefine
			argument_list
		end

create
	make

feature {NONE} -- Implementation

	argument_list: EL_ARRAYED_LIST [EL_COMMAND_ARGUMENT]
		do
			Result := Precursor +
				optional_argument ("alias_map", "Path to alias mapping", << file_must_exist >>) +
				required_argument ("home", "Home directory for library", << directory_must_exist >>) +
				optional_argument ("suffix", "Basename suffix for migrated output", << at_least_n_characters (1) >>) +
				optional_argument ("dry_run", "List classes without copying", No_checks)
		end

	default_make: PROCEDURE [like command]
		do
			Result := agent {like command}.make (create {FILE_PATH}, create {FILE_PATH}, create {DIR_PATH}, "-2", False)
		end

end