projects
/
platform
/
core
/
dotnet
/
launcher.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Changed the creation location of the NI file to configure smack for RPK
[platform/core/dotnet/launcher.git]
/
NativeLauncher
/
tool
/
ni_common.cc
diff --git
a/NativeLauncher/tool/ni_common.cc
b/NativeLauncher/tool/ni_common.cc
index
6ab3e10
..
bacf923
100644
(file)
--- a/
NativeLauncher/tool/ni_common.cc
+++ b/
NativeLauncher/tool/ni_common.cc
@@
-233,6
+233,7
@@
static bool createDirsAndCopyOwnerShip(std::string& target_path, const std::stri
static std::string getNIFilePath(const std::string& absDllPath, NIOption* opt)
{
std::string dllPath = absDllPath;
static std::string getNIFilePath(const std::string& absDllPath, NIOption* opt)
{
std::string dllPath = absDllPath;
+ std::string fileName = getFileName(absDllPath);
if (opt->flags & NI_FLAGS_APPNI) {
std::string niDirPath;
std::string niTmpDirPath;
if (opt->flags & NI_FLAGS_APPNI) {
std::string niDirPath;
std::string niTmpDirPath;
@@
-253,10
+254,13
@@
static std::string getNIFilePath(const std::string& absDllPath, NIOption* opt)
niTmpDirPath = prevPath;
_SERR("fail to create dir (%s)", niTmpDirPath.c_str());
}
niTmpDirPath = prevPath;
_SERR("fail to create dir (%s)", niTmpDirPath.c_str());
}
- dllPath = concatPath(niTmpDirPath,
getFileName(absDllPath)
);
+ dllPath = concatPath(niTmpDirPath,
fileName
);
} else {
} else {
- dllPath = concatPath(niDirPath,
getFileName(absDllPath)
);
+ dllPath = concatPath(niDirPath,
fileName
);
}
}
+ } else if (opt->flags & NI_FLAGS_RESOURCE_NI) {
+ std::string rpkDir = concatPath(__pm->getAppRootPath(), APP_NI_SUB_DIR);
+ dllPath = createDir(rpkDir) ? concatPath(rpkDir, fileName) : concatPath(__pm->getAppRootPath(), fileName);
}
size_t index = dllPath.find_last_of(".");
}
size_t index = dllPath.find_last_of(".");
@@
-466,6
+470,11
@@
static ni_error_e crossgen2PostAction(const std::string& dllPath, const std::str
}
}
}
}
+ if (opt->flags & NI_FLAGS_RESOURCE_NI) {
+ moveFile(niPath, changeExtension(dllPath, ".dll", ".ni.dll"));
+ removeAll(concatPath(__pm->getAppRootPath(), APP_NI_SUB_DIR));
+ }
+
if (!(opt->flags & NI_FLAGS_INPUT_BUBBLE && opt->flags & NI_FLAGS_NO_PIPELINE)) {
_SOUT("Native image %s generated successfully.", outFile.c_str());
}
if (!(opt->flags & NI_FLAGS_INPUT_BUBBLE && opt->flags & NI_FLAGS_NO_PIPELINE)) {
_SOUT("Native image %s generated successfully.", outFile.c_str());
}
@@
-825,7
+834,7
@@
static ni_error_e removeAndCreateNI(const char* pkgId, NIOption* pOptions)
}
_SOUT("Complete make native image for pkg (%s)", pkgId);
}
_SOUT("Complete make native image for pkg (%s)", pkgId);
- return NI_ERROR_NONE;
+ return NI_ERROR_NONE;
}
static bool isReadOnlyPkg(std::string pkgId)
}
static bool isReadOnlyPkg(std::string pkgId)
@@
-1026,7
+1035,6
@@
ni_error_e createNIUnderTAC(const std::string& targetPath, const std::string& re
return NI_ERROR_NONE;
}
return NI_ERROR_NONE;
}
-
ni_error_e createNIUnderDirs(const std::string& rootPaths, NIOption* opt)
{
ni_error_e ret = NI_ERROR_NONE;
ni_error_e createNIUnderDirs(const std::string& rootPaths, NIOption* opt)
{
ni_error_e ret = NI_ERROR_NONE;
@@
-1082,6
+1090,7
@@
ni_error_e createNIUnderPkgRoot(const std::string& pkgId, NIOption* opt)
_SERR("Failed to get root path from [%s]", pkgId.c_str());
return NI_ERROR_INVALID_PACKAGE;
}
_SERR("Failed to get root path from [%s]", pkgId.c_str());
return NI_ERROR_INVALID_PACKAGE;
}
+ __pm->setAppRootPath(rootPath);
char* extraDllPaths = pluginGetExtraDllPath();
if (extraDllPaths && extraDllPaths[0] != '\0') {
char* extraDllPaths = pluginGetExtraDllPath();
if (extraDllPaths && extraDllPaths[0] != '\0') {
@@
-1091,7
+1100,10
@@
ni_error_e createNIUnderPkgRoot(const std::string& pkgId, NIOption* opt)
std::string targetDirs;
if (isRPK(pkgId)) {
std::string targetDirs;
if (isRPK(pkgId)) {
- opt->flags &= ~NI_FLAGS_APPNI;
+ opt->flags &= ~NI_FLAGS_APPNI; // added to exclude logic of APP_NI
+ opt->flags |= NI_FLAGS_RESOURCE_NI; // added flag for RPK type
+ opt->flags |= NI_FLAGS_NO_PIPELINE; // added the flag to set the output path
+
std::string paths = getResourcePaths(rootPath);
if (paths.empty()) {
_SERR("Failed to get rpk paths from [%s]", pkgId.c_str());
std::string paths = getResourcePaths(rootPath);
if (paths.empty()) {
_SERR("Failed to get rpk paths from [%s]", pkgId.c_str());
@@
-1099,9
+1111,8
@@
ni_error_e createNIUnderPkgRoot(const std::string& pkgId, NIOption* opt)
}
targetDirs = paths;
} else {
}
targetDirs = paths;
} else {
- __pm->setAppRootPath(rootPath);
-
opt->flags |= NI_FLAGS_APPNI;
opt->flags |= NI_FLAGS_APPNI;
+ opt->flags &= ~NI_FLAGS_RESOURCE_NI; // added to exclude logic of RESOURCE_NI
if (isReadOnlyArea(rootPath)) {
opt->flags |= NI_FLAGS_APP_UNDER_RO_AREA;
if (isReadOnlyArea(rootPath)) {
opt->flags |= NI_FLAGS_APP_UNDER_RO_AREA;
@@
-1189,7
+1200,7
@@
ni_error_e removeNIUnderPkgRoot(const std::string& pkgId)
if (isDirectory(path)) {
removeNIUnderDirs(path);
}
if (isDirectory(path)) {
removeNIUnderDirs(path);
}
- }
+ }
} else {
__pm->setAppRootPath(rootPath);
} else {
__pm->setAppRootPath(rootPath);