" --print-cmd - Print command and options\n"
" --skip-ro-app - Skip re-generate NI for apps installed RO area\n"
" (This option works with --ni-regen-all-app only)\n"
+ " --rm-origin-after-ni - Remove original dll after creating native image\n"
+ " Note!: App ATOC options(--ni-pkg, --ni-regen-all-app, --tac-regen-all) cannot be used with --rm-origin-after-ni option.\n"
+ " (Use only for assemblies that will not be AOTed again afterward.)"
"\n"
"Usage: dotnettool [options] [command] [arguments]\n"
"\n"
opt->flags |= NI_FLAGS_PRINT_CMD;
} else if (arg == "--skip-ro-app") {
opt->flags |= NI_FLAGS_SKIP_RO_APP;
+ } else if (arg == "--rm-origin-after-ni") {
+ opt->flags |= NI_FLAGS_RM_ORIGIN_AFTER_NI;
} else if (arg == "--mibc") {
++i;
if (i >= argc) {
}
}
+ if (args.size() == 0) {
+ _SERR("The command is missing");
+ DisplayUsage();
+ return -1;
+ }
+
if (opt->flags & NI_FLAGS_INPUT_BUBBLE_REF && !(opt->flags & NI_FLAGS_INPUT_BUBBLE)) {
_SERR("--inputbubbleref option should be used with --inputbubble option");
DisplayUsage();
}
//sh-3.2# dotnettool --ni-pkg [pkgId] [pkgId] ...
else if (cmd == "--ni-pkg") {
+ if (opt->flags & NI_FLAGS_RM_ORIGIN_AFTER_NI) {
+ _SERR("App AOTC options cannot be used with --rm-origin-after-ni option");
+ DisplayUsage();
+ return -1;
+ }
+
if (args.size() < 1) {
_SERR("Package name is missing");
}
}
//sh-3.2# dotnettool --ni-regen-all-app
else if (cmd == "--ni-regen-all-app") {
+ if (opt->flags & NI_FLAGS_RM_ORIGIN_AFTER_NI) {
+ _SERR("App AOTC options cannot be used with --rm-origin-after-ni option");
+ DisplayUsage();
+ return -1;
+ }
+
int ret = regenerateAppNI(opt);
if (ret != NI_ERROR_NONE) {
_SERR("Failed to regenerate all app NI");
}
//sh-3.2# dotnettool --tac-regen-all
else if (cmd == "--tac-regen-all") {
+ if (opt->flags & NI_FLAGS_RM_ORIGIN_AFTER_NI) {
+ _SERR("App AOTC options cannot be used with --rm-origin-after-ni option");
+ DisplayUsage();
+ return -1;
+ }
+
int ret = regenerateTACNI(opt);
if (ret != NI_ERROR_NONE) {
_SERR("Failed to regenerate all TAC");