Add '--ni-reset-dir' option of dotnettool
authorj-h.choi <j-h.choi@samsung.com>
Mon, 16 Dec 2019 07:54:39 +0000 (16:54 +0900)
committer이형주/Common Platform Lab(SR)/Staff Engineer/삼성전자 <leee.lee@samsung.com>
Tue, 14 Jan 2020 08:26:30 +0000 (17:26 +0900)
NativeLauncher/tool/dotnettool.cc

index 8f842d0..120b179 100644 (file)
@@ -48,6 +48,7 @@ static void help(const char *argv0)
                "       --ni-dir               - Create NI for directory\n"
                "       --ni-reset-system      - Remove System NI files\n"
                "       --ni-reset-pkg         - Remove App NI files\n"
+               "       --ni-reset-dir         - Remove NI for directory\n"
                "       --ni-regen-all-app     - Re-generate All App NI files\n"
                "       --tac-regen-all        - Re-generate All TAC files\n"
                "       --tac-restore-db       - Restore TAC Database\n"
@@ -80,6 +81,7 @@ int main(int argc, char* argv[])
        bool dllMode = false;
        bool dirMode = false;
        bool rmPkgMode = false;
+       bool rmDirMode = false;
        bool pkgDllMode = false;
        bool disableTacMode = false;
        bool enableTacMode = false;
@@ -121,6 +123,8 @@ int main(int argc, char* argv[])
                return 0;
        } else if (cmdOptionExists(argv, argv+argc, "--ni-reset-pkg")) {
                rmPkgMode = true;
+       } else if (cmdOptionExists(argv, argv+argc, "--ni-reset-dir")) {
+               rmDirMode = true;
        } else if (cmdOptionExists(argv, argv+argc, "--ni-pkg-dll")) {
                pkgDllMode = true;
        } else if (cmdOptionExists(argv, argv+argc, "--ni-regen-all-app")) {
@@ -148,6 +152,8 @@ int main(int argc, char* argv[])
                        fprintf(stderr, "Package name is missed\n");
                } else if (dllMode) {
                        fprintf(stderr, "DLL path is missing.\n");
+               } else if (rmDirMode) {
+                       fprintf(stderr, "Directory path is missing.\n");
                }
                help(argv[0]);
                return -1;
@@ -210,6 +216,8 @@ int main(int argc, char* argv[])
                                return -1;
                        }
                }
+       } else if (rmDirMode) {
+               removeNiUnderDirs(args.data(), args.size());
        } else if (dllMode) {
                // donot return error code for generation failure.
                // we have to run crossgen for all input dlls.