* limitations under the License.
*/
-#include "log.h"
#include "utils.h"
-#include "db_manager.h"
#include "ni_common.h"
#include "tac_common.h"
#include <algorithm>
#include <cstdio>
#include <cstring>
-#include <fstream>
#include <vector>
-#include <pkgmgr-info.h>
-#include <pkgmgr_installer_info.h>
-
-#ifdef LOG_TAG
-#undef LOG_TAG
-#endif
-#define LOG_TAG "DOTNET_INSTALLER_PLUGIN"
-
std::vector<std::string> getCmdArgs(char** begin, char** end)
{
std::vector<std::string> list;
" --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"
bool dllMode = false;
bool dirMode = false;
bool rmPkgMode = false;
+ bool rmDirMode = false;
bool pkgDllMode = false;
bool disableTacMode = false;
bool enableTacMode = false;
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")) {
regenerateAppNI(flags);
return 0;
} else if (cmdOptionExists(argv, argv+argc, "--tac-regen-all")) {
- regenerateTAC(flags);
+ regenerateTACNI(flags);
return 0;
} else if (cmdOptionExists(argv, argv+argc, "--tac-restore-db")) {
restoreTACDB();
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;
fprintf(stderr, "Failed to generate NI file [%s]\n", pkg.c_str());
return -1;
}
- ret = createTACPackage(pkg, flags);
+ ret = createTACPkgRoot(pkg, flags);
if (ret == TAC_ERROR_INVALID_PACKAGE) {
fprintf(stderr, "Failed to get root path from [%s]\n", pkg.c_str());
return -1;
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.