![]() |
|
PhoenixGenerator
2.0.4
Set of tools to generate code
|
#include <ctime>#include "directory_replace_placeholder.h"#include "simple_project_generator.h"#include "parserClassConfig.h"#include "CppTraitFromString.h"#include "CppTraitSetter.h"#include "CppTraitGetter.h"#include "CppTraitCopy.h"#include "CppTraitTypeStream.h"#include "CppTraitDataStream.h"#include "CppTraitConfigStream.h"#include "CppTraitCheckStream.h"#include "PTraitBackendManager.h"#include "WrapperTraitGetterSetter.h"#include "WrapperTraitTypeStream.h"#include "WrapperTraitDataStream.h"#include "PWrapperTraitBackendManager.h"#include "generator_class_cpp.h"#include "wrapper_generator_struct.h"#include "simpleClassGenerator.h"
Include dependency graph for simple_project_generator.cpp:Go to the source code of this file.
Functions | |
| PMapString | generateAllReplacementData (const ProjectConfig &projectConfig) |
| Generate all replacement data for project generation. | |
| PString | generateAuthorListPixi (const ProjectConfig &projectConfig) |
| Generate author list for Pixi. | |
| PString | generateCmakeFindBody (const ProjectConfig &projectConfig) |
| Generate CMake find_package commands for non-Phoenix dependencies. | |
| PString | generateKeywordsBody (const ProjectConfig &projectConfig) |
| Generate keywords list for codemeta.json. | |
| PString | generateMaintainer (const ProjectConfig &projectConfig) |
| Generate maintainer information for codemeta.json. | |
| PString | generateMarkdownDepList (const ProjectConfig &projectConfig) |
| Generate markdown list of Phoenix dependencies. | |
| PString | generatePhoenixFindModule (const ProjectConfig &projectConfig) |
| Generate Phoenix find module list. | |
| PString | generatePhoenixGlobalDep (const ProjectConfig &projectConfig) |
| Generate Phoenix global dependencies variable. | |
| PString | generatePhoenixPullExtraModule (const ProjectConfig &projectConfig) |
| Generate Phoenix pull_extra_module commands. | |
| PString | generatePixiBody (const ProjectConfig &projectConfig) |
| Generate Pixi dependencies. | |
| PString | generateProjectAuthorList (const ProjectConfig &projectConfig) |
| Generate project author list for codemeta.json. | |
| PString | generateProjectContributorList (const ProjectConfig &projectConfig) |
| Generate project contributor list for codemeta.json. | |
| PMapString | generateReplacementMap (const ProjectConfig &projectConfig, const PString &cmakeFindBody, const PString &phoenixPullExtraModule, const PString &phoenixFindModule, const PString &phoenixGlobalDep, const PString &targetLinkBody, const PString &pixiBody, const PString &markdownDepList, const PString &authorListPixi, const PString &projectAuthorList, const PString &projectContributorList, const PString &maintainer, const PString &keywordsBody, const PString &dateStr) |
| Generate the replacement map for placeholders. | |
| PString | generateTargetLinkBody (const ProjectConfig &projectConfig) |
| Generate target_link_libraries command. | |
| bool | isPhoenixDependency (const PString &packageName) |
| Check if a package is a Phoenix dependency. | |
| bool | simple_project_generate_source (const ProjectParam &projectParam) |
| Save generated sources of project. | |
| bool | simple_project_generator (const PPath &descriptionFile, const PVecPath &vecClassConfigFile, const PString &projectType, const GeneratorMode &mode) |
| Create a simple project from a configuration. | |
| bool | simple_project_load_config (ProjectParam ¶m, const PPath &pdataDir, const PVecPath &vecClassConfigFile) |
| Load configuration pdata of generated sources. | |
| PMapString generateAllReplacementData | ( | const ProjectConfig & | projectConfig | ) |
Generate all replacement data for project generation.
| projectConfig | : project configuration |
Definition at line 322 of file simple_project_generator.cpp.
References generateAuthorListPixi(), generateCmakeFindBody(), generateKeywordsBody(), generateMaintainer(), generateMarkdownDepList(), generatePhoenixFindModule(), generatePhoenixGlobalDep(), generatePhoenixPullExtraModule(), generatePixiBody(), generateProjectAuthorList(), generateProjectContributorList(), generateReplacementMap(), and generateTargetLinkBody().
Referenced by simple_project_generator().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generateAuthorListPixi | ( | const ProjectConfig & | projectConfig | ) |
Generate author list for Pixi.
| projectConfig | : project configuration |
Definition at line 173 of file simple_project_generator.cpp.
References ProjectConfig::authorMap, PProjectMembers::getEmail(), PProjectMembers::getFirstName(), and PProjectMembers::getLastName().
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generateCmakeFindBody | ( | const ProjectConfig & | projectConfig | ) |
Generate CMake find_package commands for non-Phoenix dependencies.
| projectConfig | : project configuration |
Definition at line 51 of file simple_project_generator.cpp.
References PPackageAttribute::getCmakeFind(), PPackageAttribute::getName(), isPhoenixDependency(), and ProjectConfig::mapDependencies.
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generateKeywordsBody | ( | const ProjectConfig & | projectConfig | ) |
Generate keywords list for codemeta.json.
| projectConfig | : project configuration |
Definition at line 256 of file simple_project_generator.cpp.
References ProjectConfig::keywordList.
Referenced by generateAllReplacementData().
Here is the caller graph for this function:| PString generateMaintainer | ( | const ProjectConfig & | projectConfig | ) |
Generate maintainer information for codemeta.json.
| projectConfig | : project configuration |
Definition at line 238 of file simple_project_generator.cpp.
References PProjectMembers::getAffiliation(), PProjectMembers::getEmail(), PProjectMembers::getFirstName(), PProjectMembers::getLastName(), and ProjectConfig::maintainerMap.
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generateMarkdownDepList | ( | const ProjectConfig & | projectConfig | ) |
Generate markdown list of Phoenix dependencies.
| projectConfig | : project configuration |
Definition at line 158 of file simple_project_generator.cpp.
References PPackageAttribute::getName(), PPackageAttribute::getUrl(), isPhoenixDependency(), and ProjectConfig::mapDependencies.
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generatePhoenixFindModule | ( | const ProjectConfig & | projectConfig | ) |
Generate Phoenix find module list.
| projectConfig | : project configuration |
Definition at line 83 of file simple_project_generator.cpp.
References PPackageAttribute::getName(), isPhoenixDependency(), and ProjectConfig::mapDependencies.
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generatePhoenixGlobalDep | ( | const ProjectConfig & | projectConfig | ) |
Generate Phoenix global dependencies variable.
| projectConfig | : project configuration |
Definition at line 98 of file simple_project_generator.cpp.
References PPackageAttribute::getCmakeLib(), PPackageAttribute::getName(), isPhoenixDependency(), ProjectConfig::mapDependencies, and ProjectConfig::name.
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generatePhoenixPullExtraModule | ( | const ProjectConfig & | projectConfig | ) |
Generate Phoenix pull_extra_module commands.
| projectConfig | : project configuration |
Definition at line 68 of file simple_project_generator.cpp.
References PPackageAttribute::getName(), PPackageAttribute::getUrl(), isPhoenixDependency(), and ProjectConfig::mapDependencies.
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generatePixiBody | ( | const ProjectConfig & | projectConfig | ) |
Generate Pixi dependencies.
| projectConfig | : project configuration |
Definition at line 133 of file simple_project_generator.cpp.
References PPackageAttribute::getMaxVersion(), PPackageAttribute::getMinVersion(), PPackageAttribute::getPixiName(), and ProjectConfig::mapDependencies.
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generateProjectAuthorList | ( | const ProjectConfig & | projectConfig | ) |
Generate project author list for codemeta.json.
| projectConfig | : project configuration |
Definition at line 188 of file simple_project_generator.cpp.
References ProjectConfig::authorMap, PProjectMembers::getAffiliation(), PProjectMembers::getEmail(), PProjectMembers::getFirstName(), and PProjectMembers::getLastName().
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PString generateProjectContributorList | ( | const ProjectConfig & | projectConfig | ) |
Generate project contributor list for codemeta.json.
| projectConfig | : project configuration |
Definition at line 213 of file simple_project_generator.cpp.
References ProjectConfig::contributorMap, PProjectMembers::getAffiliation(), PProjectMembers::getEmail(), PProjectMembers::getFirstName(), and PProjectMembers::getLastName().
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| PMapString generateReplacementMap | ( | const ProjectConfig & | projectConfig, |
| const PString & | cmakeFindBody, | ||
| const PString & | phoenixPullExtraModule, | ||
| const PString & | phoenixFindModule, | ||
| const PString & | phoenixGlobalDep, | ||
| const PString & | targetLinkBody, | ||
| const PString & | pixiBody, | ||
| const PString & | markdownDepList, | ||
| const PString & | authorListPixi, | ||
| const PString & | projectAuthorList, | ||
| const PString & | projectContributorList, | ||
| const PString & | maintainer, | ||
| const PString & | keywordsBody, | ||
| const PString & | dateStr ) |
Generate the replacement map for placeholders.
| projectConfig | : project configuration |
| cmakeFindBody | : CMake find_package commands |
| phoenixPullExtraModule | : Phoenix pull_extra_module commands |
| phoenixFindModule | : Phoenix find module list |
| phoenixGlobalDep | : Phoenix global dependencies variable |
| targetLinkBody | : target_link_libraries command |
| pixiBody | : Pixi dependencies |
| authorListPixi | : author list for Pixi |
| projectAuthorList | : project author list |
| projectContributorList | : project contributor list |
| maintainer | : maintainer information |
| keywordsBody | : keywords list |
| dateStr | : creation date string |
Definition at line 285 of file simple_project_generator.cpp.
References ProjectConfig::ciToolkitUrl, ProjectConfig::ciToolkitVersion, ProjectConfig::description, ProjectConfig::name, ProjectConfig::runnerTag, ProjectConfig::url, and ProjectConfig::version.
Referenced by generateAllReplacementData().
Here is the caller graph for this function:| PString generateTargetLinkBody | ( | const ProjectConfig & | projectConfig | ) |
Generate target_link_libraries command.
| projectConfig | : project configuration |
Definition at line 116 of file simple_project_generator.cpp.
References PPackageAttribute::getCmakeLib(), PPackageAttribute::getName(), isPhoenixDependency(), ProjectConfig::mapDependencies, and ProjectConfig::name.
Referenced by generateAllReplacementData().
Here is the call graph for this function:
Here is the caller graph for this function:| bool isPhoenixDependency | ( | const PString & | packageName | ) |
Check if a package is a Phoenix dependency.
| packageName | : name of the package |
Definition at line 43 of file simple_project_generator.cpp.
Referenced by generateCmakeFindBody(), generateMarkdownDepList(), generatePhoenixFindModule(), generatePhoenixGlobalDep(), generatePhoenixPullExtraModule(), and generateTargetLinkBody().
Here is the caller graph for this function:| bool simple_project_generate_source | ( | const ProjectParam & | projectParam | ) |
Save generated sources of project.
| projectParam | : ProjectParam to be used |
Definition at line 379 of file simple_project_generator.cpp.
References PTraitBackendManager::addTraitBackend(), PWrapperTraitBackendManager::addTraitBackend(), ProjectType::CPP, generator_class_full(), ProjectParam::mode, GeneratorMode::type, ProjectType::WRAPPER, and wrapper_generator_class_full().
Referenced by simple_project_generator().
Here is the call graph for this function:
Here is the caller graph for this function:| bool simple_project_generator | ( | const PPath & | descriptionFile, |
| const PVecPath & | vecClassConfigFile, | ||
| const PString & | projectType, | ||
| const GeneratorMode & | mode ) |
Create a simple project from a configuration.
| descriptionFile | : description of the full project |
| vecClassConfigFile | : vector of class configuration files (.pdata files) |
| projectType | : type of the project (SimpleCpp) |
| mode | : all modes of the generator (data/check/type/config stream) |
Definition at line 408 of file simple_project_generator.cpp.
References ProjectType::CPP, generateAllReplacementData(), generateClassGeneratorScript(), ProjectParam::mode, ProjectConfig::name, ProjectParam::name, ProjectParam::outputProjectDir, ProjectParam::outputSourceDir, ProjectParam::outputTestDir, project_generator_loadConfig(), project_generator_loadPackageInfo(), simple_project_generate_source(), simple_project_load_config(), GeneratorMode::type, ProjectConfig::version, ProjectParam::version, and ProjectType::WRAPPER.
Here is the call graph for this function:| bool simple_project_load_config | ( | ProjectParam & | param, |
| const PPath & | pdataDir, | ||
| const PVecPath & | vecClassConfigFile ) |
Load configuration pdata of generated sources.
| [out] | param | : ProjectParam to be updated |
| pdataDir | : directory where to save pdata configuration | |
| vecClassConfigFile | : vector of class configuration files (.pdata files) |
Definition at line 354 of file simple_project_generator.cpp.
References PDataConfig::getFileName(), PDataConfig::getVecClassConfig(), PDataConfig::getVecInclude(), parserClassConfig(), and ProjectParam::vecDataConfig.
Referenced by simple_project_generator().
Here is the call graph for this function:
Here is the caller graph for this function: