[Refactoring] Code cleanup and remove duplicate methods
[platform/core/dotnet/launcher.git] / NativeLauncher / tool / nitool.cc
index 1b99e3f..943852e 100644 (file)
@@ -49,7 +49,6 @@ static void help(const char *argv0)
 
 int main(int argc, char* argv[])
 {
-       DWORD flags = 0;
        bool pkgMode = false;
        bool dllMode = false;
        bool rmPkgMode = false;
@@ -58,18 +57,15 @@ int main(int argc, char* argv[])
                return -1;
        }
 
-       // Parse optional switches first.
-       if (cmdOptionExists(argv, argv+argc, "--r2r")) {
-               flags |= NI_FLAGS_ENABLER2R;
-       }
-       if (cmdOptionExists(argv, argv+argc, "--compatibility")) {
-               flags |= NI_FLAGS_COMPATIBILITY;
-       }
-       if (cmdOptionExists(argv, argv+argc, "--instrument")) {
-               flags |= NI_FLAGS_INSTRUMENT;
+       NIOption* opt = getNIOption();
+       if (opt == nullptr) {
+               _SERR("Fail to create option structure.");
+               return -1;
        }
+
+       // Parse optional switches first.
        if (cmdOptionExists(argv, argv+argc, "--verbose")) {
-               flags |= NI_FLAGS_VERBOSE;
+               opt->flags |= NI_FLAGS_VERBOSE;
        }
 
        // The following commands are mutually exclusive.
@@ -77,7 +73,7 @@ int main(int argc, char* argv[])
                help(argv[0]);
                return 0;
        } else if (cmdOptionExists(argv, argv+argc, "--system")) {
-               createNIPlatform(flags);
+               createNIPlatform("", opt->flags);
                return 0;
        } else if (cmdOptionExists(argv, argv+argc, "--dll")) {
                dllMode = true;
@@ -89,7 +85,7 @@ int main(int argc, char* argv[])
        } else if (cmdOptionExists(argv, argv+argc, "--reset-pkg")) {
                rmPkgMode = true;
        } else if (cmdOptionExists(argv, argv+argc, "--regen-all-app")) {
-               regenerateAppNI(flags);
+               regenerateAppNI(opt->flags);
                return 0;
        } else {
                help(argv[0]);
@@ -100,9 +96,9 @@ int main(int argc, char* argv[])
 
        if (args.size() < 1) {
                if (pkgMode)
-                       fprintf(stderr, "Package name is missing.\n");
+                       _SERR("Package name is missing.");
                else if (dllMode)
-                       fprintf(stderr, "DLL path is missing.\n");
+                       _SERR("DLL path is missing.");
                help(argv[0]);
                return -1;
        }
@@ -110,12 +106,12 @@ int main(int argc, char* argv[])
        if (pkgMode) {
                for (const std::string pkg : args) {
                        // if there is AOTed dlls under package root, that is skiped.
-                       int ret = createNIUnderPkgRoot(pkg, flags);
+                       int ret = createNIUnderPkgRoot(pkg, opt->flags);
                        if (ret == NI_ERROR_INVALID_PACKAGE) {
-                               fprintf(stderr, "Failed to get root path from [%s]\n", pkg.c_str());
+                               _SERR("Failed to get root path from [%s]", pkg.c_str());
                                return -1;
                        } else if (ret != NI_ERROR_NONE) {
-                               fprintf(stderr, "Failed to generate NI file [%s]\n", pkg.c_str());
+                               _SERR("Failed to generate NI file [%s]", pkg.c_str());
                                return -1;
                        }
                }
@@ -123,10 +119,10 @@ int main(int argc, char* argv[])
                for (const std::string pkg : args) {
                        int ret = removeNIUnderPkgRoot(pkg);
                        if (ret == NI_ERROR_INVALID_PACKAGE) {
-                               fprintf(stderr, "Failed to get root path from [%s]\n", pkg.c_str());
+                               _SERR("Failed to get root path from [%s]", pkg.c_str());
                                return -1;
                        } else if (ret != NI_ERROR_NONE) {
-                               fprintf(stderr, "Failed to remove dlls for given package [%s]\n", pkg.c_str());
+                               _SERR("Failed to remove dlls for given package [%s]", pkg.c_str());
                                return -1;
                        }
                }
@@ -134,11 +130,11 @@ int main(int argc, char* argv[])
                // donot return error code for generation failure.
                // we have to run crossgen for all input dlls.
                for (const std::string dll : args) {
-                       int ret = createNIDll(dll, flags);
+                       int ret = createNIDll(dll, opt->flags);
                        if (ret == NI_ERROR_ALREADY_EXIST) {
                                // skip for already exist case
                        } else if (ret != NI_ERROR_NONE) {
-                               fprintf(stderr, "Failed to generate NI file [%s]\n", dll.c_str());
+                               _SERR("Failed to generate NI file [%s]", dll.c_str());
                        }
                }
        }