Generate a full python wrapper project with PhoenixDataStream and PhoenixTypeStream.
181 std::vector<PClassConfig> vecClassConfig;
183 std::cerr <<
"project_wrapper_generator : can't load file '" << configFile <<
"'" << std::endl;
190 PPath mainProjectDir(wrapperConfig.name);
191 if(!mainProjectDir.createDirectory()){
192 std::cerr <<
"project_wrapper_generator : cannot create main directory of project '"<<mainProjectDir<<
"'" << std::endl;
196 PPath mainProjectModule(mainProjectDir /
PPath(wrapperConfig.name.toLower()));
197 if(!mainProjectModule.createDirectory()){
198 std::cerr <<
"project_generator : cannot create module directory of project '"<<mainProjectModule<<
"'" << std::endl;
202 PPath readmeFile(mainProjectDir /
PPath(
"README.md"));
207 PPath setupFile(mainProjectDir /
PPath(
"setup.py"));
210 PPath pyprojectFile(mainProjectDir /
PPath(
"pyproject.toml"));
std::vector< PPath > PVecPath
Path of a directory or a file.
PPath & eraseExtension()
Erase the extension of the PPath.
PPath getFileName() const
Get the name of the file, from last char to /.
PString toLower() const
Convert PString in lower case.
bool parserClassConfig(std::vector< PClassConfig > &listClassConfig, PVecPath &listInclude, const PPath &fileName)
Parser list class config.
Configuration of the project.
PString name
Name of the project.
bool project_wrapper_generator_setuppy(const PPath &fileName, const ProjectConfig &projectConfig, const PString &baseImplInclude, const std::vector< PClassConfig > &vecClassConfig, const PVecPath &vecInclude)
Create the readme of the project directory.
bool project_wrapper_generator_readme(const PPath &fileName, const ProjectConfig &projectConfig)
Create the readme of the project directory.
bool project_wrapper_generator_pyprojectToml(const PPath &fileName, const ProjectConfig &projectConfig, const PString &baseImplInclude, const std::vector< PClassConfig > &vecClassConfig, const PVecPath &vecInclude)
Create the readme of the project directory.
ProjectConfig project_createWrapperConfig(const ProjectConfig &projectConfig)
Create the config of the wrapper.
void updateVecClassConfig(std::vector< PClassConfig > &vecClassConfig)
Update the vector of class configuration.
bool project_wrapper_moduleGenerator(const PPath &modulePath, const ProjectConfig &projectConfig, const PString &baseImplInclude, const std::vector< PClassConfig > &vecClassConfig, const PVecPath &vecInclude)
Create the wrapper module.
bool project_wrapper_moduleGeneratorTest(const PPath &projectPath, const ProjectConfig &projectConfig, const PString &moduleName, const std::vector< PClassConfig > &vecClassConfig, const PVecPath &vecInclude)
Generate the unit tests of the project.