Refactoring path manager
authorWoongsuk Cho <ws77.cho@samsung.com>
Mon, 29 Jun 2020 03:50:55 +0000 (12:50 +0900)
committer조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 <ws77.cho@samsung.com>
Wed, 8 Jul 2020 00:15:17 +0000 (09:15 +0900)
commitde48021671279d8040bd8baee38bd722db67b800
tree5fcc081ae2f583c00aeb007988f84791c5f191ef
parent03f098bc9e2ba12163a15da2f54c6d256fb2b25b
Refactoring path manager

The existing path manager provided only the function to create and provide TPA with some directories (runtime/tizenfx/etc).
As a result, a lot of path related duplicate code was used in launcher internal code,

To modify this, the PathManager was refactored as follows:
  1. The paths required for app execution and native image creation are obtained through path manager.
  2. The path manager is created as an object so that it can be maintained and managed where it is needed.
  3. The dependency between path manager and the plugin manager has been removed.
  4. Platform assembly searching path can be updated. (To support dotnet-plugin, system library upgrade)
  5. The nitool doesnot supported any more
  6. --ni-pkg-dll option is removed from dotnettool
  7. TPA related code is moved out from PathManager

Interface change
  1. The parameter of initNICommon() function is removed.
  2. Some functions in ni_common.h, tac_common.h are removed or changed
20 files changed:
NativeLauncher/CMakeLists.txt
NativeLauncher/hydra/hydra_main.cc
NativeLauncher/inc/ni_common.h
NativeLauncher/inc/path_manager.h
NativeLauncher/inc/tac_common.h
NativeLauncher/inc/utils.h
NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc
NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc
NativeLauncher/launcher/exec/launcher.cc
NativeLauncher/launcher/exec/loader.cc
NativeLauncher/launcher/lib/core_runtime.cc
NativeLauncher/launcher/lib/core_runtime.h
NativeLauncher/tool/dotnettool.cc
NativeLauncher/tool/ni_common.cc
NativeLauncher/tool/nitool.cc
NativeLauncher/tool/tac_common.cc
NativeLauncher/tool/tpatool.cc
NativeLauncher/util/path_manager.cc
NativeLauncher/util/utils.cc
packaging/dotnet-launcher.spec