}
const Json::Value runtimeTargetName = root["runtimeTarget"]["name"];
const Json::Value nugetPackages = root["targets"][runtimeTargetName.asString().c_str()];
- std::vector<std::string> appDependencies;
- for (auto& nuget : nugetPackages.getMemberNames()) {
- if (strstr(nuget.c_str(), (execName.substr(0, execName.find(".Tizen."))).c_str()) != NULL ||
- strstr(nuget.c_str(), (execName.substr(0, execName.find(".dll"))).c_str()) != NULL) {
- const Json::Value assemblies = nugetPackages[nuget.c_str()]["runtime"];
- if (assemblies != Json::nullValue) {
- const Json::Value dependencies = nugetPackages[nuget.c_str()]["dependencies"];
- for (auto& dependency : dependencies.getMemberNames()) {
- appDependencies.push_back(dependency);
- }
- }
- }
- }
for (auto& nuget : nugetPackages.getMemberNames()) {
//Skip the nuget package related to Tizen
if (strstr(nuget.c_str(), TIZEN_DOTNET_NUGET) == NULL &&
strstr(nuget.c_str(), (execName.substr(0, execName.find(".dll"))).c_str()) == NULL) {
const Json::Value assemblies = nugetPackages[nuget.c_str()]["runtime"];
if (assemblies != Json::nullValue) {
- const Json::Value dependencies = nugetPackages[nuget.c_str()]["dependencies"];
- bool hasDependency = false;
- for (auto& dependency : dependencies.getMemberNames()) {
- //Skip the nugget package that is dependent on another nuget package
- if (strstr(dependency.c_str(), TIZEN_DOTNET_NUGET) == NULL &&
- strstr(dependency.c_str(), NET_STANDARD_LIBRARY_NUGET) == NULL) {
- hasDependency = true;
- for (auto& ad : appDependencies) {
- if (!strcmp(ad.c_str(), dependency.c_str())) {
- hasDependency = true;
- break;
- } else {
- hasDependency = false;
- }
- }
- if (hasDependency) break;
- }
- }
- if (!hasDependency) {
- // handle assembly even though that is included in the TPA.
- for (auto& assembly : assemblies.getMemberNames()) {
- std::string assemblyName = assembly.substr(assembly.rfind('/') + 1);
- parserData.push_back(nuget + ":" + assemblyName);
- _INFO("Nuget : [%s] / Assembly : [%s]", nuget.c_str(), assemblyName.c_str());
- }
+ // handle assembly even though that is included in the TPA.
+ for (auto& assembly : assemblies.getMemberNames()) {
+ std::string assemblyName = assembly.substr(assembly.rfind('/') + 1);
+ parserData.push_back(nuget + ":" + assemblyName);
+ _INFO("Nuget : [%s] / Assembly : [%s]", nuget.c_str(), assemblyName.c_str());
}
}
}
}
- appDependencies.clear();
ifs.close();
}
}