-// Copyright (C) 2009 CEA/DEN, EDF R&D
+// Copyright (C) 2009-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// Author: André RIBES - EDF R&D
+// Author: André RIBES - EDF R&D
+//
#include "Launcher_Job_Command.hxx"
-Launcher::Job_Command::Job_Command() {}
+#ifdef WITH_LIBBATCH
+#include <Batch/Batch_Constants.hxx>
+#endif
+
+#ifdef WNT
+#include <io.h>
+#define _chmod chmod
+#endif
+
+Launcher::Job_Command::Job_Command() {_job_type = "command";}
Launcher::Job_Command::~Job_Command() {}
{
#ifdef WITH_LIBBATCH
Batch::Parametre params = common_job_params();
- params[EXECUTABLE] = buildCommandScript(params, _launch_date);
+ params[Batch::EXECUTABLE] = buildCommandScript(params, _launch_date);
+ params[Batch::EXCLUSIVE] = false;
_batch_job->setParametre(params);
#endif
}
Launcher::Job_Command::buildCommandScript(Batch::Parametre params, std::string launch_date)
{
// parameters
- std::string work_directory = params[WORKDIR].str();
+ std::string work_directory = params[Batch::WORKDIR].str();
// File name
- std::string::size_type p1 = _job_file.find_last_of("/");
-
std::string launch_date_port_file = launch_date;
std::string launch_script = "/tmp/runCommand_" + _job_file_name + "_" + launch_date + ".sh";
std::ofstream launch_script_stream;
launch_script_stream.open(launch_script.c_str(), std::ofstream::out);
// Script
- launch_script_stream << "#! /bin/sh -f" << std::endl;
+ launch_script_stream << "#! /bin/bash -f" << std::endl;
launch_script_stream << "cd " << work_directory << std::endl;
+ launch_script_stream << "export PYTHONPATH=" << work_directory << ":$PYTHONPATH" << std::endl;
+ launch_script_stream << "export PATH=" << work_directory << ":$PATH" << std::endl;
if (_env_file != "")
{
std::string::size_type last = _env_file.find_last_of("/");