From fd7f305ffd99916d8e8936a1f480e7ad3c1c9ffc Mon Sep 17 00:00:00 2001 From: "j-h.choi" Date: Wed, 27 Nov 2019 16:35:20 +0900 Subject: [PATCH] Code cleanup --- Managed/Dotnet.Launcher/Dotnet.Launcher.csproj | 1 - NativeLauncher/CMakeLists.txt | 4 +++ NativeLauncher/hydra/hydra_main.cc | 9 +++--- .../installer-plugin/prefer_nuget_cache_plugin.cc | 36 +++++++++++----------- NativeLauncher/launcher/dotnet/dotnet_launcher.cc | 8 ++++- NativeLauncher/launcher/main.cc | 5 +-- NativeLauncher/tool/ni_common.cc | 3 +- packaging/dotnet-launcher.spec | 1 + 8 files changed, 39 insertions(+), 28 deletions(-) diff --git a/Managed/Dotnet.Launcher/Dotnet.Launcher.csproj b/Managed/Dotnet.Launcher/Dotnet.Launcher.csproj index 21fb5d7..ae1a3a5 100644 --- a/Managed/Dotnet.Launcher/Dotnet.Launcher.csproj +++ b/Managed/Dotnet.Launcher/Dotnet.Launcher.csproj @@ -5,5 +5,4 @@ True Release - diff --git a/NativeLauncher/CMakeLists.txt b/NativeLauncher/CMakeLists.txt index a7363f1..2cc282f 100644 --- a/NativeLauncher/CMakeLists.txt +++ b/NativeLauncher/CMakeLists.txt @@ -31,6 +31,10 @@ IF(DEFINED RUNTIME_DIR) SET(EXTRA_CFLAGS_COMMON "${EXTRA_CFLAGS_COMMON} -DRUNTIME_DIR=${RUNTIME_DIR}") ENDIF(DEFINED RUNTIME_DIR) +IF(DEFINED FRAMEWORK_DIR) + SET(EXTRA_CFLAGS_COMMON "${EXTRA_CFLAGS_COMMON} -DFRAMEWORK_DIR=${FRAMEWORK_DIR}") +ENDIF(DEFINED FRAMEWORK_DIR) + IF(DEFINED CROSSGEN_PATH) SET(EXTRA_CFLAGS_COMMON "${EXTRA_CFLAGS_COMMON} -DCROSSGEN_PATH=${CROSSGEN_PATH}") ENDIF(DEFINED CROSSGEN_PATH) diff --git a/NativeLauncher/hydra/hydra_main.cc b/NativeLauncher/hydra/hydra_main.cc index 2966745..2ba1a26 100644 --- a/NativeLauncher/hydra/hydra_main.cc +++ b/NativeLauncher/hydra/hydra_main.cc @@ -70,12 +70,12 @@ static void preloadAssemblies() _DBG("preload of %s failed! (0x%08x)", path.c_str(), st); } else { _DBG("preload of %s succeded", path.c_str()); - } + } } } } -int main(int argc, char** argv) +int main(int argc, char** argv) { hydra_lifecycle_callback_s hydra_callback; @@ -87,7 +87,7 @@ int main(int argc, char** argv) hydra_callback.create = [](void* user_data) { _INFO("hydra : create"); }; - + hydra_callback.fork = [](int argc, char **argv, void* user_data) -> int { _INFO("hydra : fork"); void* launcher_h = dlopen(__dotnet_launcher, RTLD_NOW | RTLD_GLOBAL); @@ -102,7 +102,7 @@ int main(int argc, char** argv) return -1; } - return realMain(argc, argv, "default"); + return realMain(argc, argv, "default"); }; hydra_callback.terminate = [](void* user_data)-> int { @@ -112,4 +112,3 @@ int main(int argc, char** argv) return launchpad_hydra_main(argc, argv, &hydra_callback, nullptr); } - diff --git a/NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc b/NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc index da66f24..2343fd6 100644 --- a/NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc +++ b/NativeLauncher/installer-plugin/prefer_nuget_cache_plugin.cc @@ -149,16 +149,16 @@ void SHA256(std::string path, char outputBuffer[65]) free(buffer); } -void createSHA256Info(std::string sha256_info, std::string np) +void createSHA256Info(std::string sha256Info, std::string nugetPackage) { - std::ofstream ofs(sha256_info, std::ios::app); + std::ofstream ofs(sha256Info, std::ios::app); int assembly_count = 0; for (auto& npAssemblySha : nugetPackagesAssembliesSha) { std::string nuget_package_assembly = npAssemblySha.substr(0, npAssemblySha.rfind(':')); std::string nuget_package = nuget_package_assembly.substr(0, nuget_package_assembly.rfind(':')); std::string assembly = nuget_package_assembly.substr(nuget_package_assembly.rfind(':') + 1); std::string sha = npAssemblySha.substr(npAssemblySha.rfind(':') + 1); - if (!strcmp(nuget_package.c_str(), np.c_str())) { + if (!strcmp(nuget_package.c_str(), nugetPackage.c_str())) { ofs << assembly << ":" << sha << std::endl; assembly_count++; } @@ -167,7 +167,7 @@ void createSHA256Info(std::string sha256_info, std::string np) ofs.close(); } -int compareSHA256Info(std::string sha256_info, std::string np) +int compareSHA256Info(std::string sha256Info, std::string nugetPackage) { int compare_count = 0; int assembly_count = 0; @@ -177,9 +177,9 @@ int compareSHA256Info(std::string sha256_info, std::string np) std::string nuget_package = nuget_package_assembly.substr(0, nuget_package_assembly.rfind(':')); std::string assembly = nuget_package_assembly.substr(nuget_package_assembly.rfind(':') + 1); std::string sha = npAssemblySha.substr(npAssemblySha.rfind(':') + 1); - if (!strcmp(nuget_package.c_str(), np.c_str())) { + if (!strcmp(nuget_package.c_str(), nugetPackage.c_str())) { assembly_count++; - std::ifstream ifs(sha256_info); + std::ifstream ifs(sha256Info); std::string get_str; if (ifs.is_open()) { while (getline(ifs, get_str)) { @@ -194,13 +194,13 @@ int compareSHA256Info(std::string sha256_info, std::string np) } if (!strcmp(std::to_string(assembly_count).c_str(), std::to_string(compare_count).c_str()) && !strcmp(std::to_string(assembly_count).c_str(), sha256_count.c_str())) { - _INFO("Same nuget : %s", np.c_str()); + _INFO("Same nuget : %s", nugetPackage.c_str()); return 1; } return 0; } -int copyNCreateSymlink(std::string tac_version_dir, std::string np, bool is_create_tac_dir) +int copyNCreateSymlink(std::string tacVersionDir, std::string nugetPackage, bool isCreateTacDir) { uid_t g_uid = 0; gid_t g_gid = 0; @@ -219,15 +219,15 @@ int copyNCreateSymlink(std::string tac_version_dir, std::string np, bool is_crea std::string nuget_package_assembly = npAssemblySha.substr(0, npAssemblySha.rfind(':')); std::string nuget_package = nuget_package_assembly.substr(0, nuget_package_assembly.rfind(':')); std::string assembly = nuget_package_assembly.substr(nuget_package_assembly.rfind(':') + 1); - if (!strcmp(nuget_package.c_str(), np.c_str())) { + if (!strcmp(nuget_package.c_str(), nugetPackage.c_str())) { if (bf::exists(concatPath(binPath, assembly))) { - if (is_create_tac_dir) { - if (!copyFile(concatPath(binPath, assembly), concatPath(tac_version_dir, assembly))) { + if (isCreateTacDir) { + if (!copyFile(concatPath(binPath, assembly), concatPath(tacVersionDir, assembly))) { _ERR("Failed to copy of %s", assembly.c_str()); return -1; } } - bf::create_symlink(concatPath(tac_version_dir, assembly), concatPath(tac_dir, assembly)); + bf::create_symlink(concatPath(tacVersionDir, assembly), concatPath(tac_dir, assembly)); if (lchown(concatPath(tac_dir, assembly).c_str(), g_uid, g_gid)) { _ERR("Failed to change owner of: %s", concatPath(tac_dir, assembly).c_str()); return -1; @@ -244,13 +244,13 @@ int copyNCreateSymlink(std::string tac_version_dir, std::string np, bool is_crea void depsJsonCheck() { for (auto& npAssembly : depsJsonParser(rootPath, execName, getTPA())) { - std::string nugetPackage = npAssembly.substr(0, npAssembly.rfind(':')); - std::string assemblyName = npAssembly.substr(npAssembly.rfind(':') + 1); - tacDB.push_back(nugetPackage); + std::string nuget_package = npAssembly.substr(0, npAssembly.rfind(':')); + std::string assembly_name = npAssembly.substr(npAssembly.rfind(':') + 1); + tacDB.push_back(nuget_package); char buffer[65] = {0}; - SHA256(concatPath(binPath, assemblyName), buffer); - nugetPackagesAssembliesSha.push_back(nugetPackage + ":" + assemblyName + ":" + buffer); - _INFO("Assembly : [%s] / SHA256 : [%s]", assemblyName.c_str(), buffer); + SHA256(concatPath(binPath, assembly_name), buffer); + nugetPackagesAssembliesSha.push_back(nuget_package + ":" + assembly_name + ":" + buffer); + _INFO("Assembly : [%s] / SHA256 : [%s]", assembly_name.c_str(), buffer); } std::sort(tacDB.begin(), tacDB.end()); tacDB.erase(unique(tacDB.begin(), tacDB.end()), tacDB.end()); diff --git a/NativeLauncher/launcher/dotnet/dotnet_launcher.cc b/NativeLauncher/launcher/dotnet/dotnet_launcher.cc index 19677e9..5c6ec02 100644 --- a/NativeLauncher/launcher/dotnet/dotnet_launcher.cc +++ b/NativeLauncher/launcher/dotnet/dotnet_launcher.cc @@ -45,6 +45,12 @@ #include "path_manager.h" #include "log_manager.h" +#define __XSTR(x) #x +#define __STR(x) __XSTR(x) +static const char* __FRAMEWORK_DIR = __STR(FRAMEWORK_DIR); +#undef __STR +#undef __XSTR + namespace tizen { namespace runtime { namespace dotnetcore { @@ -223,7 +229,7 @@ static void initEnvForSpecialFolder() void CoreRuntime::preloadTypes() { - const static std::string initDllPath = "/usr/share/dotnet.tizen/framework/Tizen.Init.dll"; + const static std::string initDllPath = concatPath(__FRAMEWORK_DIR, "Tizen.Init.dll"); if (!isFileExist(initDllPath)) { _ERR("Failed to locate Tizen.Init.dll"); return; diff --git a/NativeLauncher/launcher/main.cc b/NativeLauncher/launcher/main.cc index 4e2222d..093e9af 100644 --- a/NativeLauncher/launcher/main.cc +++ b/NativeLauncher/launcher/main.cc @@ -134,10 +134,11 @@ extern "C" int realMain(int argc, char *argv[], const char* mode) } Launchpad.onCreate = [&runtime]() { - if (runtime->initialize(false) != 0) + if (runtime->initialize(false) != 0) { _ERR("Failed to initialized"); - else + } else { _INFO("Success to initialized"); + } }; Launchpad.onTerminate = [&runtime](const AppInfo& appInfo, int argc, char** argv) { diff --git a/NativeLauncher/tool/ni_common.cc b/NativeLauncher/tool/ni_common.cc index 1aebe55..318cc49 100644 --- a/NativeLauncher/tool/ni_common.cc +++ b/NativeLauncher/tool/ni_common.cc @@ -53,6 +53,7 @@ #define __XSTR(x) #x #define __STR(x) __XSTR(x) +static const char* __NATIVE_LIB_DIR = __STR(NATIVE_LIB_DIR); static const char* __CROSSGEN_PATH = __STR(CROSSGEN_PATH); static const char* __TAC_DIR = __STR(TAC_DIR); @@ -400,7 +401,7 @@ ni_error_e initNICommon(NiCommonOption* option) { #if defined(__arm__) // get interval value - const char* intervalFile = "/usr/share/dotnet.tizen/lib/crossgen_interval.txt"; + const static std::string intervalFile = concatPath(__NATIVE_LIB_DIR, "crossgen_interval.txt"); std::ifstream inFile(intervalFile); if (inFile) { fprintf(stderr, "crossgen_interval.txt is found\n"); diff --git a/packaging/dotnet-launcher.spec b/packaging/dotnet-launcher.spec index fb702a7..d1b849a 100644 --- a/packaging/dotnet-launcher.spec +++ b/packaging/dotnet-launcher.spec @@ -106,6 +106,7 @@ cmake \ -DCMAKE_BUILD_TYPE=%{_dotnet_build_conf} \ -DDEVICE_API_DIR=%{_device_api_dir} \ -DRUNTIME_DIR=%{_runtime_dir} \ + -DFRAMEWORK_DIR=%{_framework_dir} \ -DCROSSGEN_PATH=%{_runtime_dir}/crossgen \ -DINSTALL_MDPLUGIN_DIR=%{_install_mdplugin_dir} \ -DTAC_DIR=%{_tac_dir} \ -- 2.7.4