From: jean-pierre roux Date: Wed, 6 Apr 2011 17:46:42 +0000 (+0000) Subject: creaNewProject creates new Package at the same time X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=7d69661830ce8eef99ecbd299f8a0e174d97b1a6;p=crea.git creaNewProject creates new Package at the same time (new trick : Linux / MacOS only -for the moment-) --- diff --git a/appli/creaNewProject/creaNewProject.bat.in b/appli/creaNewProject/creaNewProject.bat.in index 9c0bba8..1b31657 100755 --- a/appli/creaNewProject/creaNewProject.bat.in +++ b/appli/creaNewProject/creaNewProject.bat.in @@ -35,9 +35,14 @@ echo %ERRORLEVEL% rem %BINPATH%\creaSed "\"%OUTPUT%\\%PROJECT%\CMakeLists.txt.in"\"" "PROJECT_NAME" "%PROJECT%" > %OUTPUT%\%PROJECT%\CMakeLists.txt rem del "%OUTPUT%\%PROJECT%\CMakeLists.txt.in" -echo "Done!!!!!!" -echo "Edit the file '%OUTPUT%\%PROJECT%\CMakeLists.txt' to customize your project" - +echo +echo "New Project created !" +echo +echo "==>" +echo "==> Edit the file '%OUTPUT%\%PROJECT%\CMakeLists.txt' to customize your project" +echo "==>" +echo +echo goto END diff --git a/appli/creaNewProject/creaNewProject.cpp b/appli/creaNewProject/creaNewProject.cpp index 8cafa23..d12400d 100644 --- a/appli/creaNewProject/creaNewProject.cpp +++ b/appli/creaNewProject/creaNewProject.cpp @@ -29,16 +29,21 @@ bool myApp::OnInit( ) _T("creaNewProject"), _T("New")); if (name.IsEmpty()) return false; + + wxString description = wxGetTextFromUser(_T("Enter Package Description (html format)"), + _T("create New Package"), + _T("NO_DESCRIPTION")); + if (description.IsEmpty()) return false; char * install_Dir = getenv("bbtk_DIR"); std::string execGUICreateNewPackage(install_Dir); execGUICreateNewPackage = "bbi " + execGUICreateNewPackage; - + #if(_WIN32) std::string command("creaNewProject.bat "); std::string command1("creaSed.exe "); std::string command2("del "); - + command += "\"" + crea::wx2std(dir) + "\" \"" + crea::wx2std(name) + "\""; command1 += "\"" + crea::wx2std(dir)+"\\"+crea::wx2std(name)+"\\CMakeLists.txt.in\" " + "NameOfTheProject " + crea::wx2std(name) + "> \"" + crea::wx2std(dir)+"\\"+crea::wx2std(name)+"\\CMakeLists.txt\""; command2 += "\"" + crea::wx2std(dir)+"\\"+crea::wx2std(name)+"\\CMakeLists.txt.in\""; @@ -46,9 +51,11 @@ execGUICreateNewPackage = "bbi " + execGUICreateNewPackage; { system ( command1.c_str() ); system ( command2.c_str() ); - wxMessageBox(_T("Done !"),_T("creaNewProject"), + wxMessageBox(_T("New Project created !"),_T("creaNewProject"), wxOK | wxICON_INFORMATION); // Create a Package at the same time. JPR + + /// \TODO rewrite, according to new trick execGUICreateNewPackage += "\..\..\..\share\bbtk\bbs\toolsbbtk\appli\GUICreatePackage.bbs"; system(execGUICreateNewPackage.c_str()); } @@ -56,30 +63,44 @@ execGUICreateNewPackage = "bbi " + execGUICreateNewPackage; { wxString err(_T("An error occured while running '")); err += crea::std2wx(command) + _T("'"); - wxMessageBox(err,_T("creaNewProject"),wxOK | wxICON_ERROR); + wxMessageBox(err,_T("creaNewProject"),wxOK | wxICON_ERROR); } + +// ------ LINUX / MacOS + #else std::string command("creaNewProject.sh "); command += "\"" + crea::wx2std(dir) + "\"" +" " + crea::wx2std(name); + if ( ! system ( command.c_str() ) ) { - wxMessageBox(_T("Done !"),_T("creaNewProject"), + wxMessageBox(_T("New Project created !"),_T("creaNewProject"), wxOK | wxICON_INFORMATION); + // Create a Package at the same time. JPR - execGUICreateNewPackage += "/../../../share/bbtk/bbs/toolsbbtk/appli/GUICreatePackage.bbs"; - system(execGUICreateNewPackage.c_str()); + + //execGUICreateNewPackage += "/../../../share/bbtk/bbs/toolsbbtk/appli/GUICreatePackage.bbs"; + //system(execGUICreateNewPackage.c_str()); + + // or, better, new trick : + // bbCreatePackage nomDirectory nomPackage author Description + + char *author = getenv("USER"); + std::string nomDirectory = crea::wx2std(dir) + "/" + crea::wx2std(name); + std::string nomPackageDirectory = nomDirectory + "/" + "bbtk_" + crea::wx2std(name) + "_PKG"; + std::string bbCreatePackage("bbCreatePackage "); + bbCreatePackage += nomDirectory + " " + crea::wx2std(name) + " " + author + " " + crea::wx2std(description); + system (bbCreatePackage.c_str()); } - else + else { wxString err(_T("An error occured while running '")); err += crea::std2wx(command) + _T("'"); - wxMessageBox(err,_T("creaNewProject"),wxOK | wxICON_ERROR); + wxMessageBox(err,_T("creaNewProject"),wxOK | wxICON_ERROR); } - -#endif - +#endif return false; } diff --git a/appli/creaNewProject/creaNewProject.sh.in b/appli/creaNewProject/creaNewProject.sh.in index 2abd4eb..f9d229e 100755 --- a/appli/creaNewProject/creaNewProject.sh.in +++ b/appli/creaNewProject/creaNewProject.sh.in @@ -3,7 +3,7 @@ if [ $# -lt 2 ] then - echo "usage : creaNewProject " + echo "usage : creaNewProject " exit fi @@ -21,17 +21,17 @@ echo "bin = " $BINPATH echo "input = " $INPUT echo "project= " $PROJECT -if [ -d $OUTPUT/${PROJECT} ] +if [ -d $OUTPUT/${PROJECT} ] then - echo "ERROR : Directory '$OUTPUT/${PROJECT}' already exists !" + echo "ERROR : Directory '$OUTPUT/${PROJECT}' already exists !" exit 1 fi echo "** Creating new project '$PROJECT' in folder '$OUTPUT'" -if [ ! -d $OUTPUT ] +if [ ! -d $OUTPUT ] then - echo "ERROR : Directory '$OUTPUT' does not exist !" + echo "ERROR : Directory '$OUTPUT' does not exist !" exit 1 fi @@ -41,5 +41,11 @@ cd $OUTPUT/$PROJECT cat CMakeLists.txt.in | sed s,PROJECT_NAME,"${PROJECT}", > CMakeLists.txt rm CMakeLists.txt.in -echo "Done !" -echo "Edit the file '$OUTPUT/${PROJECT}/CMakeLists.txt' to customize your project" +echo +echo "New Project created !" +echo +echo "==>" +echo "==> Edit the file '$OUTPUT/${PROJECT}/CMakeLists.txt' to customize your project" +echo "==>" +echo +echo