Renew InputBubble Option (#416)
author조웅석/Common Platform Lab(SR)/삼성전자 <ws77.cho@samsung.com>
Tue, 28 Jun 2022 00:01:54 +0000 (09:01 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Tue, 28 Jun 2022 00:01:54 +0000 (09:01 +0900)
commit10fceb342f592b17fcdff717ffaa146f20fe8ef3
treef6df9d0ebdc05dc66463e467752c64a2de24c658
parent50662703de60935c936c11768a0c530e88f50f50
Renew InputBubble Option (#416)

When the native image compiled with the --inputbubble option is executed, all assemblies included in the same bubble must be compiled too.
Previous --ni-dll or --no-pipeline option can lead misusage of --inputbubble option.
For example, if the below command are executed, system libraries are compiled one by one.

$ dotnettool --inputbubble --no-pipeline --ni-dir /usr/share/dotnet.tizen/netcoreapp

In this case, a problem may occur because crossgen2 is executed with compiled native images with --inputbubble and the non-compiled assemblies

In order to prevent errors caused by such misuse, the following modifications were made.
1. When using no-pipeline mode, it was temporarily created as ni.dll.tmp and then changed to ni.dll in the last step of dotnettool.
2. if --inputbubbleref option is not set, only input file(s) of dotnettool is added to bubble

Additionally, for fine tunning, --ref and --inputbubbleref option get file path(s) ot directory path(s)
NativeLauncher/inc/ni_common.h
NativeLauncher/tool/dotnettool.cc
NativeLauncher/tool/ni_common.cc
NativeLauncher/tool/nitool.cc
tests/TCs/6_TOOL/TOOL.py